Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ Подходящий runtime для GCC 6.1.0

Автор: AD 17.4.2017, 10:59

Работа происходит в Red Hat Linux Enterprise 6.3. Если собираю ерундовый тестовый проект с версией компилятора gcc 4.7.2, то все нормально собирается. Если же я переключаюсь на компилятор 6.1.0, то проект собирается, но при запуске ругается на ABI...

./mtest: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./mtest)

Как настроить правильно runtime, при этом не имея прав root, так как работа происходит на сервере? Насколько я понимаю, то надо что-то сделать с LD_LIBRARY_PATH...


Сразу скажу, не являюсь настолько опытным именно в Linux, чтобы понимать такие детали. Буду благодарен за подсказки...

Автор: AD 21.4.2017, 15:30

Неужели нет ни у кого подсказки? Никто с подобным не сталкивался или просто лень отвечать?

Автор: AD 5.5.2017, 11:10

Пока решение так и не нашел.... (

Автор: Iron Bug 6.5.2017, 4:40

LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

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

Автор: AD 11.5.2017, 11:49

Цитата(Iron Bug @ 6.5.2017, 4:40) *
LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

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

Конкретно данный путь не заработал... Но разобрался с тем, куда указать.... Нашел место, куда установлен gcc. Оказывается он в /opt установлен. Ну я и указал конкретную lib64 для нужного мне gcc.

Автор: Гест 29.8.2017, 15:24

Цитата(AD @ 17.4.2017, 10:59) *
Работа происходит в Red Hat Linux Enterprise 6.3. Если собираю ерундовый тестовый проект с версией компилятора gcc 4.7.2, то все нормально собирается. Если же я переключаюсь на компилятор 6.1.0, то проект собирается, но при запуске ругается на ABI...

Есть же devtoolset-6 с gcc 6.2.1. Он не создаёт runtime-зависимостей от своей libstdc++ (т.е. линкует статически) и софт, собранный им, зависит только от обычной системной libstdc++ от gcc 4.7.x/4.8.x

Автор: Iron Bug 30.8.2017, 5:09

Цитата(Гость_Гест_* @ 29.8.2017, 17:24) *
софт, собранный им, зависит только от обычной системной libstdc++

нет никакой "системной libstdc++'. libstdc++ - это стандартная библиотека С++ и она не является системной.
в компиляторах есть флаги для статической линковки стандартной библиотеки. в GCC это -statc-libstdc++. плюс есть статическая линковка библиотеки самого GCC -static-libgcc.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)