When installing the arm compiler on RHEL 8 or LEAP 15 the package gcc-11.2.0-Generic-AArch64-gcc-11.2.0-Generic-AArch64-* only lists following provides:
# rpm -q gcc-11.2.0-Generic-AArch64-RHEL-8-aarch64-linux-11.2.0-223.aarch64 --providesgcc-11.2.0-Generic-AArch64-RHEL-8-aarch64-linux = 11.2.0-223gcc-11.2.0-Generic-AArch64-RHEL-8-aarch64-linux(aarch-64) = 11.2.0-223libasan.so()(64bit)libasan.so.6()(64bit)libasan.so.6.0.0()(64bit)libatomic.so()(64bit)libatomic.so.1()(64bit)libatomic.so.1.2.0()(64bit)libcc1.so()(64bit)libcc1.so.0()(64bit)libcc1.so.0.0.0()(64bit)libcc1plugin.so()(64bit)libcc1plugin.so.0()(64bit)libcc1plugin.so.0.0.0()(64bit)libcp1plugin.so()(64bit)libcp1plugin.so.0()(64bit)libcp1plugin.so.0.0.0()(64bit)libdep.so()(64bit)libgcc_s.so()(64bit)libgcc_s.so.1()(64bit)libgfortran.so()(64bit)libgfortran.so.5()(64bit)libgfortran.so.5.0.0()(64bit)libgomp.so()(64bit)libgomp.so.1()(64bit)libgomp.so.1.0.0()(64bit)libhwasan.so()(64bit)libhwasan.so.0()(64bit)libhwasan.so.0.0.0()(64bit)libitm.so()(64bit)libitm.so.1()(64bit)libitm.so.1.0.0()(64bit)liblsan.so()(64bit)liblsan.so.0()(64bit)liblsan.so.0.0.0()(64bit)liblto_plugin.so()(64bit)libssp.so()(64bit)libssp.so.0()(64bit)libssp.so.0.0.0()(64bit)libstdc++.so()(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.22)(64bit)libstdc++.so.6(GLIBCXX_3.4.23)(64bit)libstdc++.so.6(GLIBCXX_3.4.25)(64bit)libstdc++.so.6.0.29()(64bit)libstdc++.so.6.0.29-gdb.py()(64bit)libtsan.so()(64bit)libtsan.so.0()(64bit)libtsan.so.0.0.0()(64bit)libubsan.so()(64bit)libubsan.so.1()(64bit)libubsan.so.1.0.0()(64bit)
# rpm -q gcc-11.2.0-Generic-AArch64-RHEL-8-aarch64-linux-11.2.0-223.aarch64 --provides
gcc-11.2.0-Generic-AArch64-RHEL-8-aarch64-linux = 11.2.0-223
gcc-11.2.0-Generic-AArch64-RHEL-8-aarch64-linux(aarch-64) = 11.2.0-223
libasan.so()(64bit)
libasan.so.6()(64bit)
libasan.so.6.0.0()(64bit)
libatomic.so()(64bit)
libatomic.so.1()(64bit)
libatomic.so.1.2.0()(64bit)
libcc1.so()(64bit)
libcc1.so.0()(64bit)
libcc1.so.0.0.0()(64bit)
libcc1plugin.so()(64bit)
libcc1plugin.so.0()(64bit)
libcc1plugin.so.0.0.0()(64bit)
libcp1plugin.so()(64bit)
libcp1plugin.so.0()(64bit)
libcp1plugin.so.0.0.0()(64bit)
libdep.so()(64bit)
libgcc_s.so()(64bit)
libgcc_s.so.1()(64bit)
libgfortran.so()(64bit)
libgfortran.so.5()(64bit)
libgfortran.so.5.0.0()(64bit)
libgomp.so()(64bit)
libgomp.so.1()(64bit)
libgomp.so.1.0.0()(64bit)
libhwasan.so()(64bit)
libhwasan.so.0()(64bit)
libhwasan.so.0.0.0()(64bit)
libitm.so()(64bit)
libitm.so.1()(64bit)
libitm.so.1.0.0()(64bit)
liblsan.so()(64bit)
liblsan.so.0()(64bit)
liblsan.so.0.0.0()(64bit)
liblto_plugin.so()(64bit)
libssp.so()(64bit)
libssp.so.0()(64bit)
libssp.so.0.0.0()(64bit)
libstdc++.so()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
libstdc++.so.6(GLIBCXX_3.4.23)(64bit)
libstdc++.so.6(GLIBCXX_3.4.25)(64bit)
libstdc++.so.6.0.29()(64bit)
libstdc++.so.6.0.29-gdb.py()(64bit)
libtsan.so()(64bit)
libtsan.so.0()(64bit)
libtsan.so.0.0.0()(64bit)
libubsan.so()(64bit)
libubsan.so.1()(64bit)
libubsan.so.1.0.0()(64bit)
Looking just at a single file in that RPM gives me much more symbols:
# /usr/lib/rpm/elfdeps /opt/arm/gcc-11.2.0_Generic-AArch64_RHEL-8_aarch64-linux/lib64/libstdc++.so.6libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.1)(64bit)libstdc++.so.6(GLIBCXX_3.4.1)(64bit)libstdc++.so.6(GLIBCXX_3.4.2)(64bit)libstdc++.so.6(GLIBCXX_3.4.2)(64bit)libstdc++.so.6(GLIBCXX_3.4.3)(64bit)libstdc++.so.6(GLIBCXX_3.4.3)(64bit)libstdc++.so.6(GLIBCXX_3.4.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.5)(64bit)libstdc++.so.6(GLIBCXX_3.4.5)(64bit)libstdc++.so.6(GLIBCXX_3.4.6)(64bit)libstdc++.so.6(GLIBCXX_3.4.6)(64bit)libstdc++.so.6(GLIBCXX_3.4.7)(64bit)libstdc++.so.6(GLIBCXX_3.4.7)(64bit)libstdc++.so.6(GLIBCXX_3.4.8)(64bit)libstdc++.so.6(GLIBCXX_3.4.8)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libstdc++.so.6(GLIBCXX_3.4.10)(64bit)libstdc++.so.6(GLIBCXX_3.4.10)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.12)(64bit)libstdc++.so.6(GLIBCXX_3.4.12)(64bit)libstdc++.so.6(GLIBCXX_3.4.13)(64bit)libstdc++.so.6(GLIBCXX_3.4.13)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.16)(64bit)libstdc++.so.6(GLIBCXX_3.4.16)(64bit)libstdc++.so.6(GLIBCXX_3.4.17)(64bit)libstdc++.so.6(GLIBCXX_3.4.17)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.19)(64bit)libstdc++.so.6(GLIBCXX_3.4.19)(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.22)(64bit)libstdc++.so.6(GLIBCXX_3.4.22)(64bit)libstdc++.so.6(GLIBCXX_3.4.23)(64bit)libstdc++.so.6(GLIBCXX_3.4.23)(64bit)libstdc++.so.6(GLIBCXX_3.4.24)(64bit)libstdc++.so.6(GLIBCXX_3.4.24)(64bit)libstdc++.so.6(GLIBCXX_3.4.25)(64bit)libstdc++.so.6(GLIBCXX_3.4.25)(64bit)libstdc++.so.6(GLIBCXX_3.4.26)(64bit)libstdc++.so.6(GLIBCXX_3.4.26)(64bit)libstdc++.so.6(GLIBCXX_3.4.27)(64bit)libstdc++.so.6(GLIBCXX_3.4.27)(64bit)libstdc++.so.6(GLIBCXX_3.4.28)(64bit)libstdc++.so.6(GLIBCXX_3.4.28)(64bit)libstdc++.so.6(GLIBCXX_3.4.29)(64bit)libstdc++.so.6(GLIBCXX_3.4.29)(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.1)(64bit)libstdc++.so.6(CXXABI_1.3.1)(64bit)libstdc++.so.6(CXXABI_1.3.2)(64bit)libstdc++.so.6(CXXABI_1.3.2)(64bit)libstdc++.so.6(CXXABI_1.3.3)(64bit)libstdc++.so.6(CXXABI_1.3.3)(64bit)libstdc++.so.6(CXXABI_1.3.4)(64bit)libstdc++.so.6(CXXABI_1.3.4)(64bit)libstdc++.so.6(CXXABI_1.3.5)(64bit)libstdc++.so.6(CXXABI_1.3.5)(64bit)libstdc++.so.6(CXXABI_1.3.6)(64bit)libstdc++.so.6(CXXABI_1.3.6)(64bit)libstdc++.so.6(CXXABI_1.3.7)(64bit)libstdc++.so.6(CXXABI_1.3.7)(64bit)libstdc++.so.6(CXXABI_1.3.8)(64bit)libstdc++.so.6(CXXABI_1.3.8)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(CXXABI_1.3.10)(64bit)libstdc++.so.6(CXXABI_1.3.10)(64bit)libstdc++.so.6(CXXABI_1.3.11)(64bit)libstdc++.so.6(CXXABI_1.3.11)(64bit)libstdc++.so.6(CXXABI_1.3.12)(64bit)libstdc++.so.6(CXXABI_1.3.12)(64bit)libstdc++.so.6(CXXABI_1.3.13)(64bit)libstdc++.so.6(CXXABI_1.3.13)(64bit)libstdc++.so.6(CXXABI_TM_1)(64bit)libstdc++.so.6()(64bit)
# /usr/lib/rpm/elfdeps /opt/arm/gcc-11.2.0_Generic-AArch64_RHEL-8_aarch64-linux/lib64/libstdc++.so.6
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.1)(64bit)
libstdc++.so.6(GLIBCXX_3.4.2)(64bit)
libstdc++.so.6(GLIBCXX_3.4.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.5)(64bit)
libstdc++.so.6(GLIBCXX_3.4.6)(64bit)
libstdc++.so.6(GLIBCXX_3.4.7)(64bit)
libstdc++.so.6(GLIBCXX_3.4.8)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
libstdc++.so.6(GLIBCXX_3.4.10)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.12)(64bit)
libstdc++.so.6(GLIBCXX_3.4.13)(64bit)
libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.16)(64bit)
libstdc++.so.6(GLIBCXX_3.4.17)(64bit)
libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
libstdc++.so.6(GLIBCXX_3.4.24)(64bit)
libstdc++.so.6(GLIBCXX_3.4.26)(64bit)
libstdc++.so.6(GLIBCXX_3.4.27)(64bit)
libstdc++.so.6(GLIBCXX_3.4.28)(64bit)
libstdc++.so.6(GLIBCXX_3.4.29)(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.1)(64bit)
libstdc++.so.6(CXXABI_1.3.2)(64bit)
libstdc++.so.6(CXXABI_1.3.3)(64bit)
libstdc++.so.6(CXXABI_1.3.4)(64bit)
libstdc++.so.6(CXXABI_1.3.5)(64bit)
libstdc++.so.6(CXXABI_1.3.6)(64bit)
libstdc++.so.6(CXXABI_1.3.7)(64bit)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(CXXABI_1.3.10)(64bit)
libstdc++.so.6(CXXABI_1.3.11)(64bit)
libstdc++.so.6(CXXABI_1.3.12)(64bit)
libstdc++.so.6(CXXABI_1.3.13)(64bit)
libstdc++.so.6(CXXABI_TM_1)(64bit)
Building an RPM aginst this compiler will give me a dependency on some of these symbols but because the gcc-11.2.0-Generic-AArch64-* does not list these dependecies, the installation fails.
Can the list of provides of gcc-11.2.0-Generic-AArch64-* please be corrected.
As mentioned the same error happens on RHEL 8 and LEAP 15.3
Hi,
We have now released a new version of Arm Compiler for Linux, version 23.04. It can be downloaded as usual at:
https://developer.arm.com/downloads/-/arm-compiler-for-linux
The RPM packaging for GCC has been improved to list all the provided symbols, which will fix your workflow. This also introduces an update to GCC 12.2.0
Please, let us know how you get on with the new package.
Regards,
Alban