Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to use gcc-3.4 on the latest Ubuntu. The package is from debian snapshots.

It probably assumes different default directory structure, so for example I was forced to give it -I /usr/include/i386-linux-gnu/, which gcc-4 assumed implicitly.

Currently it compiles everything I gave it just fine, but it can't link. Even the simplest executable results the error:

$ gcc-3.4 ~/tmp.cc -o ~/tmp
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
share|improve this question
    
Oops! Please migrate it to unix.se, I was in the wrong site... –  Elazar Leibovich May 4 '11 at 10:50
add comment

3 Answers

up vote 2 down vote accepted

Apparently you need to add the library /lib/i386-linux-gnu/libgcc_s.so.1 and the compiler expect the soft link /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so pointing it to the correct place, however:

$ ls -l /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so
lrwxrwxrwx 1 root root 18 2011-05-03 04:55 /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so -> /lib/libgcc_s.so.1

And

$ ls /lib/libgcc_s.so.1
ls: /lib/libgcc_s.so.1: No such file or directory

Fix the symlink, and all will be well

$ sudo ln /lib/i386-linux-gnu/libgcc_s.so.1  /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so

Now it works correctly!

$ g++-3.4   ~/tmp.cc -o ~/tmp
$
share|improve this answer
add comment

for me the command:

sudo ln /lib/i386-linux-gnu/libgcc_s.so.1  /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so

does not solve the issue.

This command, instead, does solve it:

sudo cp /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so.1
share|improve this answer
    
If it compiles, it should be good. Are you using latest Ubuntu? –  Elazar Leibovich May 11 '11 at 6:26
add comment

I had a similar problem, but in my case trying to install gcc 4.2 (to compile in Matlab Simulink) in Ubuntu 11.04

In my case I wrote:

sudo ln  /lib/x86_64-linux-gnu/libgcc_s.so.1  /usr/lib/gcc/x86_64-linux-gnu/4.2.3/libgcc_s.so

And now gcc-4.2 is compiling.

share|improve this answer
    
You welcome! I'm really glad you found that helpful. You can upvote the answer and the question if you like them by clicking on the "up" button, to tell other users it was useful for you. –  Elazar Leibovich May 8 '11 at 8:49
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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