Gabriela Gibson wrote on Mon, Mar 04, 2013 at 23:07:47 +0000: > On 04/03/13 22:57, Daniel Shahaf wrote: >> Gabriela Gibson wrote on Mon, Mar 04, 2013 at 22:33:23 +0000: >>> What I've also found during my experiments at the weekend is that >>> apr-related entries in LD_FLAGS are edited while configure runs. So: >>> >>> LD_FLAGS="-L/usr/local/serf/lib -L/usr/local/apr/lib" ./configure \ >>> --enable-maintainer-mode --with-serf=/usr/local/serf >>> >>> failed. Examining config.log showed that the failure appeared to occur >>> in the link test, and that the entry for "-L/usr/local/apr/lib" has been >>> removed. >>> >> >> Which link test was it? It's hard to make any comment about the >> situation without seeing the code and the reason it strips -L flags. >> (Is that our code, or something in autoconf's m4 library, that strips >> the -L flags?) > > I think there is only check for serf.h, and one check for compiling. > The compile test has an extra "-L/usr/local/serf/lib" flag, so I've > mentally referred to it as "the link test". > > I've provided the entire serf section of the config.log file in a later > email, but the section I was referring to is: > >> configure:5510: checking for serf_context_create in -lserf-1 >> configure:5535: gcc -o conftest -g -O2 -g -O2 -Wall -Wmissing-prototypes >> -Wstrict-prototypes -Wmissing-declarations -pthread -D_REENTRANT >> -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/home/g/trunk3/apr/include >> -I/home/g/trunk3/apr-util/include -I/usr/local/serf/include/serf-1 >> -L/usr/local/serf/lib conftest.c -lserf-1 -L/home/g/trunk3/apr-util >> -laprutil-1 -L/home/g/trunk3/apr -lapr-1 -lz >&5 >> conftest.c:28:1: warning: function declaration isn't a prototype >> [-Wstrict-prototypes] >> conftest.c:30:1: warning: function declaration isn't a prototype >> [-Wstrict-prototypes] >> /usr/bin/ld: cannot find -laprutil-1 >> /usr/bin/ld: cannot find -lapr-1 >> collect2: ld returned 1 exit status >
Thanks. >>> The only way I could make the serf link test pass (and also add that >>> "-L/usr/local/apr/lib" flag) was to supply "--with-apr --with-apr-util" and >>> that was what my patch documented. >>> I think that's the correct solution in your case: passing --with-apr=$ARG allows configure to ask apr-1-config for the LDFLAGS value (so you won't need to hardcode it in your configure invocation). It's not really related to serf, though. As I understand it, the issue is entirely about making configure find and use the correct libapr: that one should preferably point configure at libapr via --with-apr=FOO, not via setting LDFLAGS. Does that make sense? >> >> That's.. odd. Adding "--with-apr" (without argument) should actually be >> a no-op, since APR is a mandatory dependency. >> > Ah, bad comms on my part. I've always used --with-apr=/usr/local/apr > --with apr-util=/usr/local/apr, rather than naked arguments. I didn't > realise that was misleading. "--with-apr" is valid and interpreted as "--with-apr=yes". (Same for any --with-*)