1

When tring to build openssl-1.0.2r

I am receiving this error : Can't find library: "dl"

making all in apps...
        rm -f openssl
        shlib_target=; if [ -n "" ]; then \
                shlib_target="hpux-shared"; \
        elif [ -n "" ]; then \
          FIPSLD_CC="cc"; CC=/usr/local/ssl/fips-2.0/bin/fipsld; export CC FIPSLD_CC; \
        fi; \
        LIBRARIES="-L.. -lssl  -L.. -lcrypto" ; \
        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 genpkey.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 pkey.o pkeyparam.o pkeyutl.o  spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o ts.o srp.o" \
                LIBDEPS=" $LIBRARIES -L/usr/lib/pa20_32 -ldl" \
                link_app.${shlib_target}
        ( :;   \
            LIBDEPS="${LIBDEPS:--L.. -lssl  -L.. -lcrypto -L/usr/lib/pa20_32 -ldl}"; \
            LDCMD="${LDCMD:-cc}"; LDFLAGS="${LDFLAGS:--DOPENSSL_THREADS  -DDSO_DLFCN -DHAVE_DLFCN_H -D_REENTRANT -Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT}"; \
            LIBPATH=`for x in $LIBDEPS; do echo $x; done | sed -e 's/^ *-L//;t' -e d | 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 genpkey.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 pkey.o pkeyparam.o pkeyutl.o  spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o ts.o srp.o ${LIBDEPS} )
/opt/XPADE/v3/usr/ccs/lbin/ld32: Can't find library: "dl"

The problem is I cannot find libdl on machine for 32 bit. It looks it is only available for 64 bit

$ ls /usr/lib/pa20_32 | grep dl
libdlv_vxfs.1
libdlv_vxfs.sl
$
$ ls /usr/lib/pa20_64 | grep dl
dld.sl
libdl.1
libdl.sl
libdld.1
libdld.sl
libdlv_vxfs.1
libdlv_vxfs.sl

Does anyone knows something about this issue ?

cprogrammer
  • 5,503
  • 3
  • 36
  • 56

2 Answers2

1

The PA32 (pa20_32) version is called libdld.sl (libdld.2), a copy should have been shipped under /usr/lib (perhaps also /usr/ccs/pa/usr/lib). You could either make a symbolic link named "libdl.sl" in the appropriate directory or change your makefile to use "-ldld" instead of "-ldl".

ranga
  • 372
  • 1
  • 4
0

This is what we use at work to build OpenSSL 1.0.2 on HP-UX PARISC v11.23 with the HP ANSI (aCC) compiler:

CC="cc -Dinline=" $CONFIGURE no-shared hpux-parisc1_1-cc +DA2.0 +DS2.0
# Fix up HP-UX 11i v2 doesn't have the ALT XOPEN library implementation.
for i in `find . -name '*akefile'`
do
  sed 's/-D_HPUX_ALT_XOPEN_SOCKET_API//' $i > $i.new
  mv $i.new $i
done
make clean all

Builds cleanly. On 11.31 you may not need the sed command.

fork2execve
  • 1,561
  • 11
  • 16