The 'real' error is: ld.so.1: ./conftest: fatal: libgcc_s.so.1: open failed: No such file or directory So, the problem isn't with Berkeley DB, except that perhaps BDB requires libgcc. Is libgcc installed?
-Jason Martin > -----Original Message----- > From: Kurt Reimer [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 21, 2005 8:14 AM > To: Martin, Jason H > Cc: [EMAIL PROTECTED]; help-cfengine@gnu.org; bug-cfengine@gnu.org > Subject: RE: Problems configuring cfengine 2.1.17 on Solaris10 > > > > > > What is the exact output from the config.log for when the problem > > occurs? > > > > -Jason Martin > > > Jason, > Thanks for taking a look at this. Here's the relevant > part of the > log output from the original configure script, with my email client > inserting line breaks and me adding in backslashes: > > ====================================================================== > configure:8582: checking Berkeley DB Version > configure:8611: gcc -o conftest -D_REENTRANT -pthread -g -O2 \ > -I/usr/local/BerkeleyDB.4.4//include -D_REENTRANT -pthread \ > -L/usr/local/BerkeleyDB.4.4//lib -R/usr/local/BerkeleyDB.4.4//lib \ > conftest.c -lnsl -lsocket -lm -ldb >&5 > gcc: unrecognized option `-pthread' > gcc: unrecognized option `-pthread' > configure:8614: $? = 0 > configure:8616: ./conftest > ld.so.1: ./conftest: fatal: libgcc_s.so.1: open failed: No such \ > file or directory > ./configure: line 8617: 26012 Killed ./conftest$ac_exeext > configure:8619: $? = 137 > configure: program exited with status 137 > configure: failed program was: > | /* confdefs.h. */ > | > | #define PACKAGE_NAME "" > | #define PACKAGE_TARNAME "" > | #define PACKAGE_VERSION "" > | #define PACKAGE_STRING "" > | #define PACKAGE_BUGREPORT "" > | #define PACKAGE "cfengine" > | #define VERSION "2.1.17" > | #define HAVE_PTHREAD 1 > | #define YYTEXT_POINTER 1 > | #define STDC_HEADERS 1 > | #define HAVE_SYS_TYPES_H 1 > | #define HAVE_SYS_STAT_H 1 > | #define HAVE_STDLIB_H 1 > | #define HAVE_STRING_H 1 > | #define HAVE_MEMORY_H 1 > | #define HAVE_STRINGS_H 1 > | #define HAVE_INTTYPES_H 1 > | #define HAVE_STDINT_H 1 > | #define HAVE_UNISTD_H 1 > | #define HAVE_LIBKSTAT 1 > | #define HAVE_GETLOADAVG 1 > | #define HAVE_LIBM 1 > | #define HAVE_LIBSOCKET 1 > | #define HAVE_LIBNSL 1 > | #define USE_BERKELEY_DB 1 > | /* end confdefs.h. */ > | > | #include <db.h> > | #include <stdio.h> > | int main(void) > | { > | printf("%d.%d.%d > ",DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH); > | if (DB_VERSION_MAJOR < 3 || (DB_VERSION_MAJOR == 3 && \ > DB_VERSION_MINOR < 2)) > | exit(1); > | exit(0); > | } > | > configure:8629: error: This release of cfengine requires \ > BerkeleyDB 3.2 or later > ====================================================================== > > The second invocation of this program doesn't cause the > configure > script to abort, but it does define CF_OLD_DB, which > generates compile > errors during the make. > > After collecting this output, I tried running the gcc compile > command as it appears above on a copy of the test program (without the > output redirection), and it does compile OK and generate the same > error message when I run it. I find that I can make the program run > successfully if I take the "-lbd" off the compile string OR if I > go into /usr/local/BerkeleyDB.4.4/lib and remove all the shared > libraries. (I guess this forces use of the static libraries in that > directory. I know that when I remove them too the compile fails.) > > I'm not sure what all this means, but I now have less > confidence > that the cfengine executables I ended up with are worth anything. Does > this mean that I built the Berkeley DB incorrectly? > > Yours, > > Kurt > > >> -----Original Message----- >> > From: >> [EMAIL PROTECTED] > >> [mailto:[EMAIL PROTECTED] > >> org] On Behalf Of Kurt Reimer > >> Sent: Tuesday, December 20, 2005 1:56 PM > >> To: help-cfengine@gnu.org; bug-cfengine@gnu.org > >> Subject: Problems configuring cfengine 2.1.17 on Solaris10 > >> > >> > >> > >> Hello, > >> Like previous posters I'm running into problems with the > >> configure > >> script not recognizing the BerkeleyDB version number, and it > >> doesn't seem > >> to have anything to do with LD_LIBRARY_PATH or LD_RUN_PATH: > >> > >> ******************* > >> bash-3.00# export \ > >> LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.4/:/usr/local/Berkeley > >> DB.4.4/lib/ > >> bash-3.00# export \ > >> > LD_RUN_PATH=/usr/local/BerkeleyDB.4.4/:/usr/local/BerkeleyDB.4.4/lib/ > >> bash-3.00# export CFLAGS=-I/usr/local/BerkeleyDB.4.4/include > >> bash-3.00# ./configure > >> --with-berkeleydb=/usr/local/BerkeleyDB.4.4/ \ > >> --with-openssl=/usr/sfw checking build system type... > >> sparc-sun-solaris2.10 > >> . . . . . . . . . . . . . . > >> checking for BerkeleyDB location in /usr/local/BerkeleyDB.4.4/... > >> /usr/local/BerkeleyDB.4.4/ > >> checking Berkeley DB Version... configure: error: This > >> release of cfengine > >> requires BerkeleyDB 3.2 or later > >> bash-3.00# > >> > >> (I added the backslashes where my email client wrapped the > >> cut-and-pasted command lines.) > >> ******************* > >> > >> I've gone so far as to comment out all but the > >> "exit(0);" return in > >> the test program that is being run at this point in the > >> configure script, with the same result: > >> > >> > >> ******************* > >> #include <db.h> > >> #include <stdio.h> > >> int main(void) > >> { > >> /* > >> printf("%d.%d.%d ", > >> DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH); > >> if (DB_VERSION_MAJOR < 3 || > >> (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR < 2)) > >> exit(1); > >> */ > >> exit(0); > >> } > >> ******************* > >> > >> I can get cfengine to configure, make, and install if I > >> edit the > >> configure script to dummy out the two places where it runs the test > >> program listed above. Note that the configure, make, and make > >> install all > >> succeed without the help of LD_LIBRARY_PATH, LD_RUN_PATH, or > >> any special include directories defined in CFLAGS: > >> > >> ******************* > >> bash-3.00# diff configure.works configure > >> 8618,8620c8618 > >> < ############################## > >> < # ac_status=$? This test is broken > >> < ac_status=0 > >> --- > >>> ac_status=$? > >> 8687,8690c8685,8687 > >> < ################################ > >> < #cat >>confdefs.h <<\_ACEOF Same program, still broken > >> < ##define CF_OLD_DB 1 > >> < #_ACEOF > >> --- > >>> cat >>confdefs.h <<\_ACEOF > >>> #define CF_OLD_DB 1 > >>> _ACEOF > >> bash-3.00# cp configure.works configure > >> bash-3.00# unset LD_LIBRARY_PATH > >> bash-3.00# unset LD_RUN_PATH > >> bash-3.00# unset CFLAGS > >> bash-3.00# ./configure --with-berkeleydb=/usr/local/BerkeleyDB.4.4/ > >> --with-openssl=/usr/sfw > >> checking build system type... sparc-sun-solaris2.10 > >> . . . . . . . . . . . . . . > >> checking for library containing socket... none required > >> checking for BerkeleyDB location in /usr/local/BerkeleyDB.4.4/... > >> /usr/local/BerkeleyDB.4.4/ > >> checking Berkeley DB Version... OK > >> checking Berkeley DB API... checking for db_create in -ldb... > >> yes checking for OpenSSL location... /usr/sfw > >> . . . . . . . . . . . . . . > >> DONE: Configuration done. Run make/gmake to build cfengine. > >> > >> bash-3.00# make[1]: Entering directory > >> `/usr/local/src/cfengine-2.1.17/pub' > >> if gcc -DHAVE_CONFIG_H -I. -I. -I../src > >> -I/usr/local/BerkeleyDB.4.4//include -I/usr/sfw/include > -D_REENTRANT > >> -pthread -D_REENTRANT -pthread -g -O2 > >> -I/usr/local/BerkeleyDB.4.4//include -D_LARGEFILE_SOURCE > >> -D_FILE_OFFSET_BITS=64 -g -O2 -Wreturn-type -Wmissing-prototypes > >> -Wuninitialized -D_REENTRANT -pthread -g -O2 > >> -I/usr/local/BerkeleyDB.4.4//include -D_LARGEFILE_SOURCE > >> -D_FILE_OFFSET_BITS=64 -MT getopt.o -MD -MP -MF > >> ".deps/getopt.Tpo" -c -o > >> getopt.o getopt.c; \ > >> then mv -f ".deps/getopt.Tpo" ".deps/getopt.Po"; else rm -f > >> ".deps/getopt.Tpo"; exit 1; fi > >> gcc: unrecognized option `-pthread' > >> gcc: unrecognized option `-pthread' > >> gcc: unrecognized option `-pthread' > >> if gcc -DHAVE_CONFIG_H -I. -I. -I../src > >> -I/usr/local/BerkeleyDB.4.4//include -I/usr/sfw/include > -D_REENTRANT > >> -pthread -D_REENTRANT -pthread -g -O2 > >> -I/usr/local/BerkeleyDB.4.4//include -D_LARGEFILE_SOURCE > >> -D_FILE_OFFSET_BITS=64 -g -O2 -Wreturn-type -Wmissing-prototypes > >> -Wuninitialized -D_REENTRANT -pthread -g -O2 > >> -I/usr/local/BerkeleyDB.4.4//include -D_LARGEFILE_SOURCE > >> -D_FILE_OFFSET_BITS=64 -MT getopt1.o -MD -MP -MF > >> ".deps/getopt1.Tpo" -c -o > >> getopt1.o getopt1.c; \ > >> then mv -f ".deps/getopt1.Tpo" ".deps/getopt1.Po"; else rm -f > >> ".deps/getopt1.Tpo"; exit 1; fi > >> . . . . . . . . . . > >> > >> .....and so on.... > >> > >> ******************* > >> > >> "make" and "make install" both succeed. I haven't yet > >> begun to try to > >> use cfengine, but I suspect the executables will work properly. > >> > >> It would be nice if the configuration process would work > >> out-of-the-box. If I'm dong something wrong please let me know. > >> > >> Yours, > >> > >> Kurt Reimer > >> > >> > >> _______________________________________________ > >> Help-cfengine mailing list > >> Help-cfengine@gnu.org > >> http://lists.gnu.org/mailman/listinfo/help-> cfengine > >> > > > _______________________________________________ Help-cfengine mailing list Help-cfengine@gnu.org http://lists.gnu.org/mailman/listinfo/help-cfengine