Xgboost: import xgboost OSError:version `GOMP_4.0' não encontrado

Criado em 18 nov. 2016  ·  15Comentários  ·  Fonte: dmlc/xgboost

Para bugs ou problemas de instalação, forneça as seguintes informações.
Quanto mais informações você fornecer, mais facilmente poderemos oferecer
ajuda e conselho.

Informações do ambiente

compilado com sucesso,
ambiente anaconda,
e use "conda list" pode mostrar "xgboost " .

mas ao importar xgboost mostra o erro: OSError: /home/yin/anaconda3/bin/../lib/libgomp.so.1: versão `GOMP_4.0' não encontrada (requerido por /home/yin/anaconda3/lib/ python3.5/site-packages/xgboost-0.6-py3.5.egg/xgboost/libxgboost.so)

Sistema Operacional: Ubunutu Kylin 16.10

Compilador:

Pacote usado (python/R/jvm/C++): python

xgboost versão usada: mais recente

Se estiver instalando a partir da fonte, forneça

  1. O hash de confirmação ( git rev-parse HEAD )
  2. Os logs serão úteis (se os logs forem grandes, faça o upload como anexo).

OSError: /home/yin/anaconda3/bin/../lib/libgomp.so.1: versão `GOMP_4.0' não encontrada (requerido por /home/yin/anaconda3/lib/python3.5/site-packages/ xgboost-0.6-py3.5.egg/xgboost/libxgboost.so)

Se você estiver usando o pacote python, forneça:

anaconda

  1. A versão e distribuição do python: python 3.5.2
  2. O comando para instalar xgboost se você não estiver instalando da fonte

Se você estiver usando o pacote R, forneça

  1. O R sessionInfo()
  2. O comando para instalar xgboost se você não estiver instalando da fonte

Passos para reproduzir

1.
2.
3.

O que você tentou?

1. reconstrua o xgboost, não funciona

2.
3.

Comentários muito úteis

Talvez você possa tentar conda install libgcc , que também pode resolver os problemas como este @jiqiujia

Todos 15 comentários

Como você está reconstruindo o xgboost?
Você fez um make clean_all e seguido por make -j ?

olá, obrigado por seus cuidados, o problema foi resolvido. o ponto chave é que eu instalei o anaconda e o arquivo libgomp.so.1 e libstdc++.so.6 no anaconda parece fora do tempo, faltando GOMP_4.0 e alguns outros arquivos , mas no Ubuntu 16.04 os arquivos correspondentes são novos o suficiente, a solução é fazer alguns arquivos de link para atualizar os arquivos correspondentes no anaconda

Ah, incrível. Feche o problema para que ele não apareça como não resolvido

Em 21 de novembro de 2016 às 11h57, "yinshurman" [email protected] escreveu:

Olá, obrigado por seus cuidados, o problema foi resolvido. o ponto chave é
que eu instalei o anaconda e o arquivo libgomp.so.1 e libstdc++.so.6 em
anaconda parece fora do tempo, faltando GOMP_4.0 e alguns outros arquivos, mas em
Ubuntu 16.04 os arquivos correspondentes são novos o suficiente, a solução é fazer
alguns arquivos de link para atualizar os arquivos correspondentes no anaconda


Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/dmlc/xgboost/issues/1786#issuecomment -261854524, ou mudo
o segmento
https://github.com/notifications/unsubscribe-auth/ACGUp9c5d-t8t-87qfMLYoJTk5cfW4_rks5rATnYgaJpZM4K2Gx1
.

@yinshurman você se importaria de postar as etapas da solução!
obrigado antecipadamente

passo 1: use os seguintes comandos para verificar se o arquivo libgomp.so.1 no anconda contém a versão necessária GOMP_4.0 (substitua o caminho pelo seu próprio em todos os passos):
strings /home/yin/anaconda3/bin/../lib/libgomp.so.1 |grep GOMP (se não houver versão GOMP_4.0, vá para o passo 2, senão deixe um comentário)
passo 2: para verificar libgomp.so.1 em seu sistema operacional:
sudo find / -name libgomp.so.1*
step3: verifique o link no anaconda:
ls -al /home/yin/anaconda3/bin/../lib/libgomp.so.1 se o link não estiver vinculado à versão mais recente na lista da etapa 2 , faça um novo link para atualizá-lo por:
sudo rm -rf /home/yin/anaconda3/bin/../lib/libgomp.so.1
sudo ln -s <path of the newest version libgomp file in your OS > <path in anaconda>
(por exemplo sudo ln -s /usr/.../libgomp.so.XXX /home/yin/anaconda3/bin/..libgomp.so.1 )
ps:sem meu computador em mãos, não me lembro do caminho concreto, mas esse método resolve meus problemas, na verdade, no meu caso, não apenas GOMP_4.0, mas também alguns outros arquivos não são encontrados (por exemplo, este https ://github.com/dmlc/xgboost/issues/1700 ), esta solução também funciona bem.

Funcionou. Muito obrigado @yinshurman

@yinshurman .... você pode me dizer passo a passo que não estou descobrindo a solução para o seguinte erro:

importar xgboost
SError: /home/akash/anaconda2/bin/../lib/libgomp.so.1: versão `GOMP_4.0' não encontrada (requerido por /home/akash/anaconda2/lib/python2.7/site-packages/ xgboost/./lib/libxgboost.so

Sim funciona. Essas etapas funcionaram perfeitamente para o pacote libeemd e pyeemd. Obrigado

Existe alguma maneira de atualizar o libgomp lib no anaconda
Depois de fazer um arquivo simbólico para um sistema, ele relata um erro sobre libstdc++.so.6.

Talvez você possa tentar conda install libgcc , que também pode resolver os problemas como este @jiqiujia

@yinshurman Muito obrigado. Funciona!

@yinshurman Muito obrigado. Funciona

Eu experimentei um problema semelhante, corrigi-o atualizando o anaconda gcc de 4.8.5 para 5.4.0:

conda install -c salford_systems gcc-5

@yinshurman Tive problemas com libgomp.so.1 e libstdc++.so.6 e funcionou para ambos. Obrigada.

`GOMP_4.0' não encontrado
Este é um erro devido à incompatibilidade de versões com as quais o xgboost foi construído e versões no ambiente conda que o xgboost usa em tempo de execução.
A maneira mais fácil de resolver o problema e não quebrar nada é compilar o xgboost explicitamente com as bibliotecas do conda, para as quais é necessário fazer o seguinte:

  1. Iniciar um novo terminal
    export LD_LIBRARY_PATH=~/work/anaconda3/lib #or whatever your anaconda install path is
  2. certifique-se de que seu python padrão seja da distro anaconda:
    which python
    Caso contrário, adicione a distro anaconda ao PATH:
    export PATH=~/work/anaconda3/bin:$PATH
  3. Reconstrua e reinstale o xgboost
    cd ~/xgboost
    make clean_all
    make -j4
    cd python-package
    python setup.py install
  4. verificar

agora você pode fechar o terminal e iniciar um novo, LD_LIBRARY_PAT não precisa persistir, como o env do conda. tem bibliotecas necessárias.

Esta página foi útil?
0 / 5 - 0 avaliações