2011-03-10 4 views
0

J'ai essayé d'utiliser sem_timedwait dans AIX.Erreur Sem_timedwait sous AIX

J'ai eu cette erreur:

*"ld: 0711-317 ERROR: Undefined symbol: .sem_timedwait"*

Je peux deviner que, je suis manque des bibliothèques.

Quelqu'un peut-il aider?

+0

Quelle version d'AIX? – CoreyStup

Répondre

0

Je ne sais pas comment ou si AIX implémente cela, mais POSIX marque les interfaces de délai d'attente comme étant en option:

[TMO][Option Start] Timeouts [Option End] The functionality described is optional. The functionality described is also an extension to the ISO C standard.

+0

C'était facultatif avant POSIX 2008 (en fait, toutes les interfaces de sémaphore étaient facultatives je crois, mais l'attente temporisée était juste dans un groupe d'options plus spécifique). C'est maintenant obligatoire. –

+0

@R. cela dépend donc de la version de POSIX AIX qui prétend être conforme. –

0

Vous liez librt? J'essaierais d'ajouter -lrt à votre ligne de lien. Aussi pthread.

+0

J'ai essayé d'ajouter -lrt plus tôt. Quand je l'ai ajouté, l'AIX a dit "ne peut pas trouver libcrt". J'utilise GCC sur AIX –

+0

Peut-être que vous manquez une bibliothèque? Le fait que vous ayez spécifié -lrt (c'est ce que vous avez dit, n'est-ce pas?), Mais il se plaignait de lib * c * rt, me fait penser qu'il reconnaît le -lrt comme spécial d'une manière ou d'une autre. –