autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: checking for libraries that link but do not run


From: Ben Pfaff
Subject: Re: checking for libraries that link but do not run
Date: Mon, 05 Oct 2009 10:57:54 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Bob Friesenhahn <address@hidden> writes:

> On Mon, 5 Oct 2009, Ben Pfaff wrote:
>>
>> To try to head off the problem, I'm thinking about putting
>> something like this after each command that adds to LIBS:
>>    AC_RUN_IFELSE([AC_LANG_PROGRAM([], [])],
>>                  [:],
>>                  [AC_MSG_FAILURE([Cannot run program linked against 
>> $LIBS.])],
>>                  [:])
>>
>> Am I on the right track?  It seems to me that there should
>> already be a mechanism to help with this, but I do not see one.
>
> This is a rather complex issue since the problem can be corrected by
> LD_LIBRARY_LFLAGS, ldconfig/crle, by formally installing the library,
> or by libtool at link time.  Since autoconf does not use libtool in
> its testing, it does not benefit from the extra smarts provided by
> libtool, and so autoconf tests are more fragile.  For example,
> autoconf can't know about library dependencies that libtool may be
> able to figure out later (via installed .la files) and so the
> configure script developer needs to provide way to add all of these
> dependencies to LIBS.
>
> In summary, your idea seems nice, but it might block builds which
> would otherwise succeed and work.

If your advice is correct, then any use of AC_RUN_IFELSE (if any
libraries are added to LIBS) must be incorrect, because Autoconf
does not have the correct knowledge to run a program.  It's hard
for me to believe that, because the Autoconf manual only mentions
problems with AC_RUN_IFELSE when cross-compiling and doesn't say
anything about other pitfalls.
-- 
Ben Pfaff 
http://benpfaff.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]