URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 35747
[ Назад ]

Исходное сообщение
"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"

Отправлено mirya , 09-Окт-03 14:33 
  На FreeBSD 4.5 поставлены tcl8.4 и python2.3_1, оба выдают ошибку:
/usr/libexec/ld-elf.so.1: /usr/local/lib/libtcl84.so.1: Undefined symbol "nl_langinfo"
/usr/libexec/ld-elf.so.1: python: Undefined symbol "nl_langinfo"

соотв. Что означает это и как с ним (этим) бороться?


Содержание

Сообщения в этом обсуждении
"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено lavr , 09-Окт-03 14:38 
>  На FreeBSD 4.5 поставлены tcl8.4 и python2.3_1, оба выдают ошибку:
>
>/usr/libexec/ld-elf.so.1: /usr/local/lib/libtcl84.so.1: Undefined symbol "nl_langinfo"
>/usr/libexec/ld-elf.so.1: python: Undefined symbol "nl_langinfo"
>
>соотв. Что означает это и как с ним (этим) бороться?

соответственно:

# man nl_langinfo


"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено mirya , 09-Окт-03 14:42 
>соответственно:
>
># man nl_langinfo

теперь я знаю, что это такое, но от этого мне ни холодно, ни жарко. Это у меня локаль выходит ненастроенный?


"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено lavr , 09-Окт-03 15:47 
>>соответственно:
>>
>># man nl_langinfo
>
>теперь я знаю, что это такое, но от этого мне ни холодно,
>ни жарко. Это у меня локаль выходит ненастроенный?

голова нужна не только чтобы жевать... ;)


"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено mirya , 09-Окт-03 23:23 
>голова нужна не только чтобы жевать... ;)
  Я вернулся домой, пожевал головой, сел за комп и обнаружил, что на моей FreeBSD 4.5 нет мана на nl_langinfo.
  Далее я нашел в хендбуке про настройку локаля, после этого фря начала ругаться по-русски, причем в xterm это вылилось в абракадабрики (это уже др. история про фонты), но самое интересное, что вместе с python & tcl начал ненаходить nl_langinfo еще и mc.
  Отсюда я сделал вывод, что в данных прогах остутствует соотв. локаль, к-рый запрашивает elf-loader. Вопросы:
  1). я прав?
  2). что делать?


"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено mirya , 10-Окт-03 16:45 
  Что же такое с nl_langinfo? lavr или очень хорошо знает, как мне помочь, но жлобится, или вообще нифига не знает и по-этому кидается мутно-бессмысленными сообщениями (не обижайся).
  Кто-то может сказать что-нибуть конкретное по такой проблеме?

"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено lavr , 10-Окт-03 16:52 
>  Что же такое с nl_langinfo? lavr или очень хорошо знает,
>как мне помочь, но жлобится, или вообще нифига не знает и
>по-этому кидается мутно-бессмысленными сообщениями (не обижайся).
>  Кто-то может сказать что-нибуть конкретное по такой проблеме?

# uname -a
# env
???

как ставил софт которые сообщает об ошибке?


"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено mirya , 11-Окт-03 02:47 
># uname -a
># env
>???
>
>как ставил софт которые сообщает об ошибке?

  Пишу в птн ночью, надеюсь на скорый ответ.
  На FreeBSD 4.5 вообще не импл. ф-ция nl_langinfo() в libc (о чем сказано в мане).
  Ставил tcl и python выше указанных версий простым pkg_add. Мой pkg_add поддерж. пакаджи версии 1.0, т.е. +CONTENT::@conflict в 1.1 не поддерж. и выдается сообщ. об ошибке ==> приходиться следить за конфликтами самому и ручками untgz - удалить директивы @conficts - tgz - pkg_add.
  Как я понял, эти проги хотят динамически слинковаться с nl_langinfo(), о чем просят ld_elf, он не находит и крышка. Но меня смущает тот факт, что когда я выставил русскую локаль, mc начал тоже незапускаться по той же причине, т.е. или мои предыдущие рассужд. ложны, или он запрашивает линковку в завис. от текущего локаля (так бывает?).
  Насчет окружения, то я выставил LANG ru_RU.KOI8-R, MM_CHARSET KOI8-R, вобщем все один в один как в хендбуке::"13.5 Localizing FreeBSD to Specific Languages" <lang-setup.html> + по "13.3 Using Localization" <using-localization.html>.
  Если вся проблема в отсутсвии нл_лагинфо в системе, то как его туда впаять без апгрейдов к 4.6 min (по ману, именно с этой версии она появилась)


"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено mirya , 11-Окт-03 19:17 
  Где же вы все, Лавр и ко? см. предыдущее сообщ.: предложите патч для 4.5, чтобы не апгрейтиться до 4.6min (это очень сложно). По идее, нужна лишь nl_langinfo(), причем можно или заменить модуль, в к-ром она находиться (ВОПРОС: КАКОЙ), или добавить к исходнику код заглушки (СНОВА ВОПРОС: куда и как рекомпилить по минимуму?).

"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено mirya , 12-Окт-03 02:41 
  !!! Я залез на ближайшую FreeBSD 4.7, взял одтуда
/usr/lib/libc.so.3
/usr/lib/libc.a

и записал себе в соотв. места. Теперь tcl нормально работает, по python по-прежнему ругается теми же нехорошими словами.
  1). Что делать?
  2). Как посмотреть список динамических импортов Питона (python)?


"tcl8.4, python2.3_1 - ошибка Undefined symbol 'nl_langinfo'"
Отправлено lavr , 13-Окт-03 10:40 
>  !!! Я залез на ближайшую FreeBSD 4.7, взял одтуда
>/usr/lib/libc.so.3
>/usr/lib/libc.a

libc - основная библиотека системы, можно сказать что это практически
половина системы, и чтобы совершать с ней некие операции - нужно иметь
голову на плечах.

> и записал себе в соотв. места. Теперь tcl нормально работает, по
>python по-прежнему ругается теми же нехорошими словами.
>  1). Что делать?

Чтобы что-то делать, надо знать и понимать матчасть, соответственно,
в packages релиза 4.5, пакеты ПРОСТО НЕ МОГУТ БЫТЬ СОБРАНЫ ПОД ДРУГОЙ
РЕЛИЗ. Что означает абсолютно бессмысленный подход к установке пакетов
взятых из релиза > 4.5 и установка их на свою систему. Что вобщем-то
можно сделать, но для этого необходимо понимать ЧТО и КАК.
Для работы модулей от предыдущих релизов, необходимо пересобрать
систему с поддержкой формата a.out (если нужна поддержка старого non-elf
формата) и с совместимостью предыдущих релизов (будут собраны необходимые
библиотеки):

grep COMPAT /etc/defaults/make.conf и вроде из портов можно доставить
нужные библиотеки: /usr/ports/misc

>  2). Как посмотреть список динамических импортов Питона (python)?

man ldd
man ld
man ar
man cc

изучать процесс компиляции и сборки