libiconv & openSUSE
Есть исходники на C++ иcпользующие libiconv, под винду собирается (используется MinGW + mingw32-libiconv).
Исходники с небольшими изменениями перекидываются на openSUSE 11.1 i586. Там через g++ делается компиляция и сборка. Там же используется libiconv 1.13.1 (брался от сюда http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz и собирался так же в ручную по инструкции, так как под сусу нет iconv в репозитории).
Потом исходники перекидываются под openSUSE 11.1 x86_64. Вот тут начинаются проблемы с запуском бинарника, то есть компиляция и сборка работают. libiconv собирался с опциями --build=x86_64. Однако при запуске бинарника вылетает ошибка: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory.
Заметил еще такую разницу в результате сборки libiconv под сусы.
Под i586 файлы libiconv.so и libiconv.so.2 являются регулярными, а вот
под x86_64 - они оба являются символьными ссылками на libiconv.so.2.5.0
Сборка под никсами производится из под рута, в том числе и libiconv.
Возможно кто знает как решить эту проблему?
Гуглил весь день. Не помогло.
Заранее спасибо.
Пришлось пихать символьные ссылки на libiconv.so.2.5.0 в папки lib64. Возможно кому поможет это.
Цитата: _Undead_
Возможно кому поможет это.
очень надеюсь, что у людей хватит ума просто не собирать из исходников стандартные библиотеки, которые есть в репозитории.
Цитата:
error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory.
ну тут вроде все абсолютно понятно должно стать
Цитата: squirL
очень надеюсь, что у людей хватит ума просто не собирать из исходников стандартные библиотеки, которые есть в репозитории.
тоже офигел услышав что iconv вдруг нет в репозитарии сюзи :D
Цитата: Phodopus
тоже офигел услышав что iconv вдруг нет в репозитарии сюзи :D
да уж. я на подконтрольных проектах программистов за попытку собрать руками всякий левак - всячески порицаю тяжелыми предметами :)
Цитата: Phodopus
ну тут вроде все абсолютно понятно должно стать
тоже офигел услышав что iconv вдруг нет в репозитарии сюзи :D
тоже офигел услышав что iconv вдруг нет в репозитарии сюзи :D
Пробовал найти iconv через zypper или yast. Возможно еще не всех нюансов знаю. С никсами работаю месяца 2. Есть всякие php5-iconv, psiconv, libticonv, но это все не те библиотеки. Поэтому собирал руками.
2squirl
а что сборка руками религиозно запрещенная вещь среди линуксоидов?
Цитата:
Дело в том, что в природе существует как минимум 2 версии этой библиотеки. Более того, они как правило, неплохо уживаются на одной системе. Это системная реализация и реализация GNU. Лицензия GNU’шной реализации библиотеки ICONV не позволяет использовать ее в проектах с закрытым кодом, ну или как-то так . Так что надо обязательным образом использовать системный вариант, так как он, являясь частью системной библиотеки, вообще не нуждается в том, чтобы его включали в поставку. Другими словами, системная реализация ICONV гарантированно всегда присутствует на любой из перечисленных платформ (что необязательно для GNU реализации), а потому включать ее еще в дистрибутив своего продукта смысла нет, а раз она не включается в дистрибутив продукта, то и нет никаких проблем с лицензией. Фув. В этом и есть основное различие использования библиотеки ICONV на перечисленных платформах.
Цитата: _Undead_
2squirl
а что сборка руками религиозно запрещенная вещь среди линуксоидов?
нет. но не в промышленных системах :-)