Je tente d'exécuter une application de flacon avec mod_wsgi sur Ubuntu 16.04. Je rencontre un problème lors de la définition de la variable d'environnement $LD_LIBRARY_PATH$
. Je peux placer ceci dans mon dossier ~.bashrc
, et par conséquent je peux importer toutes mes bibliothèques et dépendances sans problème. Cependant, il semble apache semble effacer ces variables d'environnement.Comment configurer LD_LIBRARY_PATH avec apache
L'erreur que je reçois dans mon fichier journal est le suivant
ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory
Il y a deux bibliothèques python j'importe qui nécessitent MKL. Le premier ne semble pas se plaindre. Cependant, la deuxième bibliothèque ne peut pas être importée en raison de l'erreur mkl.
Je trouve cela étrange, j'ai donc recompilé la deuxième bibliothèque Python après avoir défini la variable d'environnement $LD_RUN_PATH
sur les chemins mkl. Cependant, il est toujours impossible de trouver mkl.
Comment puis-je configurer apache en conséquence? Toutes les autres importations fonctionnent bien. Je suis capable d'exécuter les scripts de flac seul sans apache, donc je suis à peu près sûr que c'est un problème d'apache.
Si vous êtes confiant vous définissez '' LD_RUN_PATH'' correctement lors de la compilation des bibliothèques ou modules Python qui avaient besoin '' '' libmk_rt.so'' et ldd '' sur ces binaires montrent qu'il est correctement trouvé sans avoir '' LD_LIBRARY_PATH'' en train d'être défini, le problème peut être que la bibliothèque ou le répertoire dans lequel il se trouve peut ne pas être lisible par l'utilisateur qu'Apache exécute votre code. –
J'ai lancé ldd sur la bibliothèque et le chemin de la bibliothèque mkl est apparu. Qu'est-ce que ça veut dire? – user3543300
En fait, j'ai réalisé que j'avais aussi des erreurs d'importation sur d'autres bibliothèques. Il semble que Apache ne trouve pas beaucoup d'autres bibliothèques python. – user3543300