[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
Re: checking for libraries that link but do not run, Richard Ash, 2009/10/05
Re: checking for libraries that link but do not run, Ralf Wildenhues, 2009/10/08