shtrih-m / fr_drv_ng

релизы и поддержка драйвера fr_drv_ng
36 stars 5 forks source link

Запуск драйвера на Ubuntu 14.04 #259

Open mb1te opened 1 year ago

mb1te commented 1 year ago

Есть проблема с запуском драйвера на Ubuntu 14.04 (GLIBCXX_3.4.21 not defined in file libstdc++.so.6). Генерировал через setup.py _fr_drv_ng для Python 3.11.

Есть возможность скомпилировать драйвер с -D_GLIBCXX_USE_CXX11_ABI=0 или другой способ решения данной проблемы?

swex commented 1 year ago

14.04 это совсем круто, почти 10 лет прошло, уже обычная поддержка закончилась. В 2024 закончится и Extended Security Maintenance (ESM). Сборки в CI формируются с gcc 8.x C++17. Попробуем собрать, правда, не уверен что получится/поможет.

Предлагаю вам пока посмотреть в сторону запуска службы console_test с подгруженными через LD_LIBRARY_PATH библиотеками и работы через json-rpc

swex commented 1 year ago

ну у меня собралось, использовал gcc 8 из ppa toolchain-test. взял за основу вот этот gist

add-apt-repository ppa:ubuntu-toolchain-r/test -y
apt-get update
apt-get install build-essential software-properties-common -y
apt-get install gcc-8 g++-8 -y
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8
apt-get install gcc-4.8 g++-4.8 -y
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8;

update-alternatives --config gcc

но оно ставит не только компилятор, но и обновляет libstdc++. В теории софт, собранный под более старые версии glibc/libstdc++ должны работать т.к. вроде как gcc гарантирует совместимость вниз.

Если устраивает такой подход - добавлю такой вариант сборки под x86_64 в CI и выложу с новой версией

swex commented 1 year ago

Добавил такую сборку, можно проверить.