bug-cfengine
[Top][All Lists]
Advanced

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

RE: Problems configuring cfengine 2.1.17 on Solaris10


From: Kurt Reimer
Subject: RE: Problems configuring cfengine 2.1.17 on Solaris10
Date: Wed, 21 Dec 2005 11:14:12 -0500 (EST)


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: >> address@hidden
[mailto:address@hidden
org] On Behalf Of Kurt Reimer
Sent: Tuesday, December 20, 2005 1:56 PM
To: address@hidden; address@hidden
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
address@hidden
http://lists.gnu.org/mailman/listinfo/help-> cfengine






reply via email to

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