Ответ 1
bazel clean --expunge
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license
bazel clean --expunge
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
Я пытаюсь построить тензор потока, использующий bazel, но я столкнулся с некоторыми ошибками во время сборки
ERROR:/private/var/tmp/_bazel_Kakadu/3f0c35881c95d2c43f04614911c03a57/external/local_config_cc/BUILD:49:5: in apple_cc_toolchain rule @local_config_cc//:cc-compiler-darwin_x86_64: Xcode version must be specified to use an Apple CROSSTOOL.
ERROR: Analysis of target '//tensorflow_serving/sources/storage_path:file_system_storage_path_source_proto' failed; build aborted.
Я уже пытался использовать bazel clean
и bazel clean --expunge
но это не помогло, и все же Bazel не видит мой xcode (я полагаю), но он полностью установлен. Я даже переустановил его, чтобы убедиться, что все работает нормально, но ошибка не исчезла
Моя версия Bazel
Build label: 0.5.2-homebrew
Build target: bazel-out/darwin_x86_64-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Jul 13 12:29:40 2017 (1499948980)
Build timestamp: 1499948980
Build timestamp as int: 1499948980
KakaduDevs-Mac-mini:serving Kakadu$
ОС MacOS Sierra версии 10.12.5
Что я должен сделать, чтобы указать версию XCode в Bazel, чтобы избежать этой ошибки? Кажется, что ошибка распространена, но я не нашел, как я могу сделать bazel build. PS Я пытаюсь установить Службу поддержки тензорного потока, как описано здесь. https://tensorflow.github.io/serving/setup
bazel clean --expunge
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license
bazel clean --expunge
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
Похоже, xcode_configure неправильно идентифицирует, что у вас установлен xcode. Иногда это может произойти, если вы устанавливаете xcode, но еще не полностью открыли его (он может попросить вас согласиться с Условиями и положениями до полной функциональности). Если это проблема, вам нужно bazel clean --expunge
после этого...
Если это не помогает, вы можете получить некоторую отладочную информацию, чтобы определить, что пошло не так, вызвав (после неудачной сборки):
cat $(bazel info output_base)/external/local_config_xcode/BUILD
Это должно содержать некоторые комментарии, относящиеся к сбоям в поиске установленных кодов.
Имела ту же проблему, и поскольку я использую бета-версию XCode, мне пришлось найти установку в /Downloads/Xcode-beta.app
вместо этого.
Кстати, решение для меня состояло в том, чтобы открыть XCode, перейти в "Настройки" и выбрать вкладку "Местоположения". Выпадающий список Command Line Tools
был пустым, и мне пришлось нажать его и выбрать версию (Xcode 9.0 в моем случае). Затем я запустил bazel clean --expunge
и повторил процесс сборки, не получив ошибку. Надеюсь, это поможет кому-то.
Для меня это была проблема лицензирования для xcodebuild. После запуска bazel clean --expunge
Я попытался запустить снова bazel, и у меня есть инструкция для запуска sudo xcodebuild -license
.
Я выполнил, принял условия лицензии, снова запустил bazel clean --expunge
и все снова начало работать.
Надеюсь, он решает некоторые из этих случаев.
Чтобы построить objc, Bazel требует, чтобы вы указали версию xcode - это обычно делается автоматически xcode_configure. Если это не работает, вы можете вручную указать версию xcode в командной строке, используя флаг -xcode_version.