Next: , Previous: , Up: Problems with configure   [Contents][Index]


8.1.1 Interpreting configure warnings

The configure script performs a large number of tests to ensure that coNCePTuaL will compile properly and function as expected. In particular, any missing or improperly functioning feature upon which the C run-time library relies causes ./configure to issue a ‘not building the C run-time library’ warning. Without its run-time library, coNCePTuaL’s functionality is severely limited so it’s worth every effort to get ./configure to build that.

Like all Autoconf scripts, configure logs detailed information to a config.log file. As a general diagnostic technique one should search for puzzling output in config.log and examine the surrounding context. For instance, on one particular system, ./configure output ‘no’ following ‘checking if we can run a trivial program linked with "-lrt -lm -lpopt "’ and then refused to build the run-time library. The following relevant lines appeared in config.log:

configure:12845: checking if we can run a trivial program linked with "-lrt
-lm -lpopt "
configure:12862: /usr/local/bin/gcc  -o conftest -g -O2   conftest.c -lrt
-lm -lpopt  >&5
configure:12865: $? = 0
configure:12867: ./conftest
ld.so.1: ./conftest: fatal: libpopt.so.0: open failed: No such file or
directory
./configure: line 1:  5264 Killed                  ./conftest$ac_exeext
configure:12870: $? = 137
configure: program exited with status 137
configure: failed program was:
##include "confdefs.h"

int
main (int argc, char *argv[])
{
  return 0;
}
configure:12879: result: no

Note the error message from ld.so.1 about libpopt.so.0 not being found. Further investigation revealed that although /usr/local/bin/gcc knew to look in /usr/local/lib/ for shared libraries, that directory was not in the search path utilized by ld.so.1. Consequently, it couldn’t find /usr/local/lib/libpopt.so.0. The solution in this case was to add /usr/local/lib/ to the LD_LIBRARY_PATH environment variable before running ./configure.

In general, config.log should be the first place to look when trying to interpret warnings issued by ./configure. Furthermore, note that certain command-line options to ./configure (see configure) may help bypass problematic operations that the script stumbles over.


Next: , Previous: , Up: Problems with configure   [Contents][Index]

Scott Pakin, pakin@lanl.gov