Impossible de charger le module de chargement ‘/usr/lib/pa20_64/libpthread.1’ car il contient des données spécifiques au thread

J’obtiens cette erreur en chargeant une lib avec dlopen () :

Cannot dlopen load module '/usr/lib/pa20_64/libpthread.1' because it contains thread specific data. 

J’ai regardé cela sur Google et l’exportation suivante a résolu le problème.

 export LD_PRELOAD=/usr/lib/hpux64/libpthread.so.1 

Quelqu’un peut-il me dire ce que fait exactement LD_PRELOAD et pourquoi je dois précharger cette lib? Pourquoi l’ éditeur de liens ne le charge-t-il pas?

Comstackr avec -lpthread n’aide pas non plus.

ENV: licence d’utilisation illimitée HP-UX hhtenb1 B.11.31 U ia64 3881169896

Je ne peux pas vous dire tous les détails sur HPUX, mais essayez de lier votre programme avec -lpthread – qui pourrait résoudre votre problème.

Comme c’est le cas, la bibliothèque que vous appelez (dlopen () ing) semble être en train de creuser au moment de l’exécution pour trouver une version de libpthread. LD_PRELOAD charge simplement la bibliothèque spécifiée comme si vous les aviez désinstallée, mais elle le fait avant que le programme ait une chance de s’exécuter.

Pas sûr des détails, mais une vague supposition: une bibliothèque que vous utilisez a appelé les fonctions de données statiques pthread avant que dlopen ne déclenche une charge de libpthread (mais pourquoi essaierait-elle de charger pthread alors si la première bibliothèque en avait une de dépendance) ? – n’est pas sûr / peut-être que cela indique que l’ancienne bibliothèque était liée de manière statique à un contenu de pthread?).

Nous avons eu cette erreur ci-dessous sur hpux-11.31 IA64 exécutant DB2-10.1.2 et faisant le

  "export LD_PRELOAD=/usr/lib/hpux64/libpthread.so.1" 

réparé

 DATA #2 : Ssortingng, 49 bytes /home/db2inst1/sqllib/lib64/icc/libgsk8iccs_64.so CALLSTCK: (Static functions may not be resolved correctly, as they are resolved to the nearest symbol) [0] 0xC000000032488900 pdOSSeLoggingCallback + 0x980 [1] 0xC000000010CC5A00 ossLog + 0x4E0 [2] 0xC000000010CC5610 ossLog + 0xF0 [3] 0xC00000003255E100 _Z27cryptDynamicLoadGSKitCryptoPc + 0x5F0 [4] 0xC00000003255F460 cryptContextRealInit + 0x200 [5] 0xC000000032561950 cryptContextCheckAndInit + 0x130 [6] 0xC000000032561B70 cryptDHInit + 0x120 [7] 0xC00000003384FBD0 sqlexSlcServerEncryptAccsec + 0x170 [8] 0xC00000003384F7B0 _Z33sqlexSlcServerEncryptAuthenticateP14db2UCinterfacelPj + 0xF0 [9] 0xC0000000321FB7D0 _Z20sqlexAppAuthenticateP14db2UCinterface + 0x1A60 [10] 0xC0000000321F8920 _Z18sqljrDrdaArConnectP14db2UCinterface + 0x140 [11] 0xC0000000321E96F0 _Z16sqleUCdrdaARinitP14db2UCconHandle + 0x230 [12] 0xC000000032238CD0 sqleUCappConnect + 0x13C0 [13] 0xC000000032647B20 _Z14CLI_sqlConnectP15CLI_CONNECTINFOP5sqlcaP19CLI_ERRORHEADERINFO + 0x32A0 [14] 0xC0000000325D5710 _Z11SQLConnect2P15CLI_CONNECTINFOPhsS1_sS1_sS1_sh + 0xA10 [15] 0xC0000000325ADB90 _Z17SQLDriverConnect2P15CLI_CONNECTINFOPvPhsS2_sPsthhP19CLI_ERRORHEADERINFO + 0x26E0 [16] 0xC0000000325AAC00 _Z11SQLConnect1P15CLI_CONNECTINFOPhsS1_sS1_s + 0xB60 [17] 0xC0000000325A8E30 SQLConnect + 0xC10 [18] 0x4000000000001EA0 main + 0x620 [19] 0xC00000000006E9B0 _DYNAMIC + 0xC00000000006E993