Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Ошибка undefined symbol:  (Прочитано 4563 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн makssun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #15 : 05 Марта 2018, 11:02:22 »
sudo apt install libboost-all-dev

sudo apt install libboost-all-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libboost-all-dev is already the newest version (1.58.0.1ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 698
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #16 : 05 Марта 2018, 11:13:06 »
makssun, где-то в системе установлена другая версия libboost. В терминале выполните следующую команду:
LD_DEBUG=files ./qwertycoind > qwertycoind.log 2>&1В текущем рабочем каталоге создастся файл qwertycoind.log. Покажите нам его содержимое, прикрепив файл к сообщению.

Оффлайн makssun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #17 : 05 Марта 2018, 11:17:51 »
makssun, где-то в системе установлена другая версия libboost. В терминале выполните следующую команду:
LD_DEBUG=files ./qwertycoind > qwertycoind.log 2>&1В текущем рабочем каталоге создастся файл qwertycoind.log. Покажите нам его содержимое, прикрепив файл к сообщению.

вот этот файл:

    28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libboost_system.so.1.58.0 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                             
     28843:<--->file=libboost_system.so.1.58.0 [0];  generating link map                                                                                                                                                                                                     
     28843:<--->  dynamic: 0x00007f8c486e3dc8  base: 0x00007f8c484e1000   size: 0x0000000000203130                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c484e22a0  phdr: 0x00007f8c484e1040  phnum:                  7                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libboost_filesystem.so.1.58.0 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                         
     28843:<--->file=libboost_filesystem.so.1.58.0 [0];  generating link map                                                                                                                                                                                                 
     28843:<--->  dynamic: 0x00007f8c484dfd20  base: 0x00007f8c482ca000   size: 0x00000000002165b8                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c482d1460  phdr: 0x00007f8c482ca040  phnum:                  7                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libboost_program_options.so.1.58.0 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                     
     28843:<--->file=libboost_program_options.so.1.58.0 [0];  generating link map                                                                                                                                                                                             
     28843:<--->  dynamic: 0x00007f8c482c88e8  base: 0x00007f8c48058000   size: 0x0000000000271b50                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c48080f30  phdr: 0x00007f8c48058040  phnum:                  7                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libpthread.so.0 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                                       
     28843:<--->file=libpthread.so.0 [0];  generating link map                                                                                                                                                                                                               
     28843:<--->  dynamic: 0x00007f8c48052d50  base: 0x00007f8c47e3b000   size: 0x000000000021c428                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c47e410b0  phdr: 0x00007f8c47e3b040  phnum:                  9                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libstdc++.so.6 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                                         
     28843:<--->file=libstdc++.so.6 [0];  generating link map                                                                                                                                                                                                                 
     28843:<--->  dynamic: 0x00007f8c47e33d50  base: 0x00007f8c47ab9000   size: 0x0000000000381400                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c47b42d20  phdr: 0x00007f8c47ab9040  phnum:                  8                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libm.so.6 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                                             
     28843:<--->file=libm.so.6 [0];  generating link map                                                                                                                                                                                                                     
     28843:<--->  dynamic: 0x00007f8c47ab7d88  base: 0x00007f8c477b0000   size: 0x00000000003080f8                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c477b5600  phdr: 0x00007f8c477b0040  phnum:                  7                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libgcc_s.so.1 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                                         
     28843:<--->file=libgcc_s.so.1 [0];  generating link map                                                                                                                                                                                                                 
     28843:<--->  dynamic: 0x00007f8c477af2b0  base: 0x00007f8c4759a000   size: 0x0000000000215910                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c4759ca70  phdr: 0x00007f8c4759a040  phnum:                  6                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->file=libc.so.6 [0];  needed by ./qwertycoind [0]                                                                                                                                                                                                             
     28843:<--->file=libc.so.6 [0];  generating link map                                                                                                                                                                                                                     
     28843:<--->  dynamic: 0x00007f8c47593ba0  base: 0x00007f8c471d0000   size: 0x00000000003c99a0                                                                                                                                                                           
     28843:<--->    entry: 0x00007f8c471f0950  phdr: 0x00007f8c471d0040  phnum:                 10                                                                                                                                                                           
     28843:<--->                                                                                                                                                                                                                                                             
     28843:<--->./qwertycoind: error: symbol lookup error: undefined symbol: _ZN5boost15program_options3argB5cxx11E (fatal)                                                                                                                                                   
./qwertycoind: symbol lookup error: ./qwertycoind: undefined symbol: _ZN5boost15program_options3argB5cxx11E

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 698
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #18 : 05 Марта 2018, 15:04:38 »
makssun, давайте начнем сначала. На официальной странице проекта предлагают для загрузки архив с бинарными файлами, соответствующими версии 1.5.6. Попытка запустить qwertycoind из этого архива потерпит фиаско - получите illegal instruction (при условии, что разрешатся проблемы с libboost). Последний релиз программы имеет версию 2.1.0 и необходимо именно его собрать из исходников:
git clone https://github.com/qwertycoin-org/qwertycoin.git
cd qwertycoin
git checkout -b v2.1.0
make
Полученные бинарники будут находиться в каталоге build/release/src. Запустите qwerycoind. Если Ваша ошибка опять проявится, то выполните команду (нижеприведенная команда изменилась по сравнению с предыдущей):
LD_DEBUG=all ./qwertycoind > qwertycoind.log 2>&1Полученный файл прикрепите к своему сообщению.

Оффлайн makssun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #19 : 05 Марта 2018, 15:19:25 »
Делаю все по инструкции выше, прерывается компилляция, вот фрагменты , начало и конец.
[ 78%] Linking CXX executable qwertycoind
/usr/bin/ld: warning: libicui18n.so.52, needed by /usr/local/lib/libboost_regex.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.52, needed by /usr/local/lib/libboost_regex.so, not found (try using -rpath or -rpath-link)
CMakeFiles/Daemon.dir/Daemon/Daemon.cpp.o: In function `bool command_line::get_arg<bool, false>(boost::program_options::variables_map const&, command_line::arg_descriptor<bool, false> const&) [clone .isra.276]':
Daemon.cpp:(.text+0xa2b): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::alloc

RpcServerConfig.cpp:(.text+0x640): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
RpcServerConfig.cpp:(.text+0x767): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
libRpc.a(RpcServerConfig.cpp.o): In function `CryptoNote::RpcServerConfig::initOptions(boost::program_options::options_description&)':
RpcServerConfig.cpp:(.text+0x974): undefined reference to `boost::program_options::options_description::find_nothrow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool) const'
/usr/local/lib/libboost_regex.so: undefined reference to `icu_52::Locale::~Locale()'
/usr/local/lib/libboost_regex.so: undefined reference to `u_charType_52'
/usr/local/lib/libboost_regex.so: undefined reference to `icu_52::Locale::Locale(icu_52::Locale const&)'
/usr/local/lib/libboost_regex.so: undefined reference to `u_digit_52'
/usr/local/lib/libboost_regex.so: undefined reference to `icu_52::Collator::createInstance(icu_52::Locale const&, UErrorCode&)'
/usr/local/lib/libboost_regex.so: undefined reference to `icu_52::Locale::Locale()'
/usr/local/lib/libboost_regex.so: undefined reference to `u_charFromName_52'
/usr/local/lib/libboost_regex.so: undefined reference to `u_tolower_52'
/usr/local/lib/libboost_regex.so: undefined reference to `u_isspace_52'
/usr/local/lib/libboost_regex.so: undefined reference to `u_isblank_52'
collect2: error: ld returned 1 exit status
src/CMakeFiles/Daemon.dir/build.make:144: recipe for target 'src/qwertycoind' failed
make[3]: *** [src/qwertycoind] Error 1
make[3]: Leaving directory '/home/max/qwertycoin/build/release'
CMakeFiles/Makefile2:530: recipe for target 'src/CMakeFiles/Daemon.dir/all' failed
make[2]: *** [src/CMakeFiles/Daemon.dir/all] Error 2
make[2]: Leaving directory '/home/max/qwertycoin/build/release'
Makefile:83: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/max/qwertycoin/build/release'
Makefile:20: recipe for target 'build-release' failed
make: *** [build-release] Error 2

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 698
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #20 : 05 Марта 2018, 15:25:54 »
makssun, Стоп! Вот где собака порылась! У вас установлен libboost в каталоге /usr/local/lib!
Удалите все библиотеки libboost в этом каталоге:
sudo эрэм эрэф /usr/local/lib/libboost*эрэм эрэф замените на rm -f

Оффлайн makssun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #21 : 05 Марта 2018, 15:53:29 »
makssun, Стоп! Вот где собака порылась! У вас установлен libboost в каталоге /usr/local/lib!
Удалите все библиотеки libboost в этом каталоге:
sudo эрэм эрэф /usr/local/lib/libboost*эрэм эрэф замените на rm -f

Фуух, рассказываю, удалил:
-эрэм эрэф /usr/local/lib/libboost*
Удалилось из этого каталога.

Снова компиллирую. Ошибка:

 [ 78%] Building CXX object src/CMakeFiles/Daemon.dir/Daemon/Daemon.cpp.o
make[3]: *** No rule to make target '/usr/local/lib/libboost_system.so', needed by 'src/qwertycoind'.  Stop.
make[3]: Leaving directory '/home/max/qwertycoin/build/release'
CMakeFiles/Makefile2:530: recipe for target 'src/CMakeFiles/Daemon.dir/all' failed
make[2]: *** [src/CMakeFiles/Daemon.dir/all] Error 2
make[2]: Leaving directory '/home/max/qwertycoin/build/release'
Makefile:83: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/max/qwertycoin/build/release'
Makefile:20: recipe for target 'build-release' failed
make: *** [build-release] Error 2

А теперь что не так?

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 698
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #22 : 05 Марта 2018, 16:57:37 »
make clean
make

Оффлайн makssun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #23 : 05 Марта 2018, 17:50:05 »
/usr/local/lib/libboost*

Вау! Получилось! Скомпилировалось и запустилось.
Для меня это был ценный опыт, я узнал много нового.
Добавлю в закладки эту тему.

Всем большушее спасибо!

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 698
    • Просмотр профиля
Re: Ошибка undefined symbol:
« Ответ #24 : 05 Марта 2018, 17:53:13 »
Не забудьте тему пометить как "Решено". Удачи!

 

Страница сгенерирована за 0.051 секунд. Запросов: 23.