2008-12-13 7 views
1

J'ai lu et recherché ceci pendant quelques jours maintenant, et ai décidé que j'ai besoin de l'aide extérieure!lien statique sur AIX avec pthread

(et ce site semblait être un endroit agréable, donc je pensais que je ma question ici publier et voir comment ça se passe)

notre petite entreprise n'a pas construit nos applications sur AIX depuis plusieurs années , et j'ai été affecté à cette tâche (bonne chose j'aime un défi). Le problème que j'ai est facile à décrire, et je peux voir d'autres personnes l'éprouvent aussi, bien que je ne puisse pas sembler pour trouver une réponse.

si je lie l'application « non statique », ce qui signifie que je ne l'utilise « -static » dans les commandes de construction, l'application fonctionne bien sur le développement machine, mais pas sur notre autre machine AIX que nous utilisons pour le test .

[notes rapides sur les deux machines;

dev:

~$ uname -a 
AIX aix3 2 5 000BA50D4C00 

test:

~$ uname -a 
AIX aix4 1 5 002459A64C00 

]

si je créer un lien avec "-static", l'application "casse" sur la machine de développement à l'exécution lorsqu'une exception est levée:

terminate called after throwing an instance of 'MyAppError' 
Segmentation fault  (core dumped) 

ET (comme si cela ne suffisait pas), l'application ne fonctionne toujours pas exécuter sur la machine de test:

exec(): 0509-036 Cannot load program ./myapp because of the following errors: 
     0509-130 Symbol resolution failed for myapp because: 
     0509-136 Symbol _sigqueue (number 65) is not exported from 
        dependent module /unix. 
     0509-136 Symbol ra_attachrset (number 95) is not exported from 
        dependent module /unix. 
     0509-136 Symbol __rs_pickmcm (number 99) is not exported from 
        dependent module /unix. 
     0509-136 Symbol _timer_create (number 122) is not exported from 
        dependent module /unix. 
     0509-136 Symbol _timer_delete (number 123) is not exported from 
        dependent module /unix. 
     0509-136 Symbol _timer_getoverrun (number 124) is not exported from 
        dependent module /unix. 
     0509-136 Symbol _timer_gettime (number 125) is not exported from 
        dependent module /unix. 
     0509-136 Symbol _timer_settime (number 126) is not exported from 
        dependent module /unix. 
     0509-136 Symbol count_event_waiters (number 159) is not exported from 
        dependent module /unix. 
     0509-192 Examine .loader section symbols with the 
       'dump -Tv' command. 

Je tiens à souligner ici que nous la liaison avec « -pthead », et J'ai lu plusieurs articles qui disent que ce n'est pas correct de lier statiquement lors de l'utilisation de pthread.

mon cerveau fait mal.

Je serais très reconnaissant pour toute contribution à ce sujet.

Répondre

1

Une partie de votre problème est que vous construisez sur AIX 5.2 et essayez de tester sur AIX 5.1 (l'information uname -a montre que - merci de l'inclure). Vous pouvez généralement construire sur une plate-forme plus ancienne et exécuter sur une plus récente, mais pas l'inverse. Donc, c'est le début de vos problèmes.

Les deux AIX 5.1 et 5.2 sont longs dans la dent; vous devriez être sur au moins AIX 5.3 et sans doute AIX 6.x.

Questions connexes