tarantool / docker

Docker images for tarantool database
https://hub.docker.com/r/tarantool/tarantool
52 stars 25 forks source link

Ubuntu focal on arm 'mqtt' installation error: 'dangerous relocation: unsupported relocation' #233

Open artembo opened 2 years ago

artembo commented 2 years ago

The error occurred when the 'mqtt' rock installation. It is disabled for the current tag 2.10.0-ubuntu-aarch64.

#6 1168.6 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(sha1-armv8.o): relocation R_AARCH64_PREL64 against symbol `OPENSSL_armcap_P' which may bind externally can not be used when making a shared object; recompile with -fPIC
#6 1168.6 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(sha1-armv8.o): in function `sha1_block_armv8':
#6 1168.6 (.text+0x1240): dangerous relocation: unsupported relocation
#6 1168.6 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(chacha-armv8.o): relocation R_AARCH64_PREL64 against symbol `OPENSSL_armcap_P' which may bind externally can not be used when making a shared object; recompile with -fPIC
#6 1168.6 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(chacha-armv8.o):(.text+0x20): dangerous relocation: unsupported relocation
#6 1168.6 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(poly1305-armv8.o): relocation R_AARCH64_ADR_PREL_LO21 against symbol `poly1305_blocks' which may bind externally can not be used when making a shared object; recompile with -fPIC
#6 1168.6 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(poly1305-armv8.o): in function `poly1305_init':
#6 1168.6 (.text+0x40): dangerous relocation: unsupported relocation
#6 1168.6 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(poly1305-armv8.o): relocation R_AARCH64_ADR_PREL_LO21 against symbol `poly1305_emit' which may bind externally can not be used when making a shared object; recompile with -fPIC
#6 1168.6 (.text+0x48): dangerous relocation: unsupported relocation
#6 1168.6 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(poly1305-armv8.o): relocation R_AARCH64_PREL64 against symbol `OPENSSL_armcap_P' which may bind externally can not be used when making a shared object; recompile with -fPIC
#6 1168.6 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(poly1305-armv8.o): in function `poly1305_emit_neon':
#6 1168.6 (.text+0x9a0): dangerous relocation: unsupported relocation
#6 1168.6 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(sha256-armv8.o): relocation R_AARCH64_PREL64 against symbol `OPENSSL_armcap_P' which may bind externally can not be used when making a shared object; recompile with -fPIC
#6 1168.6 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(sha256-armv8.o): in function `sha256_block_data_order':
#6 1168.6 (.text+0xf88): dangerous relocation: unsupported relocation
#6 1168.6 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(sha512-armv8.o): relocation R_AARCH64_PREL64 against symbol `OPENSSL_armcap_P' which may bind externally can not be used when making a shared object; recompile with -fPIC
#6 1168.6 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libcrypto.a(sha512-armv8.o): in function `sha512_block_data_order':
#6 1168.6 (.text+0x1108): dangerous relocation: unsupported relocation
#6 1168.6 collect2: error: ld returned 1 exit status
Totktonada commented 2 years ago

It seems, /usr/lib/aarch64-linux-gnu/libcrypto.a is built without -fPIC. From where the library comes? It is quite unusual to see a library built without -fPIC in a Linux distribution that is released somewhere in a last ten years at least, because it means that the library can't be used in any -fPIC (dynamic library) or -fPIE (executable) code. Linux distros also use -fPIE by default for years.

I mean, if it comes from distro's repositories, it can be considered as the problem in the package and worth a notice for its maintainers.

ylobankov commented 1 year ago

Related to https://github.com/tarantool/docker/pull/259.