Obtenir les erreurs suivantes qui essaient de compiler TensorFlow à partir de la source . Toute idée serait utile.
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
bazel-out/Host/bin/_solib_local/_U_S_Stensorflow_Spython_Cgen_Unn_Uops_Upy_Uwrappers_Ucc___Utensorflow/libtensorflow_framework.so: undefined reference to `[email protected]'
Il semble y avoir un bug dans notre construction. J'ai pu reproduire le même sur ma machine. Il semble que la valeur de LD_LIBRARY_PATH
ne soit pas toujours correctement propagée lors de la construction de bazel. Dans mon cas, j'ai réussi à construire lorsque j'ai utilisé cette commande:
bazel build --config=opt --config=cuda tensorflow/tools/pip_package:build_pip_package --action_env="LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
J'ai rencontré la même erreur hier en essayant de créer tensorflow à partir de la source par rapport à un cuda 9.0 apparemment valide. Dans mon cas, aucune combinaison de git clean
et action_env
n'aidifié - ld
via bazel ne refuserait systématiquement de reconnaître les bibliothèques cuda.
J'ai fini par suivre les instructions de ce fil de discussion : En tant que root, créez un fichier /etc/ld.so.conf.d/cuda.conf
avec la ligne
/usr/local/cuda/lib64
(En supposant que votre /usr/local/cuda/
soit lié à votre répertoire cuda concret, par exemple, /usr/local/cuda-9.0/
.)
Ensuite, lancez Sudo ldconfig
. Avec cela, la construction se poursuit, et tensorflow utilise mon GPU.
Pour tenter de rendre ce problème plus facile à rechercher: Le message d'erreur que j'ai reçu est également inclus en haut:
libcublas.so.9.0, needed by bazel-out/[...]/libtensorflow_framework.so, not found (try using -rpath or -rpath-link)
et ainsi de suite pour libcudnn etc.
Lorsque j'ai rencontré ce problème, j'ai d'abord ajouté /usr/local/cuda/lib64
et /usr/local/cuda/extras/CUPTI/lib64
à mon LD_LIBRARY_PATH
et essayé de reconstruire (sans --action_env
). N'a pas fonctionné.
J'ai ensuite fait une reconfiguration et une construction propres, là encore sans --action_env
, et cela a fonctionné. J'ai nettoyé mon référentiel à l'aide de git clean -xdf
, qui, attention, supprimera tous les fichiers de votre référentiel inconnus de git. :)
Peut-être que --action_env
aurait évité le besoin de faire une reconstruction propre, je ne sais pas. Mais si les bibliothèques se trouvaient dans votre LD_LIBRARY_PATH
avant la toute première construction, je suppose que vous n’auriez pas besoin de --action_env
.