5 votes

collect2 : error : ld a retourné un statut de sortie 1

Je veux installer nexalign (peut être téléchargé à partir de aquí ) sur ubuntu 13.10. Je l'ai précédemment installé sur ubuntu 10 sans aucun problème. L'erreur que j'ai obtenue est la suivante :

gcc   -O9 -Wall -Dthread -lpthread main.o mapping.o interface.o input.o sarray.o mem.o output.o pattern_searching.o pattern_searching_solid.o string_matching.o time.o misc.o bt.o mapping_output.o hash.o r_output.o mapping_solid.o pattern_searching_short.o sort_mapping.o cluster_mapping.o -o nexalign
mapping.o: In function `mapping':
mapping.c:(.text+0x21e): undefined reference to `pthread_create'
mapping.c:(.text+0x276): undefined reference to `pthread_join'
mapping.c:(.text+0x410): undefined reference to `pthread_create'
mapping.c:(.text+0x65e): undefined reference to `pthread_create'
mapping_solid.o: In function `mapping_solid':
mapping_solid.c:(.text+0x1f4): undefined reference to `pthread_create'
mapping_solid.c:(.text+0x23b): undefined reference to `pthread_join'
mapping_solid.c:(.text+0x3dc): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
make: *** [all] Error 1

Lorsque j'ai changé la 5e ligne (LD = -lpthread en LD = -l) dans le fichier make, le programme a été installé sans aucune erreur. J'ai des connaissances de base en C/C++.

Est-ce que je rate quelque chose en convertissant la 5e ligne en "LD = -l" ? Ou avez-vous des suggestions à faire ?

J'ai cherché dans "ask ubuntu portal" pour trouver une réponse, mais je n'ai pas obtenu de réponse utile.

Merci.

1voto

noleti Points 3943

-lpthread est une option pour spécifier la liaison avec la bibliothèque posix thread. Si votre compilation fonctionne sans spécifier cette bibliothèque, elle est probablement déjà incluse par défaut, donc vous ne "manquez" rien.

Selon こん votre makefile original est probablement incorrect, c'est pourquoi vous obtenez le message d'erreur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X