I have an autotools project that compiles just fine on the Mac, but under Linux (Ubuntu 12.04.1 LTS) the command lines passed to gcc
have the libraries out of order
I solved a similar problem. The ./configure script in question was unable to complete a check for presence of a function due to a missing symbol. If I added the correct library to $LDFLAGS
or such like, it was added before the .c
file and the library was ignored.
The names of functions to check are first added to ac_func_list
and then there is a loop in the body of the ./configure
that for each of them calls ac_fn_c_check_func ()
and that in turns calls ac_fn_c_try_link ()
the checking function ac_fn_c_try_link () uses a command of this pattern:
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS \
$LDFLAGS conftest.$ac_ext $LIBS >&5'
$LDADD
is completely ignored here. Therefore the only solution here is to add the -l
flags to variable $LIBS
.