저는 Fedora 34를 실행하고 있습니다. 어떻게 이것이 가능합니까? (ldd는 libstdc++를 찾을 수 없지만 clang에 사용 가능하다고 표시합니다.)
$ ldd /opt/toolchains/gcc-rl78/bin/rl78-elf-gcc
linux-gate.so.1 (0xf7f7d000)
libstdc++.so.6 => not found
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7f50000)
libc.so.6 => /lib/libc.so.6 (0xf7d90000)
/lib/ld-linux.so.2 (0xf7f7f0000)
$ ldd /opt/toolchains/llvm-rl78/bin/clang
/opt/toolchains/llvm-rl78/bin/clang: /lib64/libtinfo.so.5: no version information available (required by /opt/toolchains/llvm-rlvm-rl78/bin/clang)
linux-vdso.so.1 (0x00007ffdc9397000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4e3a062000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4e3a057000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4e3a050000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x000074e3a023000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4e39edf000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f4e39cc0000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4e39ca3000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4e39ad4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4e3a08e000)
$ ldconfig -v | grep libstd
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: ath `/usr/lib' given more than once
(from <builtin>:0 and <builtin>:0)
ldconfig: ath `/usr/lib64' given more than once
(from <builtin>:0 and <builtin>:0)
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
libstdc++.so.6 -> libstdc++.so.6.0.29
답변1
첫 번째 바이너리는 32비트 바이너리이고 두 번째 바이너리는 64비트 바이너리입니다( s 참조 ld-linux.so
). 64비트 버전이 있지만 libstdc++
32비트 버전이 없습니다.
설치하면 libstdc++.i686
이 문제가 해결됩니다.
sudo dnf install libstdc++.i686