[grpc-io] Re: Corss-compile gRPC to ARM architecture
Hi , Is there any progress on this issue ? ,got any ideas? we also facing same error. On Wednesday, November 16, 2016 at 4:06:42 PM UTC+5:30 cle...@gmail.com wrote: > Hi, > > I am trying to cross-compile gRPC with arm-linux-gnueabi. > I am on Ubuntu 14.04, i686-linux-gnu. > I have already cross-compiled all the third parties (OpenSSL, zlib and > protobuf) in particular directories. > To cross-compile gRPC I use CMakeLists. For that, I create a cmake-build > directory in which I use the command : cmake ../ -G"Unix Makefiles" > -DCMAKE_C_COMPILER=arm-linux-gnueabi-gcc > -DCMAKE_CXX_COMPILER=arm-linux-gnueabi-g++. > Then I run make. > Every thing seems fine until 80% where I get these errors : > > third_party/boringssl/crypto/libcrypto.a(sha1.c.o): In function > `SHA1_Update': > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/md32_common.h:188: > > undefined reference to `sha1_block_data_order' > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/md32_common.h:204: > > undefined reference to `sha1_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha1.c.o): In function > `SHA1_Transform': > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/md32_common.h:219: > > undefined reference to `sha1_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha1.c.o): In function > `SHA1_Final': > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/ > md32_common.h:235: undefined reference to `sha1_block_data_order' > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/md32_common.h:249: > > undefined reference to `sha1_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha256.c.o): In function > `SHA256_Update': > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/ > md32_common.h:188: undefined reference to `sha256_block_data_order' > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/md32_common.h:204: > > undefined reference to `sha256_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha256.c.o): In function > `SHA256_Transform': > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/ > md32_common.h:219: undefined reference to `sha256_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha256.c.o): In function ` > SHA256_Final': > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/md32_common.h:235: > > undefined reference to `sha256_block_data_order' > /home//grpc_arm/third_party/boringssl/crypto/sha/../digest/ > md32_common.h:249: undefined reference to `sha256_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha512.c.o): In function ` > SHA512_Transform': > /home//grpc_arm/third_party/boringssl/crypto/sha/sha512.c:174: > undefined reference to `sha512_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha512.c.o): In function > `SHA512_Update': > /home//grpc_arm/third_party/boringssl/crypto/sha/sha512.c:206: > undefined reference to `sha512_block_data_order' > /home//grpc_arm/third_party/boringssl/crypto/sha/sha512.c:215: > undefined reference to `sha512_block_data_order' > /home//grpc_arm/third_party/boringssl/crypto/sha/sha512.c:222: > undefined reference to `sha512_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha512.c.o): In function ` > SHA512_Final': > /home//grpc_arm/third_party/boringssl/crypto/sha/sha512.c:246: > undefined reference to `sha512_block_data_order' > third_party/boringssl/crypto/libcrypto.a(sha512.c.o):/home/ > /grpc_arm/third_party/boringssl/crypto/sha/sha512.c:267: more undefined > references to `sha512_block_data_order' follow > third_party/boringssl/crypto/libcrypto.a(e_aes.c.o): In function ` > CRYPTO_is_NEON_capable': > /home//grpc_arm/third_party/boringssl/crypto/../include/openssl/cpu.h:116: > > undefined reference to `CRYPTO_is_NEON_capable_at_runtime' > third_party/boringssl/crypto/libcrypto.a(e_aes.c.o): In function > `hwaes_capable': > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:123: > undefined reference to `CRYPTO_is_ARMv8_AES_capable' > third_party/boringssl/crypto/libcrypto.a(e_aes.c.o): In function > `aes_init_key': > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:299: > undefined reference to `aes_v8_set_decrypt_key' > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:321: > undefined reference to `aes_v8_set_encrypt_key' > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:351: > undefined reference to `aes_v8_decrypt' > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:351: > undefined reference to `aes_v8_cbc_encrypt' > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:351: > undefined reference to `bsaes_cbc_encrypt' > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:351: > undefined reference to `aes_v8_encrypt' > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.c:351: > undefined reference to `aes_v8_ctr32_encrypt_blocks' > /home//grpc_arm/third_party/boringssl/crypto/cipher/e_aes.
[grpc-io] Re: Corss-compile gRPC to ARM architecture
Hi , we also used this same script and same grpc version v1.46.7 for ARM arm-linux-gnueabi-g++ and arm-linux-gnueabi-gcc . we still facing same issue. could you please help us to solve this issue?? libcrypto.a(bcm.c.o): In function `vpaes_ctr32_encrypt_blocks_with_bsaes': bcm.c:(.text+0x8c04): undefined reference to `vpaes_encrypt_key_to_bsaes' bcm.c:(.text+0x8c1c): undefined reference to `bsaes_ctr32_encrypt_blocks' bcm.c:(.text+0x8c88): undefined reference to `vpaes_ctr32_encrypt_blocks' bcm.c:(.text+0x8ca8): undefined reference to `vpaes_ctr32_encrypt_blocks' libcrypto.a(bcm.c.o): In function `sha256_final_impl': bcm.c:(.text+0x11a8c): undefined reference to `sha256_block_data_order' bcm.c:(.text+0x11af8): undefined reference to `sha256_block_data_order' libcrypto.a(bcm.c.o): In function `sha512_final_impl': bcm.c:(.text+0x133d0): undefined reference to `sha512_block_data_order' bcm.c:(.text+0x13470): undefined reference to `sha512_block_data_order' libcrypto.a(bcm.c.o): In function `sha224_update': bcm.c:(.text+0x139fc): undefined reference to `sha256_block_data_order' libcrypto.a(bcm.c.o): In function `sha256_update': bcm.c:(.text+0x13a58): undefined reference to `sha256_block_data_order' libcrypto.a(bcm.c.o): In function `sha1_update': bcm.c:(.text+0x13ab4): undefined reference to `sha1_block_data_order' libcrypto.a(bcm.c.o): In function `AES_encrypt': bcm.c:(.text+0x14a0c): undefined reference to `vpaes_encrypt' bcm.c:(.text+0x14a20): undefined reference to `aes_hw_encrypt' libcrypto.a(bcm.c.o): In function `AES_decrypt': bcm.c:(.text+0x165bc): undefined reference to `vpaes_decrypt' bcm.c:(.text+0x165d0): undefined reference to `aes_hw_decrypt' libcrypto.a(bcm.c.o): In function `aes_unwrap_key_inner.part.16': bcm.c:(.text+0x16704): undefined reference to `aes_hw_decrypt' bcm.c:(.text+0x1670c): undefined reference to `vpaes_decrypt' libcrypto.a(bcm.c.o): In function `md5_sha1_update': bcm.c:(.text+0x171a0): undefined reference to `sha1_block_data_order' libcrypto.a(bcm.c.o): In function `AES_set_encrypt_key': bcm.c:(.text+0x1897c): undefined reference to `vpaes_set_encrypt_key' bcm.c:(.text+0x18990): undefined reference to `aes_hw_set_encrypt_key' libcrypto.a(bcm.c.o): In function `AES_set_decrypt_key': bcm.c:(.text+0x189ec): undefined reference to `vpaes_set_decrypt_key' bcm.c:(.text+0x18a00): undefined reference to `aes_hw_set_decrypt_key' libcrypto.a(bcm.c.o): In function `aes_init_key': bcm.c:(.text+0x18a68): undefined reference to `aes_hw_set_encrypt_key' bcm.c:(.text+0x18ac0): undefined reference to `vpaes_set_encrypt_key' bcm.c:(.text+0x18b70): undefined reference to `aes_hw_set_decrypt_key' bcm.c:(.text+0x18c20): undefined reference to `vpaes_set_decrypt_key' bcm.c:(.text+0x18c4c): undefined reference to `vpaes_set_decrypt_key' bcm.c:(.text+0x18c78): undefined reference to `vpaes_decrypt_key_to_bsaes' bcm.c:(.text+0x18c84): undefined reference to `aes_hw_encrypt' bcm.c:(.text+0x18c88): undefined reference to `vpaes_encrypt' bcm.c:(.text+0x18c9c): undefined reference to `aes_hw_decrypt' bcm.c:(.text+0x18ca0): undefined reference to `aes_hw_cbc_encrypt' bcm.c:(.text+0x18ca4): undefined reference to `aes_hw_ctr32_encrypt_blocks' bcm.c:(.text+0x18cb0): undefined reference to `vpaes_decrypt' bcm.c:(.text+0x18cb4): undefined reference to `bsaes_cbc_encrypt' libcrypto.a(bcm.c.o): In function `ctr_drbg_update.part.131': bcm.c:(.text+0x18f5c): undefined reference to `vpaes_set_encrypt_key' bcm.c:(.text+0x18f84): undefined reference to `aes_hw_set_encrypt_key' bcm.c:(.text+0x18fdc): undefined reference to `vpaes_encrypt' bcm.c:(.text+0x18fe4): undefined reference to `aes_hw_encrypt' bcm.c:(.text+0x18fe8): undefined reference to `aes_hw_ctr32_encrypt_blocks' libcrypto.a(bcm.c.o): In function `CTR_DRBG_init.part.132': bcm.c:(.text+0x1952c): undefined reference to `aes_hw_set_encrypt_key' bcm.c:(.text+0x195cc): undefined reference to `vpaes_set_encrypt_key' bcm.c:(.text+0x19648): undefined reference to `aes_hw_encrypt' bcm.c:(.text+0x1964c): undefined reference to `aes_hw_ctr32_encrypt_blocks' bcm.c:(.text+0x19650): undefined reference to `vpaes_encrypt' libcrypto.a(bcm.c.o): In function `ctr_drbg_update.part.131.constprop.221': bcm.c:(.text+0x1981c): undefined reference to `vpaes_set_encrypt_key' bcm.c:(.text+0x19844): undefined reference to `aes_hw_set_encrypt_key' bcm.c:(.text+0x1989c): undefined reference to `vpaes_encrypt' bcm.c:(.text+0x198a4): undefined reference to `aes_hw_encrypt' bcm.c:(.text+0x198a8): undefined reference to `aes_hw_ctr32_encrypt_blocks' libcrypto.a(bcm.c.o): In function `AES_wrap_key': bcm.c:(.text+0x199fc): undefined reference to `aes_hw_encrypt' bcm.c:(.text+0x19a04): undefined reference to `vpaes_encrypt' libcrypto.a(bcm.c.o): In function `AES_unwrap_key_padded': bcm.c:(.text+0x19fc0): undefined reference to `aes_hw_decrypt' bcm.c:(.text+0x19fc8): undefined reference to `vpaes_decrypt' libcrypto.a(bcm.c.o): In function `AES_ecb_encrypt': bcm.c:(.text+0x1a034): undefined