glibc, gcc, X, ld и все все все! (I need help!)

Все о программировании под *nix
Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

glibc, gcc, X, ld и все все все! (I need help!)

Сообщение red f0x »

Проблема у меня в следующем: всё началось с того что... (нет вовсе не с того, что я однажды родился :D) что я решил немного обновить свой линукс. Дистрибутив у меня довольно таки древний - Debian GNU/Linux 2.2 (Potato). Я выкачамши glibc 2.3.2, gcc 3.3.2 и новые binutils. Собрал всё это добро, предварительно исправив прототип sscanf в исходниках glibc (кстати кто-бы объяснил мне, почему на сервер выкладываются исходники с такими обидно-глупыми ошибками).
И вот, всё собрано, всё работает... из консоли. Но как только я пытаюсь собирать что-либо из терминала под Х, ld начинает фыркать, мол "unresolved external <какая_то_библиотечная_routine>" gcc сам по себе, никаких проблем не испытует, и всё компилирует. Т.е. проблема именно в компоновщике (ld) И, насколько я понял, он не может найти библиотечные файлы. Хотя я пытался в переменных окружения в терминале прописать полный путь к файлам библиотеки, особого эффекта это не дало. Помогите, плз, кто-нибудь, кто может!!! :!: :!: :!:

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Afi, и откуда ж ты это все выкачал? дебиановцы имею привычку патчить едвали не все что к ним в руки попадает... Не маялся бы дурью - качивал бы пакеты от woody.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

Ну как откуда? Вестимо с сервера GNU (ftp://ftp.gnu.org/pub/gnu/ если быть точным)
На счёт патчей - мысль хорошая. Но боюсь, Вы, уважаемый не совсем правильно меня поняли. Меня интересует, что делать сейчас, когда всё уже установлено, а не то что мне надо было делать до этого. Хотя в следующий раз я без сомнения последую Вашему совету, и скачаю обновления с сервера Debian...
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Afi, я бы предложил скачать правильные пакеты от woody поставить их загрузивший с кноппикса поверх того ьардака что есть... см. man dpkg
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

пасибки, попробую... больше делать просто ничего не остаётся...:(
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

Как я узнал, в этой неприятной ситуации есть простой workaround - при компиляции и компоновке нужно явно указывать пути к библиотекам при вызове gcc. Это может быть связано с тем что некоторые терминалы под Х возможно используют свои пути поиска...
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

Afi,

По-моему тебе надо было правильно сконфигурить
/etc/ld.so.conf и прогнать root-ом /sbin/ldconfig -v после
постройки библиотек. Не зашивай пути к shared library в
executable файл - плохая практика.

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

2 exe,
Я тоже об этом подумал, но уже задним числом:) Вообще инцидент уже исчерпан, всем кто ответил - болшой thx
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Ответить