J'essaie de créer un serveur tensorflow en utilisant bazel mais j'ai rencontré des erreurs lors de la construction
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.
J'ai déjà essayé d'utiliser bazel clean
et bazel clean --expunge
mais cela n'a pas aidé et Bazel ne voit toujours pas mon xcode (je suppose) mais il est complètement installé. Je l'ai même réinstallé pour m'assurer que tout fonctionne bien mais l'erreur n'a pas disparu
Ma version Bazel est
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$
Le système d'exploitation est MacOS Sierra version 10.12.5
Que dois-je faire pour spécifier la version Xcode dans bazel pour éviter cette erreur? Il semble que l'erreur soit courante mais je n'ai pas trouvé comment faire la construction du bazel. P.S J'essaie d'installer le tensorflow comme il est expliqué ici. 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
Il semble que xcode_configure n'identifie pas correctement que vous avez installé xcode. Cela peut parfois se produire si vous installez xcode mais ne l'avez pas encore complètement ouvert (il peut vous demander d'accepter les conditions générales avant d'être pleinement fonctionnel). Si c'est le problème, vous devrez à nouveau bazel clean --expunge
Après cela ...
Si cela ne vous aide pas, vous pouvez obtenir des informations de débogage pour identifier ce qui ne va pas, en appelant (après un build échoué):
cat $(bazel info output_base)/external/local_config_xcode/BUILD
Celui-ci devrait contenir quelques commentaires concernant les échecs dans la recherche de vos xcodes installés.
J'ai eu le même problème, et comme j'utilise une version bêta de XCode, j'ai dû trouver l'installation dans /Downloads/Xcode-beta.app
au lieu.
Soit dit en passant, la solution pour moi était d'ouvrir XCode, d'aller dans les Préférences et de sélectionner l'onglet Emplacements. Le Command Line Tools
la liste déroulante était vide, et j'ai dû appuyer dessus et sélectionner une version (Xcode 9.0 dans mon cas). J'ai ensuite couru bazel clean --expunge
et a répété le processus de génération sans obtenir l'erreur. J'espère que cela aide quelqu'un.
Pour moi, c'était un problème de licence pour xcodebuild. Après avoir exécuté bazel clean --expunge
J'ai essayé de relancer Bazel et j'ai reçu l'instruction d'exécuter Sudo xcodebuild -license
. J'ai exécuté, accepté les termes du contrat de licence, relancez bazel clean --expunge
et tout a recommencé à fonctionner. J'espère que cela résoudra certains des cas.
Afin de construire objc, Bazel nécessite que vous spécifiiez une version de xcode - cela se fait généralement automatiquement par xcode_configure . Si cela ne fonctionne pas, vous pouvez spécifier manuellement la version de xcode sur la ligne de commande en utilisant l'indicateur --xcode_version.