Ich versuche, Caffe aus einem Git-Checkout auf Ubuntu 16.04 zu erstellen.
Ich habe den GCC5-Workaround gefunden und die HF5-Probleme gelöst, stecke jetzt aber fest.
Ich habe die meisten Abhängigkeiten aufgelöst, hänge aber bei diesen fest.
/usr/bin/ld: warning: libcudart.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcublas.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcurand.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_system.so.1.55.0, needed b
/usr/lib/libcaffe.so, may conflict with libboost_system.so.1.58.0
/usr/bin/ld: warning: libboost_thread.so.1.55.0, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_python-py27.so.1.55.0, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
Ubuntu 16.04 wird mit Boost 1.58 ausgeliefert und das 1.55-Paket ist im Repo nicht mehr verfügbar. Weiß jemand, wo ich es finden kann und wie ich es installieren kann, ohne andere Boost-Pakete zu beschädigen?
Ich bin mir auch nicht sicher, wo ich die libcu*-Dateien herbekommen soll.
Hat jemand eine Möglichkeit herausgefunden, dieses Problem zu umgehen, oder plant jemand, ein Schnellpaket mit Kaffee herzustellen, das diese Schmerzen lindert?
Bearbeiten: Die Maschine, auf der ich dies mache, ist ein Dell Precision M3800 mit einer NVIDIA Corporation GK107GLM [Quadro K1100M] (Rev. A1) in Optimus mit einem Intel 4600
Bearbeiten: Die Fehlermeldung schlägt -rpath vor. Irgendwelche Vorschläge, wie man das nutzen kann?
Bearbeiten: Ich habe heute Morgen (18. Mai 2016) gerade einen Git Pull meiner Caffe-Quellen durchgeführt und es scheint, dass Caffe jetzt auf die Versionen 1.58 der Boost-Bibliotheken und die 7.5 Cuda-Bibliotheken umgestiegen ist, also verwende ich die auf meinem System installierten, aber das ist noch nicht stabil und die Kompilierung schlägt mit Seiten voller Warnungen und Fehlern fehl. Hoffentlich ist das der Anfang der Fehlerbehebung …
Aktualisieren:
Ich habe den Rat von user.dz befolgt, die mitgelieferten CUDA-Tools zu verwenden.
apt-get install nvidia-cuda-toolkit
das hat funktioniert und ich bin über den schwierigen Teil hinweggekommen! Danke @user.dz :)
beim Erstellen von Caffe traten immer noch jede Menge Kompilierungsfehler auf. Diese konnten behoben werden, indem man danach googelte und Posts mit Workarounds fand. Zu viele, um sie aufzulisten.
Dadurch bin ich an den Punkt gekommen, an dem ich Caffe (mit vielen, vielen Warnungen von Boost) erfolgreich kompilieren konnte. Ich denke also, das bedeutet, dass diese Frage beantwortet ist. Vielen Dank an alle, insbesondere an user.dz!
nebenbei:
Ich stecke jetzt fest und versuche, pycaffe zu erstellen. Es beschwert sich überlibboost_python3wird nicht gefunden, ich habe das Paket installiert, aber es scheint, dass es keine .so-Version gibt, sondern nur eine .a, dadurch schlägt der Build aufgrund eines nicht unterstützten Umzugsfehlers fehl. Irgendwelche Ideen? Ich werde eine neue Frage dazu starten und einen Link dazu posten
pycaffe erstellt jetzt, habe es mit einem frechen Symlink repariert :)
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/lib/x86_64-linux-gnu/libboost_python3.so
Antwort1
Es scheint ein absolutes Paket zu sein, weshalb es nicht in der Suche aufgeführt wird.pakete.ubuntu.comund kann hier bezogen werden:
http://archive.ubuntu.com/ubuntu/pool/multiverse/n/nvidia-cuda-toolkit/
In anderen Fällen ist dies nicht der Fall. Sie können auch im Repository für alte Versionen suchen:
http://old-releases.ubuntu.com/ubuntu/pool/universe/n/nvidia-cuda-toolkit/
Extrahieren Sie sie und kopieren Sie die benötigten gemeinsam genutzten Objekte (Bibliotheken) nach
/usr/local/lib/
Sie können dasselbe für Boost-Bibliotheken tun. Diese Bibliotheken sind versioniert, sodass Sie mehrere davon in dasselbe System einfügen können. Die einzige Einschränkung für eine einfache Installation ist die Verpackung, sie wurden unter demselben Namen abgelegt.
Wenn Sie der Meinung sind, dass mehrere Versionen im selben System erforderlich sind und das System breit anwendbar ist, reichen Sie einen Fehlerbericht dazu ein.
Antwort2
Ich denke, die Bibliotheksversion für libcudart in Xenial ist7.5. Können Sie stattdessen versuchen, diese anzuvisieren (dasselbe gilt für libcublas und libcurand)?
Boost wurde auf Version erhöht.58. Möglicherweise müssen Sie libboost-system-dev
zusätzlich Folgendes installieren libbost-system
(Ich bin kein Boot-Entwickler, also seien Sie vorsichtig). Dasselbe gilt für libboost-thread und libboost-python.
Es ist sehr gut möglich, dass sie die Pakete nicht so geändert haben, dass sie mit 16.04 übereinstimmen, und stattdessen auf Trusty abzielen, das diese Paketversionen zu haben scheint.