Type: Bug Version: 0.9.8b, 0.9.8d (0.9.8c not tested) Operating System: AIX 4.3.3 ML11 Compiler: IBM VAC 5.0.2.9 Hardware: Bull Escala T104, PowerPC 604e, 32bit
Description: When I try to compile the package with zlib and statical linking, I get a compile error. The file zlib.h cannot be found, even tough I explicitly specified the location. I built with: ./config --prefix=/usr/local --openssldir=/usr/local/share/ssl \ zlib no-shared \ --with-zlib-lib=/usr/local/lib \ --with-zlib-include=/usr/local/include and then: make The error message is: ... making all in crypto/comp... cc -I.. -I../.. -I../../include -DZLIB -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -q32 -O -DB_ENDIAN -qmaxmem=16384 -c comp_lib.c cc -I.. -I../.. -I../../include -DZLIB -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -q32 -O -DB_ENDIAN -qmaxmem=16384 -c comp_err.c cc -I.. -I../.. -I../../include -DZLIB -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -q32 -O -DB_ENDIAN -qmaxmem=16384 -c c_rle.c cc -I.. -I../.. -I../../include -DZLIB -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -q32 -O -DB_ENDIAN -qmaxmem=16384 -c c_zlib.c "c_zlib.c", line 25.10: 1506-296 (S) #include file <zlib.h> not found. "c_zlib.c", line 112.9: 1506-046 (S) Syntax error. "c_zlib.c", line 114.9: 1506-278 (S) The structure definition must specify a member list. "c_zlib.c", line 136.33: 1506-045 (S) Undeclared identifier Z_NULL. "c_zlib.c", line 144.37: 1506-045 (S) Undeclared identifier z_stream. "c_zlib.c", line 144.17: 1506-045 (S) Undeclared identifier ZLIB_VERSION. "c_zlib.c", line 145.20: 1506-045 (S) Undeclared identifier Z_OK. "c_zlib.c", line 155.44: 1506-045 (S) Undeclared identifier Z_DEFAULT_COMPRESSION. "c_zlib.c", line 187.19: 1506-045 (S) Undeclared identifier Z_OK. "c_zlib.c", line 200.48: 1506-045 (S) Undeclared identifier Z_SYNC_FLUSH. "c_zlib.c", line 214.19: 1506-045 (S) Undeclared identifier Z_OK. "c_zlib.c", line 228.48: 1506-045 (S) Undeclared identifier Z_SYNC_FLUSH. make: 1254-004 The error code from the last command is 1. Stop. make: 1254-004 The error code from the last command is 1. Stop. make: 1254-004 The error code from the last command is 1. Stop. ... It seems to me that the Configure script doesn't generate correct Makefiles, because there's no "-I/usr/local/include" in the compiler invocation. Normally, there should be a "-I/usr/local/include" in the line "INCLUDES=" in crypto/comp/Makefile, if I specify the zlib include dir, but it isn't. Furthermore, if I add "-I/usr/local/include" to the line "INCLUDES=" in crypto/comp/Makefile, it isn't used. I had to add it to crypto/Makefile to be honored. Now, with the line INCLUDES= -I.. -I../.. -I../../include -I/usr/local/include in crypto/Makefile, the compile run gives the next error. The zlib library file (libz.a) cannot be found. The error message is: ... making all in apps... cc -DMONOLITH -I.. -I../include -DZLIB -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -q32 -O -DB_ENDIAN -qmaxmem=16384 -c verify.c ... cc -DMONOLITH -I.. -I../include -DZLIB -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -q32 -O -DB_ENDIAN -qmaxmem=16384 -c openssl.c rm -f openssl shlib_target=; if [ -n "" ]; then shlib_target="aix-shared"; fi; if [ "${shlib_target}" = "darwin-shared" ] ; then LIBRARIES="../libssl.a ../libcrypto.a" ; else LIBRARIES="-L.. -lssl -L.. -lcrypto" ; fi; make -f ../Makefile.shared -e APPNAME=openssl OBJECTS="openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o smime.o rand.o engine.o ocsp.o prime.o" LIBDEPS=" $LIBRARIES -lz" link_app.${shlib_target} ( :; LIBDEPS="${LIBDEPS:--L.. -lssl -L.. -lcrypto -lz}"; LDCMD="${LDCMD:-cc}"; LDFLAGS="${LDFLAGS:--DZLIB -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -q32 -O -DB_ENDIAN -qmaxmem=16384}"; LIBPATH=`for x in $LIBDEPS; do if echo $x | grep '^ *-L' > /dev/null 2>&1; then echo $x | sed -e 's/^ *-L// '; fi; done | uniq`; LIBPATH=`echo $LIBPATH | sed -e 's/ /:/g'`; LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH ${LDCMD} ${LDFLAGS} -o ${APPNAME:=openssl} openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o smime.o rand.o engine.o ocsp.o prime.o ${LIBDEPS} ) ld: 0706-006 Cannot find or open library file: -l z ld:open(): A file or directory in the path name does not exist. make: 1254-004 The error code from the last command is 255. Stop. make: 1254-004 The error code from the last command is 2. Stop. make: 1254-004 The error code from the last command is 1. Stop. ... So, again, my explicitly specified "--with-zlib-lib=/usr/local/lib" was not honored. To work around the error, I specified an addidional "-L/usr/local/lib" to config. The files in attach.tar.gz provide further information. They are: First compile run: All files ending with .1 config_log.openssl.1 make_log.openssl.1 Makefile.1 crypto_Makefile.1 (crypto/Makefile) crypto_comp_Makefile.1 (crypto/comp/Makefile) Second compile run with modified crypto/Makefile: All files ending with .2 config_log.openssl.2 make_log.openssl.2 Makefile.2 crypto_Makefile.2 (crypto/Makefile) crypto_comp_Makefile.2 (crypto/comp/Makefile) Regards, Olaf Morgenstern
attach.tar.gz
Description: application/gzip