使用Bazel在RPi3上构建Tensorflow:规则'@boringssl //:crypto'的C ++编译失败

时间:2017-11-02 12:16:43

标签: gcc tensorflow raspberry-pi3 bazel

尝试在Raspberry PI 3B上运行tensorflow。

遵循指南:https://github.com/samjabrahams/tensorflow-on-raspberry-pi/blob/master/GUIDE.md#3-build-bazel

一切顺利,直到以下步骤:

pi@raspberrypi:~/tf/tensorflow $ bazel build -c opt --jobs 1 --copt="-mfpu=neon-vfpv4" --copt="-funsafe-math-optimizations" --copt="-ftree-vectorize" --copt="-fomit-frame-pointer" --local_resources 1024,1.0,1.0 --verbose_failures tensorflow/tools/pip_package:build_pip_package

gcc是4.8, bazel是5.4 Raspbian 9(Stretch)

  

错误:   /home/pi/.cache/bazel/_bazel_pi/477..6d/external/boringssl/BUILD:115:1:   规则'@boringssl //:crypto'的C ++编译失败(退出1):gcc   失败:错误执行命令

以下是错误消息之后的内容:

     (cd /home/pi/.cache/bazel/_bazel_pi/477..6d/execroot/org_tensorflow && \
          exec env - \


    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games \
                PWD=/proc/self/cwd \
                PYTHON_BIN_PATH=/usr/bin/python \
                PYTHON_LIB_PATH=/usr/local/lib/python2.7/dist-packages \
                TF_NEED_CUDA=0 \
                TF_NEED_OPENCL=0 \
              /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -B/usr/bin -B/usr/bin -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '  -D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-
   sections -fdata-sections '-mfpu=neon-vfpv4' -funsafe-math-optimizations -ftree-vectorize -fomit-frame-pointer -MD -MF bazel-out/local-opt/bin/external/boringssl/_objs/crypto/external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.pic.d -fPIC -iquote external/boringssl -iquote bazel-out/local-opt/genfiles/external/boringssl -iquote external/bazel_tools -iquote bazel-out/local-opt/genfiles/external/bazel_tools -isystem external/boringssl/src/include -isystem bazel-out/local-opt/genfiles/external/boringssl/src/include -isystem external/bazel_tools/tools/cpp/gcc3 -DOPENSSL_NO_ASM -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c 

    external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c -o bazel-out/local-opt/bin/external/boringssl/_objs/crypto/external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.pic.o).
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c: In function 'gcm_siv_crypt':
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c:616:3: 

    error: 'for' loop initial declarations are only allowed in C99 mode
               for (size_t done = 0; done < in_len;) {
               ^
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c:616:3: note: use option -std=c99 or -std=gnu99 to compile your code
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c:626:5: 

    error: 'for' loop initial declarations are only allowed in C99 mode
                 for (size_t i = 0; i < todo; i++) {
                 ^
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c: In function 'gcm_siv_polyval':
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c:673:3: error: 'for' loop initial declarations are only allowed in C99 mode
               for (size_t i = 0; i < EVP_AEAD_AES_GCM_SIV_NONCE_LEN; i++) {
               ^
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c: In function 'gcm_siv_keys':
            external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c:703:3: error: 'for' loop initial declarations are only allowed in C99 mode
               for (size_t i = 0; i < blocks_needed; i++) {
               ^
            Target //tensorflow/tools/pip_package:build_pip_package failed to build
            INFO: Elapsed time: 69.995s, Critical Path: 1.36s

为此找到了几个不同的问题但到目前为止没有任何效果。 我认为它可能是gcc版本。

0 个答案:

没有答案