I am attempting to compile a program with g77 and I keep getting the following error:

/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status

I saw on another forum that this is related to libgcc, when looking for libgcc I get

>find /usr/ -name libgcc*

  • I've tried exporting the path to /usr/lib/gcc/x86_64-linux-gnu/3.4.6, /usr/lib/gcc/x86_64-linux-gnu/4.6, and /usr/lib, but no luck. Any ideas? – Biz Sep 16 '13 at 20:00
  • Try sudo apt-get install ia32-libs – Mitch Sep 17 '13 at 5:42

This is because although libgcc is present, it may not be in the paths known to ldconfig. Check this by doing:

sudo /sbin/ldconfig -p | grep libgcc

Does the output show that the link to libgcc corresponds to paths that you have listed above?

A workaround for you may be to add the link to the relevant library to your compile command e.g.

g++ program.cpp -L /usr/lib/gcc/x86_64-linux-gnu/4.6/

Another solution may be to create a symbolic link to the library yourself.

 ln -s /usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s.so /usr/lib/gcc/libgcc_s.so
| improve this answer | |
  • In response to 'sudo /sbin/ldconfig -p | grep libgcc' I got ' libgccpp.so.1 (libc6,x86-64) => /usr/lib/libgccpp.so.1 libgcc_s.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgcc_s.so.1'. Tried with those paths, but no luck. tried with symbolic link but no luck with that either. – Biz Sep 16 '13 at 23:41
  • Also, I'm using g77 to compile – Biz Sep 17 '13 at 2:58
  • 2
    sudo is not needed for ldconfig -p – Bulletmagnet Nov 22 '17 at 14:48

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.