Поскольку у меня нет доступа root на моей машине, я создал и установил swig из источника в нестандартном каталоге (/scratch/swig/build
), и я хочу, чтобы bazel его использовал. Так что, когда я пытаюсь построить tensorflow, я получаю ошибку, что SWIG не может быть найден:Bazel: используйте swig из нестандартного местоположения
INFO: Found 1 target...
INFO: From SWIGing tensorflow/python/tensorflow.i:
bazel-out/host/bin/tensorflow/swig: line 17: swig: command not found
Проверка swig
сценарий упоминается в сообщении об ошибке, это просто скрипт, который делает:
#!/bin/bash
swig "[email protected]"
Печать $PATH
из этого сценария показывает это:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.
Я не могу добавить переменную $ PATH в Swig сценарий, потому что он получает переделал на сборке. Итак, как я могу сказать, что использовать мое нестандартное местоположение swig?
Я модифицировал 'swig.sh', и теперь я получаю' bazel-out/host/bin/tensorflow/swig: строка 3:/scratch/package/install/bin/swig: Нет такого файла или каталога'. Я получил свинг-дир, выполнив «какой swig». Если я заменил swig.sh на двоичный файл swig, я получаю сообщение об ошибке «swig.swg» и 'python.swg' –
Как вы изменили' swig.sh'? – Amber
Я изменил его на: '/ scratch/package/install/bin/swig" $ @ "'. После этого я добавил некоторые сценарии 'ls' в скрипт, и кажется, что bazel не может видеть этот каталог (он может видеть только несколько ограниченного количества каталогов и файлов внутри них). –