在HPUX上找不到用于OpenSSL 32位版本的libdl

问题描述 投票:0回答:1

尝试构建openssl-1.0.2r时>]

我收到此错误: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"

问题是我在32位机器上找不到libdl。看起来它仅适用于64位

$ 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

有人知道这个问题吗?

[当尝试构建openssl-1.0.2r时,我收到此错误:找不到库:“ dl”使得所有应用程序都在里面... rm -f openssl shlib_target =;如果[-n“”];然后\ ...

unix openssl hp-ux
1个回答
0
投票

PA32(pa20_32)版本称为libdld.sl(libdld.2),副本应该已经在/ usr / lib(也许还有/ usr / ccs / pa / usr / lib)下提供。您可以在适当的目录中建立一个名为“ libdl.sl”的符号链接,也可以将您的makefile更改为使用“ -ldld”而不是“ -ldl”。

© www.soinside.com 2019 - 2024. All rights reserved.