undefined reference to `pthread_barrier_wait' [RESOLVIDO]

1. undefined reference to `pthread_barrier_wait' [RESOLVIDO]

Anderson Attizano
anderatt

(usa CentOS)

Enviado em 17/08/2015 - 09:07h

Olá Pessoal,

Estou precisando de uma ajuda para resolver esse erro que estou recebendo durante a compilação de um programa em C.

Todos os arquivos e bibliotecas estão apontadas e configuradas, exceto uma que não consigo identificar onde e como encontrar.

Alguém tem alguma ideia de como posso proceder?

Obrigado!!

Segue log de compilação:


"/usr/bin/gmake" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .clean-conf
gmake[1]: Entering directory `/home/anderatt/teste/compress'
rm -f -r build/Debug
rm -f dist/Debug/GNU-Linux-x86/compress
gmake[1]: Leaving directory `/home/anderatt/teste/compress'

CLEAN SUCCESSFUL (total time: 174ms)
"/usr/bin/gmake" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
gmake[1]: Entering directory `/home/anderatt/teste/compress'
"/usr/bin/gmake" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/compress
gmake[2]: Entering directory `/home/anderatt/teste/compress'
mkdir -p build/Debug/GNU-Linux-x86
rm -f "build/Debug/GNU-Linux-x86/blosc.o.d"
gcc -c -g -MMD -MP -MF "build/Debug/GNU-Linux-x86/blosc.o.d" -o build/Debug/GNU-Linux-x86/blosc.o blosc.c
mkdir -p build/Debug/GNU-Linux-x86
rm -f "build/Debug/GNU-Linux-x86/blosclz.o.d"
gcc -c -g -MMD -MP -MF "build/Debug/GNU-Linux-x86/blosclz.o.d" -o build/Debug/GNU-Linux-x86/blosclz.o blosclz.c
mkdir -p build/Debug/GNU-Linux-x86
rm -f "build/Debug/GNU-Linux-x86/main.o.d"
gcc -c -g -MMD -MP -MF "build/Debug/GNU-Linux-x86/main.o.d" -o build/Debug/GNU-Linux-x86/main.o main.c
mkdir -p build/Debug/GNU-Linux-x86
rm -f "build/Debug/GNU-Linux-x86/shuffle.o.d"
gcc -c -g -MMD -MP -MF "build/Debug/GNU-Linux-x86/shuffle.o.d" -o build/Debug/GNU-Linux-x86/shuffle.o shuffle.c
shuffle.c:237:4: warning: #warning Hardware-acceleration detection not implemented for the target architecture. Only the generic shuffle/unshuffle routines will be available.
mkdir -p dist/Debug/GNU-Linux-x86
gcc -o dist/Debug/GNU-Linux-x86/compress build/Debug/GNU-Linux-x86/blosc.o build/Debug/GNU-Linux-x86/blosclz.o build/Debug/GNU-Linux-x86/main.o build/Debug/GNU-Linux-x86/shuffle.o
build/Debug/GNU-Linux-x86/blosc.o: In function `parallel_blosc':
/home/anderatt/teste/compress/blosc.c:823: undefined reference to `pthread_barrier_wait'
/home/anderatt/teste/compress/blosc.c:826: undefined reference to `pthread_barrier_wait'
build/Debug/GNU-Linux-x86/blosc.o: In function `t_blosc':
/home/anderatt/teste/compress/blosc.c:1413: undefined reference to `pthread_barrier_wait'
/home/anderatt/teste/compress/blosc.c:1555: undefined reference to `pthread_barrier_wait'
build/Debug/GNU-Linux-x86/blosc.o: In function `init_threads':
/home/anderatt/teste/compress/blosc.c:1583: undefined reference to `pthread_barrier_init'
/home/anderatt/teste/compress/blosc.c:1584: undefined reference to `pthread_barrier_init'
/home/anderatt/teste/compress/blosc.c:1612: undefined reference to `pthread_create'
build/Debug/GNU-Linux-x86/blosc.o: In function `blosc_release_threadpool':
/home/anderatt/teste/compress/blosc.c:1855: undefined reference to `pthread_barrier_wait'
/home/anderatt/teste/compress/blosc.c:1859: undefined reference to `pthread_join'
/home/anderatt/teste/compress/blosc.c:1871: undefined reference to `pthread_barrier_destroy'
/home/anderatt/teste/compress/blosc.c:1872: undefined reference to `pthread_barrier_destroy'
build/Debug/GNU-Linux-x86/shuffle.o: In function `get_shuffle_implementation':
/home/anderatt/teste/compress/shuffle.c:277: undefined reference to `shuffle_generic'
/home/anderatt/teste/compress/shuffle.c:278: undefined reference to `unshuffle_generic'
/home/anderatt/teste/compress/shuffle.c:279: undefined reference to `bshuf_trans_bit_elem_scal'
/home/anderatt/teste/compress/shuffle.c:280: undefined reference to `bshuf_untrans_bit_elem_scal'
/usr/bin/ld: dist/Debug/GNU-Linux-x86/compress: hidden symbol `bshuf_trans_bit_elem_scal' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
gmake[2]: *** [dist/Debug/GNU-Linux-x86/compress] Error 1
gmake[2]: Leaving directory `/home/anderatt/teste/compress'
gmake[1]: *** [.build-conf] Error 2
gmake[1]: Leaving directory `/home/anderatt/teste/compress'
gmake: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 1s)



  


2. Re: undefined reference to `pthread_barrier_wait' [RESOLVIDO]

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 17/08/2015 - 11:10h

Bom dia.

Coloque a flag "-lpthread" para compilar.


gcc -o foo foo.c -lpthread


E no código, use:

#include <pthread.h>


Espero ter ajudado,
Enzo Ferber
[]'s


$ cat codigo.c | indent -kr -i8
$ man indent

"(...)all right-thinking people know that (a) K&R are _right_ and (b) K&R are right." - linux/Documentation/CodingStyle - TORVALDS, Linus.



3. Reinstall

Anderson Attizano
anderatt

(usa CentOS)

Enviado em 18/08/2015 - 08:12h


Enzo,
Muito obrigado pela atenção.

Fiz alguns testes usando as suas orientações e desconfiei que poderia ter alguma coisa errada na instalação dos pacotes.

Comecei do zero, reinstalei todos os pacotes e passou a funcionar corretamente.

Abs,








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts