Страница 1 из 1

Ошибка линкования библиотек (32-х битные вместо 64-х)

Добавлено: 28 дек 2005, 00:54
gotty
яХРСЮЖХЪ РЮЙЮЪ: Б МЮКХВХХ ЙНЛОЭЧРЕП МЮ АЮГЕ ОПНЖЕЯЯНПЮ AMD Sempron 64-bit. ня -- Fedora Core x86 64-bit, АХАКХНРЕЙХ СЯРЮМНБКЕМШ Б /usr/lib Х /usr/lib64. оЕПЕД ЙНЛОХКЪЖХЕИ ОПНЦПЮЛЛЮ МЮЯРПХБЮЕРЯЪ ОПХ ОНЛНЫХ ЯЙПХОРНБ.
оПНАКЕЛЮ ЯНЯРНХР Б РНЛ, ВРН ОПХ ЯАНПЙЕ ЯЙПХОР ОШРЮЕРЯЪ ОНДЙКЧВХРЭ 32 АХРМШЕ АХАКХХХНРЕЙХ, Х ЙЮЙ ПЕГСКЭРЮР -- МХВЕЦН. оПХ ГЮДЮМХХ ОЮПЮЛЕРПЮ --libdir=/usr/lib64 МЕЙНРНПШЕ ОПНЦПЮЛЛШ ЯНАХПЮЧРЯЪ, Ю МЕЙНРНПШЕ ОН ОПЕФМЕЛС ОПНДНКФЮЧР ФДЮРЭ МЕБНГЛНФМНЦН НР 32-АХРМШУ АХАКХНРЕЙ.
бНОПНЯ РЮЙНИ: ЙЮЙ ОНДЮБХРЭ ХЯОНКЭГНБЮМХЕ 32-АХРМШУ АХАКХНРЕЙ ОПХ ЯАНПЙЕ ОПНЦПЮЛЛ?
бЮПХЮМР: "СДЮКХРЭ 32-АХРМШЕ АХАКХНРЕЙХ Х ЯДЕКЮРЭ ЯЯШКЙС /usr/lib64 -> /usr/lib" ЯВХРЮЧ МЕ ЩЯРЕРХВМШЛ Х МЮДЕЧЯЭ МЮ ЯСЫЕЯРБНБЮМХЕ КЕЙЮПЯРБЮ НР АНКЕГМХ, Ю МЕ НР ЯХЛОРНЛНБ.
гЮПЮМЕЕ АКЮЦНДЮПЕМ ГЮ ЯНБЕРШ.

Добавлено: 03 янв 2006, 07:21
gotty
попробую дублировать предыдущий пост.
Существует проблема:
процессор семейства amd64, ОС Fedora Core 4 x86_64.
В системе имеются как 32-х так и 64-битные версии библиотек. Лежат в разных папках (/usr/lib и /usr/lib64 соответственно). Библиотеки не дублируются, но ошибки возникали только с дублирующимися библиотеками.
Проблема состоит в том, что при попытке линкования приложений после самонастройки при помощи "./configure ...", система пытается использовать 32-битные библиотекии естественно не может (выдаёт : "библиотека в неправильном формате"). Испльзование параметра "--libdir=/usr/lib64" помогает, но не всегда. Если же ручками перелопатить все Makefile и заменить /usr/lib на /usr/lib64 всё работает замечательно.
Вопрос такой: как можно подавить такое поведение скриптов?

Добавлено: 03 янв 2006, 11:39
Llama
Использование нормального 64bit дистриуьбтива гарантирует отсутсвие таких проблем.
А так - вы сами нашли рабочее решение проблемы, боюсь, более ровного и не будет, ибо смешаные 32/64bit дистриубутивы ИМХО это изварщение и со временем они просто вымрут.

Добавлено: 03 янв 2006, 11:44
gotty
Это ясно, но приведи пример, пожалуйста.
Любой Линукс можно настроить любым способом (по крайней мере я так думаю), но как?
Это извращённое смешение сделано для обратной совместимости, по видимому.

Добавлено: 03 янв 2006, 11:48
Llama
GoTTY0, пример чего привести надо? ;)

Добавлено: 03 янв 2006, 11:50
gotty
Llama, "нормального" дистибьютива, кроме LFS.

Добавлено: 03 янв 2006, 12:45
tungus
Попробуй использовать envoriment variable LDFLAGS

Добавлено: 03 янв 2006, 12:53
Llama
GoTTY0, например тут -
http://www.debian.org/ports/amd64/

Добавлено: 03 янв 2006, 14:50
gotty
tungus, можно тебя попросить привести пример, а то что-то торможу.