Назад | Перейти на главную страницу

`не удается найти« -lgcc_s »` из gcc-3.4 в Ubuntu 11.04

Я пытаюсь использовать gcc-3.4 на последней версии Ubuntu. Пакет взят из снимков состояния debian.

Вероятно, он предполагает другую структуру каталогов по умолчанию, поэтому, например, я был вынужден указать его -I /usr/include/i386-linux-gnu/, который gcc-4 предполагается неявно.

В настоящее время он компилирует все, что я ему дал, отлично, но не может ссылаться. Даже самый простой исполняемый файл приводит к ошибке:

$ gcc-3.4 ~/tmp.cc -o ~/tmp
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status

Видимо нужно добавить библиотеку /lib/i386-linux-gnu/libgcc_s.so.1 и компилятор ожидает мягкую ссылку /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so указав его в правильное место, однако:

$ 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

И

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

Исправьте символическую ссылку, и все будет хорошо

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

Теперь все работает правильно!

$ g++-3.4   ~/tmp.cc -o ~/tmp
$

У меня была аналогичная проблема, но в моем случае я пытался установить gcc 4.2 (для компиляции в Matlab Simulink) в Ubuntu 11.04

В моем случае я написал:

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

И теперь gcc-4.2 компилируется.

для меня команда:

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

не решает проблему.

Вместо этого эта команда решает эту проблему:

sudo cp /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so.1