LINUX.ORG.RU

licq icu4c

 


0

1

Пытаюсь поставить licq с сырцов, она требует icu4c, icu4c установлен в /home/splinter/INSTALL/icu4c, если бы сборка была через ./configure то я просто бы добавил LDFLAGS, не пойму как грамотно сделать это через CMakeList.txt?

[  9%] Building CXX object src/CMakeFiles/unittest.dir/logging/tests/logdistributortest.cpp.o
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../../i486-slackware-linux/bin/ld: warning: libicuuc.so.49, needed by /usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../../i486-slackware-linux/bin/ld: warning: libicui18n.so.49, needed by /usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../../i486-slackware-linux/bin/ld: warning: libicudata.so.49, needed by /usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `icu_49::Locale::~Locale()'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `u_isblank_49'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `u_digit_49'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `icu_49::Collator::createInstance(icu_49::Locale const&, UErrorCode&)'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `u_isspace_49'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `icu_49::Locale::Locale()'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `icu_49::Locale::Locale(icu_49::Locale const&)'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `u_charType_49'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `u_tolower_49'
/usr/lib/gcc/i486-slackware-linux/4.7.2/../../../libboost_regex.so: undefined reference to `u_charFromName_49'
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[2]: *** [src/licq] Ошибка 1
make[1]: *** [src/CMakeFiles/licq.dir/all] Ошибка 2
make[1]: *** Ожидание завершения заданий...

★★★★★

Последнее исправление: splinter (всего исправлений: 1)

много-много лет назад licq был лучшим ICQ-клиентом под онтопик. но зачем сейчас этот трупик теребить?

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

привычка, да и вроде новые версии постоянно выходят, плюс морда на QT. Не могу долго пользоваться ни копытом ни pidgin, sim тоже как то не прет.

splinter ★★★★★
() автор топика
Ответ на: комментарий от dikiy

может надо просто указать cmake где находится библиотеки icu?

splinter ★★★★★
() автор топика

Чем, кстати, не устроил системный icu4c? А то выглядит странно: вроде boost у тебя стандартный, установленный в /usr/lib, а хочет icu4c, установленный в ${HOME}.

GArik ★★★
()
Ответ на: комментарий от GArik

у меня в boost его вообще не было:
cat /var/log/packages/boost-1.52.0-i486-1 | grep -i icu4c

splinter ★★★★★
() автор топика
Ответ на: комментарий от GArik

А как icu4c в CMakeLists.txt ищется?

Его там вообще нет.

bash-4.2$ cat ../CMakeLists.txt | grep -i icu4c
bash-4.2$ 

И как icu4c собирал и устанавливал?

./configure --prefix=/home/splinter/INSTALL/icu4c &make & make install

splinter ★★★★★
() автор топика
Ответ на: комментарий от splinter

А как icu4c в CMakeLists.txt ищется?

Его там вообще нет.

А при чём тут cmake тогда вообще? :) Если тебе просто флаги компилятора/линковщика установить, то так и делай. Запускаешь ccmake, включаешь «advanced mode», находишь там CMAKE_CXX_FLAGS, CMAKE_*_LINKER_FLAGS и задаёшь всё, что хочешь.

GArik ★★★
()
Ответ на: комментарий от splinter

Должен сохранять. Ты справку, которая внизу, читал? Там написано: «Press [c] to configure» и «Press [q] to quit without generating». Может ты 'q' нажал, а 'c' забыл?

GArik ★★★
()
Ответ на: комментарий от splinter

Альтернативно, можешь при запуске `cmake` установить переменные с помощью -D<VAR>=<VALUE>, вот так:

cmake -DCMAKE_EXE_LINKER_FLAGS='-L/home/splinter/INSTALL/icu4c/lib' ..

GArik ★★★
()
Ответ на: комментарий от dikiy

но зачем сейчас этот трупик теребить ?

1.8 вышел на днях... Но так и остался самым удобным, беда только вот с поддержкой протокола ICQ, есть косяки некоторые... Не успевает за изменениями.

AS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.