Why gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu compiler does not support glibcxx_3.4.x and cxxabi_1.3.x version?How to fix this problem, thank you!

Hi experts,

    I need to connect Basler's camera via USB3.0 on the J7 EVM board. Basler provides the driver for the camera. I use the compiler gcc-arm-9.2-2019.12-x86_64-aarch64-none-linuk-gnu provided by TI. QT5.14.2 has been cross-compiled. In the camera test program, I added the camera library and reported the following error:

Qt is looking for glibc in the aarch64 directory, where the version of the library does not support GLIBCXX_3.4.21. Please help to see why the version of glibc in gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu can only support glibc2.18 at most. I downloaded the latest compiler from arm website(gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz), which supports glibcxx_3.4.28, I found that libstdc++.so.6 of gcc-arm-9.2 and gcc-arm-10.2 both point to libstdc++.so.6.0.28 library. Why use the same library and support different versions of glibcxx and cxxabi? I can't support using the latest compiler right now, because I need other Ti libraries in my project. I would like to ask, what can solve the problem that gcc-arm-9.2 version can support glibcxx_3.4.28 and cxxabi_1.3.10, any help would be appreciated, thank you!

See the versions supported by glibc in the gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu directory as follows:

root@ubuntu:/home/qkl# cd gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/

root@ubuntu:/home/qkl/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu# cd aarch64-none-linux-gnu/

root@ubuntu:/home/qkl/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu# strings lib64/libstdc++.so.6 | grep GLIB

GLIBC_2.17

GLIBC_2.18

GLIBCXX_FORCE_NEW

GLIBCXX_DEBUG_MESSAGE_LENGTH

nanosleep@@GLIBC_2.17

fchmodat@@GLIBC_2.17

fchmod@@GLIBC_2.17

pthread_mutex_lock@@GLIBC_2.17

......

dgettext@@GLIBC_2.17

__wcsftime_l@@GLIBC_2.17

See the versions supported by CXXABI in the gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu directory as follows. It is empty. why?

root@ubuntu:/home/qkl/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu# strings lib64/libstdc++.so.6 | grep CXXABI

libstdc++.so link to libstdc++.so.6.0.28 as follows:

root@ubuntu:/home/qkl/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu# ls -all lib64/libstdc*

-rw-r--r-- 1 qkl qkl 59098440 Dec  9  2019 lib64/libstdc++.a

-rw-r--r-- 1 qkl qkl 17879644 Dec  9  2019 lib64/libstdc++fs.a

lrwxrwxrwx 1 qkl qkl       19 Dec  9  2019 lib64/libstdc++.so -> libstdc++.so.6.0.28

lrwxrwxrwx 1 qkl qkl       19 Dec  9  2019 lib64/libstdc++.so.6 -> libstdc++.so.6.0.28

-rwxr-xr-x 1 qkl qkl 22996688 Dec  9  2019 lib64/libstdc++.so.6.0.28

-rw-r--r-- 1 qkl qkl     2400 Dec  9  2019 lib64/libstdc++.so.6.0.28-gdb.py

See the versions supported by glibc in the gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu directory as follows:

root@ubuntu:/home/qkl/tool# cd gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/

root@ubuntu:/home/qkl/tool/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu# strings lib64/libstdc++.so.6 | grep GLIB

GLIBCXX_3.4

GLIBCXX_3.4.1

GLIBCXX_3.4.2

GLIBCXX_3.4.3

GLIBCXX_3.4.4

GLIBCXX_3.4.5

GLIBCXX_3.4.6

GLIBCXX_3.4.7

GLIBCXX_3.4.8

GLIBCXX_3.4.9

GLIBCXX_3.4.10

GLIBCXX_3.4.11

GLIBCXX_3.4.12

GLIBCXX_3.4.13

GLIBCXX_3.4.14

GLIBCXX_3.4.15

GLIBCXX_3.4.16

GLIBCXX_3.4.17

GLIBCXX_3.4.18

GLIBCXX_3.4.19

GLIBCXX_3.4.20

GLIBCXX_3.4.21

GLIBCXX_3.4.22

GLIBCXX_3.4.23

GLIBCXX_3.4.24

GLIBCXX_3.4.25

GLIBCXX_3.4.26

GLIBCXX_3.4.27

GLIBCXX_3.4.28

GLIBC_2.17

GLIBC_2.18

GLIBCXX_DEBUG_MESSAGE_LENGTH

_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4

nanosleep@@GLIBC_2.17

fchmodat@@GLIBC_2.17

_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4

__wcsftime_l@@GLIBC_2.17

See the versions supported by CXXABI in the gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu directory as follows:

root@ubuntu:/home/qkl/tool/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu# strings lib64/libstdc++.so.6 | grep CXXABI

CXXABI_1.3

CXXABI_1.3.1

CXXABI_1.3.2

CXXABI_1.3.3

CXXABI_1.3.4

CXXABI_1.3.5

CXXABI_1.3.6

CXXABI_1.3.7

CXXABI_1.3.8

CXXABI_1.3.9

CXXABI_1.3.10

CXXABI_1.3.11

CXXABI_1.3.12

CXXABI_TM_1

CXXABI_1.3

CXXABI_1.3.11

CXXABI_1.3.2

CXXABI_1.3.6

CXXABI_1.3.12

CXXABI_1.3.9

CXXABI_1.3.1

CXXABI_1.3.5

CXXABI_1.3.8

CXXABI_1.3.4

CXXABI_TM_1

CXXABI_1.3.7

CXXABI_1.3.10

CXXABI_1.3.3

libstdc++.so link to libstdc++.so.6.0.28 as follows:

root@ubuntu:/home/qkl/tool/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu# ls -all lib64/libstd*

-rw-r--r-- 1 7720 7720 54525806 Nov 20 09:12 lib64/libstdc++.a

-rw-r--r-- 1 7720 7720 13411614 Nov 20 09:12 lib64/libstdc++fs.a

lrwxrwxrwx 1 7720 7720       19 Nov 20 09:12 lib64/libstdc++.so -> libstdc++.so.6.0.28

lrwxrwxrwx 1 7720 7720       19 Nov 20 09:12 lib64/libstdc++.so.6 -> libstdc++.so.6.0.28

-rwxr-xr-x 1 7720 7720 21385504 Nov 20 09:12 lib64/libstdc++.so.6.0.28

-rw-r--r-- 1 7720 7720     2401 Nov 20 09:12 lib64/libstdc++.so.6.0.28-gdb.py

Best Regards,

Emily

More questions in this forum