Xgboost: import xgboost OSError: Version „GOMP_4.0“ nicht gefunden

Erstellt am 18. Nov. 2016  ·  15Kommentare  ·  Quelle: dmlc/xgboost

Bei Fehlern oder Installationsproblemen geben Sie bitte die folgenden Informationen an.
Je mehr Informationen Sie uns zur Verfügung stellen, desto einfacher können wir anbieten
Hilfe und Rat.

Umgebungsinformationen

erfolgreich kompiliert,
Anaconda-Umgebung,
und verwenden Sie "conda list" kann "xgboost" anzeigen.

aber beim Import von xgboost wird der Fehler angezeigt: OSError: /home/yin/anaconda3/bin/../lib/libgomp.so.1: version `GOMP_4.0' not found (required by /home/yin/anaconda3/lib/ python3.5/site-packages/xgboost-0.6-py3.5.egg/xgboost/libxgboost.so)

Betriebssystem: Ubunutu Kylin 16.10

Compiler:

Verwendetes Paket (python/R/jvm/C++): python

Verwendete Version xgboost : neueste

Wenn Sie von der Quelle installieren, geben Sie bitte Folgendes an

  1. Der Commit-Hash ( git rev-parse HEAD )
  2. Protokolle sind hilfreich (wenn die Protokolle groß sind, laden Sie sie bitte als Anhang hoch).

OSError: /home/yin/anaconda3/bin/../lib/libgomp.so.1: Version „GOMP_4.0“ nicht gefunden (erforderlich für /home/yin/anaconda3/lib/python3.5/site-packages/ xgboost-0.6-py3.5.egg/xgboost/libxgboost.so)

Wenn Sie das Python-Paket verwenden, geben Sie bitte Folgendes an:

Anakonda

  1. Die Python-Version und -Distribution: Python 3.5.2
  2. Der Befehl zum Installieren xgboost , wenn Sie nicht von der Quelle installieren

Wenn Sie das R-Paket verwenden, geben Sie es bitte an

  1. Das R sessionInfo()
  2. Der Befehl zum Installieren xgboost , wenn Sie nicht von der Quelle installieren

Schritte zum Reproduzieren

1.
2.
3.

Was hast du versucht?

1. Bauen Sie den xgboost neu auf, funktioniert nicht

2.
3.

Hilfreichster Kommentar

Vielleicht kannst du conda install libgcc ausprobieren, was auch solche Probleme lösen kann @jiqiujia

Alle 15 Kommentare

Wie bauen Sie xgboost wieder auf?
Hast du ein make clean_all gefolgt von make -j ?

Hallo, vielen Dank für Ihre Fürsorge, das Problem wurde gelöst. Der entscheidende Punkt ist, dass ich Anaconda installiert habe und die Dateien libgomp.so.1 und libstdc++.so.6 in Anaconda verfallen zu sein scheinen, da GOMP_4.0 und einige andere Dateien fehlen , aber in Ubuntu 16.04 sind die entsprechenden Dateien neu genug, die Lösung besteht darin, einige Linkdateien zu erstellen, um die entsprechenden Dateien in Anaconda zu aktualisieren

Ach, toll. Schließen Sie das Problem, damit es nicht als ungelöst angezeigt wird

Am 21. November 2016 um 11:57 Uhr schrieb "yinshurman" [email protected] :

Hallo, danke für Ihre Fürsorge, das Problem wurde gelöst. Der entscheidende Punkt ist
dass ich Anaconda und die Dateien libgomp.so.1 und libstdc++.so.6 installiert habe
Anaconda scheint aus der Zeit zu geraten, da GOMP_4.0 und einige andere Dateien fehlen, aber in
Ubuntu 16.04 die entsprechenden Dateien sind neu genug, die Lösung ist zu machen
einige Link-Dateien, um die entsprechenden Dateien in Anaconda zu aktualisieren


Sie erhalten dies, weil Sie kommentiert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/dmlc/xgboost/issues/1786#issuecomment -261854524, oder stumm
der Faden
https://github.com/notifications/unsubscribe-auth/ACGUp9c5d-t8t-87qfMLYoJTk5cfW4_rks5rATnYgaJpZM4K2Gx1
.

@yinshurman würde es Ihnen etwas ausmachen, die Lösungsschritte zu posten!
Danke im Voraus

Schritt 1 : Prüfen Sie mit den folgenden Befehlen, ob die Datei libgomp.so.1 in anconda die benötigte Version GOMP_4.0 enthält (ersetzen Sie den Pfad in allen Schritten durch Ihren eigenen) :
strings /home/yin/anaconda3/bin/../lib/libgomp.so.1 |grep GOMP (wenn es keine GOMP_4.0-Version gibt, gehen Sie zu Schritt 2, andernfalls hinterlassen Sie einen Kommentar)
Schritt 2: um libgomp.so.1 in Ihrem Betriebssystem zu überprüfen:
sudo find / -name libgomp.so.1*
Schritt 3: Überprüfen Sie den Link in Anaconda:
ls -al /home/yin/anaconda3/bin/../lib/libgomp.so.1 Wenn der Link nicht auf die neueste Version in der Liste von Schritt 2 verweist, erstellen Sie einen neuen Link, um ihn zu aktualisieren, indem Sie:
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>
(zum Beispiel sudo ln -s /usr/.../libgomp.so.XXX /home/yin/anaconda3/bin/..libgomp.so.1 )
ps: Ohne meinen Computer kann ich mich nicht an den konkreten Pfad erinnern, aber diese Methode löst meine Probleme, tatsächlich werden in meinem Fall nicht nur GOMP_4.0, sondern auch einige andere Dateien nicht gefunden (zum Beispiel diese https ://github.com/dmlc/xgboost/issues/1700 ), diese Lösung funktioniert auch gut.

Es funktionierte. Vielen Dank @yinshurman

@yinshurman ....können Sie mir bitte Schritt für Schritt sagen, dass ich die Lösung für den folgenden Fehler nicht finde:

xgboost importieren
SError: /home/akash/anaconda2/bin/../lib/libgomp.so.1: Version `GOMP_4.0' nicht gefunden (erforderlich für /home/akash/anaconda2/lib/python2.7/site-packages/ xgboost/./lib/libxgboost.so

Ja es funktioniert. Diese Schritte funktionierten perfekt für die Pakete libeemd und pyeemd. Danke

Gibt es eine Möglichkeit, die libgomp lib in Anaconda zu aktualisieren
Nachdem ich eine symbolische Datei zu einer Systemdatei gemacht habe, wird stattdessen ein Fehler über libstdc++.so.6 gemeldet.

Vielleicht kannst du conda install libgcc ausprobieren, was auch solche Probleme lösen kann @jiqiujia

@yinshurman Vielen Dank. Es klappt!

@yinshurman Vielen Dank. Es klappt

Ich hatte ein ähnliches Problem und habe es behoben, indem ich Anaconda gcc von 4.8.5 auf 5.4.0 aktualisiert habe:

conda install -c salford_systems gcc-5

@yinshurman Ich hatte Probleme mit libgomp.so.1 und libstdc++.so.6 und es funktionierte für beide. Danke schön.

`GOMP_4.0' nicht gefunden
Dies ist ein Fehler aufgrund einer Nichtübereinstimmung der Versionen, mit denen xgboost erstellt wurde, und Versionen in der Conda-Umgebung, die xgboost zur Laufzeit verwendet.
Der einfachste Weg, das Problem zu lösen und nichts kaputt zu machen, besteht darin, xgboost explizit mit den Bibliotheken von Conda zu erstellen, wofür Folgendes getan werden muss:

  1. Starten Sie ein neues Terminal
    export LD_LIBRARY_PATH=~/work/anaconda3/lib #or whatever your anaconda install path is
  2. Stellen Sie sicher, dass Ihr Standard-Python aus der Anaconda-Distribution stammt:
    which python
    Wenn nicht, fügen Sie die Anaconda-Distribution zu PATH hinzu:
    export PATH=~/work/anaconda3/bin:$PATH
  3. Erstellen Sie xgboost neu und installieren Sie es neu
    cd ~/xgboost
    make clean_all
    make -j4
    cd python-package
    python setup.py install
  4. verifizieren

Sie können jetzt das Terminal schließen und ein neues starten, LD_LIBRARY_PAT muss nicht bestehen bleiben, da condas env. benötigte Bibliotheken erhalten.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen