./a.out: error while loading shared libraries: libc++.so.1: cannot open shared object file: No such file or directory

even though:

$ ls /usr/local/lib
libc++.so  libc++.so.1  libc++.so.1.0  python2.7  python3.2

I even copied it next to the executable, still no effect.

What am I doing wrong?


You might need to run sudo ldconfig /usr/local/lib to update the dynamic linker cache. Otherwise I think the system doesn't know which libraries are available from that directory. See man ldconfig for more info.

  • It works. Do I have to repeat it after every reboot? – nlognfan Jun 1 '13 at 16:55
  • No, it should update /etc/ld.so.cache permanently. You should only need to re-run if you add or remove libraries in that directory again (normally apt-get handles this step for you for packaged libraries under /usr). – Paul Jun 1 '13 at 16:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.