SuperLU с OpenBLAS: неопределенная ссылка на pthread_atfork

При компиляции библиотеки SuperLU 4.3 с использованием OpenBLAS вместо обычных дистрибутивов BLAS постоянно возникает эта ошибка:

>gcc  cdrive.o sp_cconvert.o cgst01.o cgst02.o cgst04.o cgst07.o sp_ienv.o \
>   libtmglib.a /a/location/lib/libsuperlu_4.3.a ->L/a/location/lib/libopenblas.a -lopenblas -lm -o ctest
>/a/location/lib/libopenblas.a(memory.o): In function >'openblas_fork_handler':
>memory.c:(.text+0x3e0): undefined reference to 'pthread_atfork'
>/a/location/lib/libopenblas.a(blas_server.o): In function >'blas_thread_shutdown_':
>blas_server.c:(.text+0x25e): undefined reference to 'pthread_join'
>/a/location/lib/libopenblas.a(blas_server.o): In function >'goto_set_num_threads':
>blas_server.c:(.text+0x403): undefined reference to 'pthread_create'
>/a/location/lib/libopenblas.a(blas_server.o): In function >'blas_thread_init':
>blas_server.c:(.text+0x721): undefined reference to 'pthread_create'

person Dan    schedule 09.09.2015    source источник
comment
Вам нужно связать pthread/libpthread. Это может быть сделано автоматически, но не в вашем случае. Какой у вас линкер?   -  person usr1234567    schedule 04.11.2015


Ответы (1)


Вам нужно связать pthread/libpthread. В зависимости от компоновщика это может быть сделано автоматически, но не в вашем случае.

person usr1234567    schedule 09.12.2015