2016-03-25 14 views
1

üzerinde çalışıyorum. AIX 7.1 üzerinde çalışıyorum ve birden çok bağlantı nedeniyle sorun yaşamaya başladım "sembolü X (Y sayısı) bağımlı modülden dışa aktarılmıyor".Çoklu "Simge X (Y sayısı) bağımlı modülden" AIX 7.1

Hata

Could not load program openssl: 
Symbol resolution failed for /apps/10.00/openssl/product/openssl-1.0.2f/lib/libssl.so because: 
     Symbol EC_curve_nist2nid (number 73) is not exported from dependent 
      module /apps/tuxedo/product/12.1/lib/libcrypto.so. 
     Symbol EVP_aes_256_cbc_hmac_sha256 (number 274) is not exported from dependent 
      module /apps/tuxedo/product/12.1/lib/libcrypto.so. 
     Symbol EVP_aes_128_cbc_hmac_sha256 (number 275) is not exported from dependent 
      module /apps/tuxedo/product/12.1/lib/libcrypto.so. 
     Symbol X509_get_signature_nid (number 282) is not exported from dependent 
      module /apps/tuxedo/product/12.1/lib/libcrypto.so. 
     Symbol X509_chain_up_ref (number 312) is not exported from dependent 
      module /apps/tuxedo/product/12.1/lib/libcrypto.so. 
     Symbol X509_chain_check_suiteb (number 313) is not exported from dependent 
      module /apps/tuxedo/product/12.1/lib/libcrypto.so. 

aşağıda bağımlılıkları vardır:

O libcrypto.so görülebilir
$ ldd `which openssl` 
/cb/cb10b/rel/server/bin/openssl needs: 
     /apps/10.00/openssl/product/openssl-1.0.2f/lib/libssl.so 
     /apps/tuxedo/product/12.1/lib/libcrypto.so 
     /usr/lib/libpthreads.a(shr_xpg5_64.o) 
     /usr/lib/libc.a(shr_64.o) 
     /unix 

smokin değil Openssl geliyor. Bu yüzden LIBPATH'ı smokin kütüphanelerinden daha önce açacak şekilde dışa aktardım. Bu aşağıda ldd çıkışını değiştirir: - ldd çıkış bağımlı kütüphaneleri openssl dizinleri aldı ediliyor gösterir

export LIBPATH=/apps/10.00/openssl/product/openssl-1.0.2f/lib:$LIBPATH 
$ ldd `which openssl` 
/cb/cb10b/rel/server/bin/openssl needs: 
     /apps/10.00/openssl/product/openssl-1.0.2f/lib/libssl.so 
     /apps/10.00/openssl/product/openssl-1.0.2f/lib/libcrypto.so 
     /usr/lib/libpthreads.a(shr_xpg5_64.o) 
     /usr/lib/libc.a(shr_64.o) 
     /unix 
     /usr/lib/libcrypt.a(shr_64.o) 

rağmen. Ancak, komut dosyasını çalıştırdığımda hala yukarıdakiyle aynı hatayı alıyorum. Libcrypto.so'yu başka bir şeye yeniden adlandırdığımda (libcrypto.s.bkp deyince), libcrypto.so dosyasını openssl'den çalıştırırken, libcrypto.so'nun Tuxedo dizininde aranmasına neden olan bir şey var. ve daha sonra openssl dizininde.

Smokin kitaplıklarının openssl kitaplıklarından daha yüksek önceliğe sahip olmasına neden olduğunu bilmiyorum.

+0

Arkadaşlarınız 'dump -H -X32_64 ' ve 'dump -Tv -X32_64 ' dır. (Bir not: paylaşımlı kütüphanelerinizi/usr/local/lib [64] 'veya'/opt/lib [64] 'gibi başka bir yere kurabilirsiniz. [Bir not: OpenSSL gelişmeye devam eder ve bu işlevler sırasında varolmaya; Örneğin. SSLv2_ işlevleri, 1.0.2.g] 'da kayboldu. –

+0

Ayrıca, openssl + libssl.so + libcrypto.so'nun bir paketin parçaları olduğunu, bunların farklı sürümlerinin birleştirilmemesi gerektiğini, bunun hiçbir yere götürmediğini fark etmelisiniz. –

+0

Statik olarak bağlandım ve sorunun çözüldüğü anlaşılıyor – Phalgun

cevap

1

ben statik bağlama am (hayır paylaşılmayan) ve işte bu çözdü: -

OPENSSL_VERSION=openssl-1.0.2f 
On AIX: 
./Configure aix64-cc --prefix=$INSTALLDIR/openssl/product/$OPENSSL_VERSION --openssldir=$INSTALLDIR/openssl/product/$OPENSSL_VERSION/openssl threads no-shared 

DÜZENLEME: Ben SunOS yüklü olsun beri Ayrıca , burada talimat

./Configure solaris64-sparcv9-cc --prefix=$INSTALLDIR/openssl/product/$OPENSSL_VERSION --openssldir=$INSTALLDIR/openssl/product/$OPENSSL_VERSION/openssl threads no-shared -KPIC 
olduğunu
+0

Sun/Solaris/Sparc ve Ibm/Aix/PowerPC'nin aynı olduğundan kesinlikle emin misiniz? –

+0

Hem SunOs hem de AIX üzerinde çalışıyordum, yanlışlıkla AIX yerine SunOs için talimat yayınladım. Cevap güncellendi. – Phalgun

+0

@ ZsigmondLőrinczy Bundan sonra karşılaştığım başka bir soru daha ekledim [http://stackoverflow.com/questions/36315195/incorrect-shared-libraries-picked-in-aix?noredirect=1#comment60254071_36315195]. Buna yardım edebilir misin? – Phalgun