Parce que je n'ai pas d'accès root sur ma machine, j'ai construit et installé swig à partir de la source dans un répertoire non-standard (/scratch/swig/build
) et je veux que bazel l'utilise. Alors, quand j'essaie de construire tensorflow, je reçois l'erreur que rasade ne peut pas être trouvé:Bazel: Utiliser swig à partir d'un emplacement non standard
INFO: Found 1 target...
INFO: From SWIGing tensorflow/python/tensorflow.i:
bazel-out/host/bin/tensorflow/swig: line 17: swig: command not found
Vérification du script swig
mentionné dans l'erreur, il est juste un script qui fait:
#!/bin/bash
swig "[email protected]"
Impression du $PATH
de ce script montre qu'il est:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.
Je ne peux pas ajouter la variable $ PATH dans le script rasade, car il se refaisait sur la construction. Alors, comment puis-je dire à bazel d'utiliser mon emplacement de swig non standard?
J'ai modifié 'swig.sh', et maintenant je reçois' bazel-out/hôte/bin/tensorflow/swig: ligne 3:/scratch/paquet/install/bin/swig: Aucun fichier ou répertoire'. J'ai eu le swig dir en courant "quelle swig". Si je remplace swig.sh par le swig binary, j'obtiens une erreur qu'il ne peut pas trouver 'swig.swg' et' python.swg' –
Comment avez-vous modifié 'swig.sh'? – Amber
Je l'ai changé pour: '/ scratch/paquet/install/bin/swig" $ @ "'. Après, j'ai ajouté quelques instructions 'ls' au script et il semble que bazel ne puisse pas réellement voir ce répertoire (il ne peut voir qu'un très petit nombre de répertoires et de fichiers en leur sein). –