NVEnc icon indicating copy to clipboard operation
NVEnc copied to clipboard

libstdc error

Open Nhunz opened this issue 4 years ago • 3 comments

When I try to use the encoder I get the error "/usr/local/bin/nvencc: /tmp/_MEIUttMO3/libstdc++.so.6: version `GLIBCXX_3.4.29' not found". I'm using Manjaro LInux and have the latest version available of the libraries installed. Any idea how to work around this?

Thanks.

Nhunz avatar Jun 30 '21 22:06 Nhunz

Sorry, I'm not familiar to Manjaro LInux, but which package have you installed or have you built it yourself?

For example, "nvencc_5.34_Ubuntu20.04_amd64.deb" should only require up to GLIBCXX_3.4.26.

ldd -v nvencc

        /usr/bin/nvencc:
                libswresample.so.3 (LIBSWRESAMPLE_3) => /lib/x86_64-linux-gnu/libswresample.so.3
                libmvec.so.1 (GLIBC_2.22) => /lib/x86_64-linux-gnu/libmvec.so.1
                libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
                ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
                librt.so.1 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/librt.so.1
                libm.so.6 (GLIBC_2.27) => /lib/x86_64-linux-gnu/libm.so.6
                libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
                libavfilter.so.7 (LIBAVFILTER_7) => /lib/x86_64-linux-gnu/libavfilter.so.7
                libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
                libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
                libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
                libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
                libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
                libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
                libc.so.6 (GLIBC_2.3.3) => /lib/x86_64-linux-gnu/libc.so.6
                libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
                libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
                libavutil.so.56 (LIBAVUTIL_56) => /lib/x86_64-linux-gnu/libavutil.so.56
                libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
                libavcodec.so.58 (LIBAVCODEC_58) => /lib/x86_64-linux-gnu/libavcodec.so.58
                libstdc++.so.6 (GLIBCXX_3.4.14) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.18) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (CXXABI_1.3.8) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.19) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.22) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.11) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (CXXABI_1.3.9) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.9) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.26) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.15) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (CXXABI_1.3) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.20) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4.21) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libstdc++.so.6 (GLIBCXX_3.4) => /lib/x86_64-linux-gnu/libstdc++.so.6
                libavformat.so.58 (LIBAVFORMAT_58) => /lib/x86_64-linux-gnu/libavformat.so.58

rigaya avatar Jul 02 '21 13:07 rigaya

Hello, thanks for your reply. Manjaro Linux is based on ARCH Linux and I could not find a prebuilt package for their Pacman package manager. I downloaded the source code from git hub and compiled it myself. Here is the output of the ldd command. I do see a reference to 3.4.29 and I'm still getting the error message about GLIBCXX 3.4.29 not being available.

ldd -v nvencc | grep GLIBCXX ─╯ libstdc++.so.6 (GLIBCXX_3.4.14) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.18) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.19) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.29) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.22) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.26) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.20) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.21) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.20) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.21) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.20) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.21) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.20) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.21) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.20) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.26) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.21) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.19) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.18) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.14) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.21) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/libstdc++.so.6

Thanks.

Nhunz avatar Jul 02 '21 20:07 Nhunz

OK, I've got your situation. It's weird getting problem with GLIBCXX when building yourself.

As there is no problem with ldd command, I think the problem is that somehow /tmp/_MEIUttMO3/libstdc++.so.6 is being loaded in runtime instead of /usr/lib/libstdc++.so.6 which actually should be loaded.

I'm not sure, but checking LD_LIBRARY_PATH might help?

rigaya avatar Jul 03 '21 05:07 rigaya