2016-11-09 4 views
2

Ich hatte einige Anaconda/Python-Pakete auf meinem Linux (Ubuntu 15.10) zu aktualisieren, und als Ergebnis bekomme ich jetzt die folgende Fehlermeldung, die ich noch nie zuvor gesehen:OSError mit libnetcdf-Fortran: undefined Symbol

OSError: /usr/lib/x86_64-linux-gnu/libnetcdff.so.6: undefined symbol:nc_rename_grp 

Der Fehler tritt beim Aufruf eines Fortran-basierten Programms in einem Python-Skript auf. Beim Ausführen des gleichen Programms ohne Python funktioniert aber alles einwandfrei ...

Ich habe das Programm nach den Updates auch neu kompiliert, aber nichts geändert.

Hat jemand eine Ahnung, was hier vor sich geht?

+0

Ich denke, Anaconda bietet seine eigene netcdf-Bibliothek-Version irgendwo innerhalb seiner Verzeichnisstruktur. Vielleicht arbeiten Sie mit einem dynamisch verknüpften Objekt, das, wenn es innerhalb von Anaconda ausgeführt wird, erwartet, dass es die anaconda-lib-Version verwendet (die möglicherweise zusätzliche Symbole hat), aber Ihr 'LD_LIBRARY_PATH' oder ähnliches bedeutet, dass es die Systemversion übernimmt (oder umgekehrt) . Können Sie etwas näher erläutern, was das Programm "fortran" ist und wie Sie es ausführen, d. H., Verwenden Sie einfach einen Systemaufruf in Python, um eine ausführbare Datei auszuführen? Wenn ja, kannst du 'ldd myExecutable' von python und von außen python machen. –

+0

In britischem Englisch bezieht sich Programm auf Computerprogramme und ihre Programmierung, und Programm wird für alle anderen Bedeutungen des Wortes verwendet. –

Antwort

0

Das Symbol nc_rename_grp ist in libnetcdf.so definiert. Wenn Sie den Fortran-Code subprocess ausgeführt werden, dann werden Sie das env zu erklären haben, wie folgt:

env["LD_LIBRARY_PATH"] = "/usr/lib/x86_64-linux-gnu" 
h = subprocess.Popen(cmd,env=env) 
0

Danke für Ihre Hilfe alle. Das Problem wurde durch einen falsch gesetzten Pfad zu den netcdf-Bibliotheken in ./bashrc verursacht und daher funktionierte das Programm (das ist ein Computerprogramm/Modell) nicht richtig. Alles ist jetzt gelöst und Programm/Modell läuft!

Verwandte Themen