Como posso resolver esse problema de dependência da libgomp1?

3

Estou tentando construir e instalar o ccminer no Ubuntu 16.04 e obtendo o seguinte erro:

scrypt.cpp:(.text+0xa55b): undefined reference to 'GOMP_parallel'
scrypt.cpp:(.text+0xa6cd): undefined reference to 'GOMP_parallel'

libgomp1 está instalado:

Package: libgomp1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 156
Maintainer: Ubuntu Core developers <[email protected]>
Architecture: amd64
Multi-Arch: same
Source: gcc-5
Version: 5.4.0-6ubuntu1~16.04.5
Depends: gcc-5-base (= 5.4.0-6ubuntu1~16.04.5), libc6 (>= 2.17)
Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)
Description: GCC OpenMP (GOMP) support library
 GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
 in the GNU Compiler Collection.
Homepage: http://gcc.gnu.org/
Original-Maintainer: Debian GCC Maintainers <[email protected]>

e as bibliotecas são encontradas aqui:

locate libgomp

/usr/lib/gcc/x86_64-linux-gnu/5/libgomp.a
/usr/lib/gcc/x86_64-linux-gnu/5/libgomp.so
/usr/lib/gcc/x86_64-linux-gnu/5/libgomp.spec
/usr/lib/x86_64-linux-gnu/libgomp.so.1
/usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
/usr/share/doc/libgomp1
/var/lib/dpkg/info/libgomp1:amd64.list
/var/lib/dpkg/info/libgomp1:amd64.md5sums
/var/lib/dpkg/info/libgomp1:amd64.shlibs
/var/lib/dpkg/info/libgomp1:amd64.symbols
/var/lib/dpkg/info/libgomp1:amd64.triggers

É possível especificar a localização das bibliotecas em um arquivo config / makefile de alguma forma?

o makefile contém:

OPENMP_CFLAGS = -fopenmp

Caso seja relevante, eu tenho o Anaconda instalado como li que isso pode interferir em alguns processos de construção.

Link para a saída VERBOSE do build.sh

saída gist

versões gcc e g ++:

g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
    
por codecowboy 26.10.2017 / 10:18

3 respostas

1

Eu tive exatamente o mesmo problema e, conforme previsto pelo OP, meu problema estava relacionado a uma instalação do Anaconda e foi corrigido depois de removê-lo. Notei que executar locate libgomp produzia uma saída semelhante a OPs, mas com resultados relacionados ao Anaconda no topo.

Após desinstalá-lo, a saída foi a mesma e eu consegui construir o ccminer com as configurações padrão.

Esta postagem detalha simplesmente como desinstalar o Anaconda

    
por 31.01.2018 / 04:08
1

Parece que você está usando a versão padrão do gcc da distribuição (provavelmente 6 ou 7). De acordo com o documento INSTALL, o gcc 5 é a única versão suportada. Você pode verificar a versão com gcc --version . Para mudar a versão no Ubuntu, execute o seguinte:

sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 1
    
por 09.11.2017 / 16:05
0

Não sei quanta experiência você tem com a compilação, mas, em geral, ter uma biblioteca instalada não é necessariamente suficiente. Para compilar em uma biblioteca, você também precisa ter os cabeçalhos de desenvolvimento instalados. O pacote para isso é normalmente chamado de [nome-da-biblioteca] -dev, portanto verifique e certifique-se de que está instalado. Para esse, provavelmente será chamado 'libgomp1-dev' no instalador de pacotes, ou algo similar.

Esse erro que você postou parece um erro do compilador. O que o script configure diz sobre a libgomp quando você a executou? Geralmente, verifica as bibliotecas dependentes.

Editar:

Os arquivos de cabeçalho geralmente são armazenados em /usr/include ou /usr/local/include por padrão. Acabei de dar uma olhada no meu e não vejo nenhum cabeçalho que pareça estar relacionado à libgomp. Eu também tenho o pacote libgomp1 instalado, mas não o libgomp1-dev. Na verdade, parece não haver um pacote libgomp1-dev disponível no repositório da minha distro (Trisquel 7, baseado no Ubuntu). Eu recomendo que você olhe para qual arquivo de cabeçalho ele deveria estar usando e onde você pode se apossar disso.

    
por 04.11.2017 / 03:55