Hi guys,
I've got a build issue with 2.1.18. I've narrowed it down somewhat...
- Solaris 8 or 9 (i.e., identical results on either)
- OpenSSL 0.9.8a (from source at openssl.org)
- cfengine 2.1.18 (from source)
If you build with OpenSSL 0.9.7{g,i}, the build goes swimmingly. I hear that
one config/compile diff. between OpenSSL 0.9.7 and 0.9.8 is that by default,
"shared" is turned off in 0.9.8 (though I don't completely understand why
that matters, to be fair, can anyone explain?).
So, I build openssl and berkeley db 4.2.52 from source. These are configured
with --prefix=/usr/local/src/pkgbuild/{db4,ossl} so that I can localise the
includes I'm using, etc. No probs in either build.
Building with openssl 0.9.8a,
./configure --prefix=/usr/local/src/pkgbuild/cfengine --localstatedir=/var
--with-berkeleydb=/usr/local/src/pkgbuild/db4
--with-openssl=/usr/local/src/pkgbuild/ossl
[...]
if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/src/pkgbuild/db4/include
-I/usr/local/src/pkgbuild/ossl/include -D_REENTRANT -pthreads -g -O2
-Wreturn-type -Wmissing-prototypes -Wuninitialized -D_REENTRANT -pthreads -g
-O2 -I/usr/local/src/pkgbuild/db4/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -pthreads -g -O2
-I/usr/local/src/pkgbuild/db4/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -MT package.o -MD -MP -MF ".deps/package.Tpo" -c -o
package.o package.c; \
then mv -f ".deps/package.Tpo" ".deps/package.Po"; else rm -f
".deps/package.Tpo"; exit 1; fi
gcc -g -O2 -Wreturn-type -Wmissing-prototypes -Wuninitialized -D_REENTRANT
-pthreads -g -O2 -I/usr/local/src/pkgbuild/db4/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -pthreads -g -O2
-I/usr/local/src/pkgbuild/db4/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -L/usr/local/src/pkgbuild/db4/lib
-R/usr/local/src/pkgbuild/db4/lib -L/usr/local/src/pkgbuild/ossl/lib -o
cfagent cfagent.o init.o do.o modules.o alerts.o wrapper.o report.o client.o
ip.o process.o ifconf.o image.o item.o item-ext.o item-file.o 2Dlist.o
globals.o classes.o misc.o parse.o functions.o edittools.o patches.o
install.o link.o tidy.o filedir.o eval.o modes.o sockaddr.o chflags.o locks.o
mount.o macro.o filenames.o varstring.o wildcard.o cfparse.o comparray.o
read.o checksums.o proto.o filters.o copy.o repository.o rotate.o errors.o
cflex.o net.o df.o log.o crypto.o popen.o popen_def.o sensible.o acl.o
dce_acl.o nameinfo.o strategies.o granules.o methods.o dtypes.o state.o
package.o -lfl -lfl -ldb -lcrypto -L../pub -lpub -lpthread -lnsl -lsocket -lm
-lelf -lsec
Undefined first referenced
symbol in file
dlsym /usr/local/src/pkgbuild/ossl/lib/libcrypto.a(dso_dlfcn.o) (symbol
belongs to implicit dependency /usr/lib/libdl.so.1)
dlopen /usr/local/src/pkgbuild/ossl/lib/libcrypto.a(dso_dlfcn.o) (symbol
belongs to implicit dependency /usr/lib/libdl.so.1)
dlclose /usr/local/src/pkgbuild/ossl/lib/libcrypto.a(dso_dlfcn.o) (symbol
belongs to implicit dependency /usr/lib/libdl.so.1)
dlerror /usr/local/src/pkgbuild/ossl/lib/libcrypto.a(dso_dlfcn.o) (symbol
belongs to implicit dependency /usr/lib/libdl.so.1)
ld: fatal: Symbol referencing errors. No output written to cfagent
collect2: ld returned 1 exit status
make[2]: *** [cfagent] Error 1
make[2]: Leaving directory `/opt/local/src/cfengine-2.1.18/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/opt/local/src/cfengine-2.1.18/src'
make: *** [all-recursive] Error 1
--
I've tried ./configure options including "--with-ldflags=-ld" and
"--with-libs=-ld", but neither change the error (though "-lfl -lfl" becomes
"-ll -ll"?). Searching for the linker error just gives me those two pieces
of advice, or to use a different OpenSSL.
Presently I can workaround merely by shifting to openssl 0.9.7, using:
./configure --prefix=/usr/local/src/pkgbuild/cfengine --localstatedir=/var
--with-berkeleydb=/usr/local/src/pkgbuild/db4
--with-openssl=/usr/local/src/pkgbuild/ossl97
But I'd like to use openssl 0.9.8 if I can... Has anyone else run into this
and overcome it?
Cheers,
Andrew
_______________________________________________
Help-cfengine mailing list
Help-cfengine@gnu.org
http://lists.gnu.org/mailman/listinfo/help-cfengine