I'm trying to run some pre-compiled code but I'm getting the following error:
./bin/stipdet: /cm/shared/apps/gcc/4.3.4/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./bin/stipdet)
I googled the error and saw that some people solved similar problems by deleting the libstdc++.so.6
and adding a new dynamic link pointing to usr/local/lib
. But I don't have root access on the system I'm trying to run this on, so I can't add/delete files in that directory.
Does anyone know another way to solve this problem?
UPDATE:
I tried adding the directory of another version of libstdc++.so.6
to the LD_PRELOAD
, but it didn't work for me, it still uses the file from the wrong directory.
The same happens when I prepend the correct directory to the LD_LIBRARY_PATH
. Finally, I also tried to remove everything else from the LD_LIBRARY_PATH
and then add the correct directory (just to try). This seemed to fix the original error!
But now I'm getting the same error at a different location:
./bin/stipdet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /var/scratch/user/local/lib/libopencv_features2d.so.2.2)
Apparently opencv
uses a different glibcxx
version, so switching to another libstdc
breaks opencv
. Is there any way around this problem?
If you've got the correct version of libstdc++.so.6 installed elsewhere (e.g. in your home directory), you can either set LD_LIBRARY_PATH or use LD_PRELOAD, see What is the LD_PRELOAD trick?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With