LDFLAGS - не могу убрать --as-needed

Написал в make.conf строку LDFLAGS="-Wl,-O1" и то-же самое в /usr/portage/profiles/default/linux/make.defaults
компилирую прогу с помощью cmake а он все равно где-то берет опцию --as-needed. В CmakeLists.txt написано так:
set (CMAKE_EXE_LINKER_FLAGS " ${CMAKE_EXE_LINKER_FLAGS} ${MYSQL_LIBS} -lxerces-c")

Как еще убрать --as-needed ?

a зачем ?

a зачем ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

.

dmitry_kozak написал(а):
Как еще убрать --as-needed ?

Добавить -Wl,--no-as-needed, но зачем?? Ещё сюда загляните

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Spoiler написал(а): но

Spoiler написал(а):
но зачем??

та у меня прога самописная (не мною) , не линкуется с этим параметром. ругается на boost

.

dmitry_kozak написал(а):
прога самописная (не мною)

А бывают несамописные? :-) То, что не вами - осложнение серьёзное, но как по мне - линковку ухудшать в последнюю очередь, хотя boost, действительно, не тривиальные либы...

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Почитал по ссылке, добавил

Почитал по ссылке, добавил export LDFLAGS="$LDFLAGS -Wl,--no-as-needed" прям перед cmake. Результат тот-же, пишет, что линковщику использует флаг --as-needed.
блин, где он его берет ??

.

dmitry_kozak написал(а):
блин, где он его берет ??

В Makefile (или что там у вас вместо него)?

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Spoiler

Spoiler написал(а):
dmitry_kozak написал(а):
блин, где он его берет ??

В Makefile (или что там у вас вместо него)?

нет там ничего. У меня cmake.

.

dmitry_kozak написал(а):
нет там ничего

Ну есть же где-то первичное присваивание переменной CMAKE_EXE_LINKER_FLAGS, коль скоро используется set (CMAKE_EXE_LINKER_FLAGS " ${CMAKE_EXE_LINKER_FLAGS} ${MYSQL_LIBS} -lxerces-c")... Смотрите ваш CmakeLists.txt пошагово, возможно найдёте или источник или каталог источников (каталог сорцов - в первую очередь) для присваивания. И не могу не согласиться с постом камрада mastepaner - не надо "бороться со спиртным, уничтожая его путём выпивания", лучше разобраться, почему boost не прикручивается...

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Неужели никто не знает ??

Неужели никто не знает ??

(*)

Вы сказали "не линкуется с этим параметром. ругается на boost". Если бы вы подробнее рассказали, кто-нибудь смог бы подсказать, что надо сделать, чтобы оно слинковалось. И не ругалось на boost. А --as-needed не надо убирать.
http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed
http://blog.flameeyes.eu/2010/06/21/enabling-as-needed-whose-task-is-it

mastepaner написал(а):Вы

mastepaner написал(а):
Вы сказали "не линкуется с этим параметром. ругается на boost". Если бы вы подробнее рассказали, кто-нибудь смог бы подсказать, что надо сделать, чтобы оно слинковалось. И не ругалось на boost. А --as-needed не надо убирать.

Подробнее:
profile Desctop
без --as-needed прога собирается. На старой сборке gentoo все ок. На свежей так:

cmake .
make

*******************CMAKE_EXE_LINKER_FLAGS: -Wl,-O1 -Wl,--as-needed -rdynamic -L/usr/lib/mysql -lmysqlclient -L/usr//lib -lz -lcrypt -lnsl -lm -L/usr/lib/ -lssl -lcrypto -lxerces-c
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/dev/v2/build
читаем FAQ и юзаем wgetpaste
../alfabox-lib/libalfabox-lib.a(xml.cpp.o):(.gcc_except_table+0x12c): undefined reference to `typeinfo for xercesc_2_8::DOMException'
../alfabox-lib/libalfabox-lib.a(xml.cpp.o):(.gcc_except_table+0x130): undefined reference to `typeinfo for xercesc_2_8::XMLException'
collect2: выполнение ld завершилось с кодом возврата 1
make[2]: *** [alfabox-core/alfabox2-core] Ошибка 1
make[1]: *** [alfabox-core/CMakeFiles/alfabox2-core.dir/all] Ошибка 2
make: *** [all] Ошибка 2

(*)

Пусть более опытные товарищи меня поправят (и, желательно, дополнят):
1) Читали ли вы ссылки что я привёл?
2) Использовали ли scanelf для поискать той библиотеки, в которой определены `pthread_key_create', `pthread_getspecific' и прочее?
3) После cmake . но ПЕРЕД выполнением make смотрели ли вы в Mаkefile чтобы увидеть, с какими библиотеками вы линкуетесь и есть ли среди них те, что найдены scanelf?

mastepaner написал(а): Пусть

mastepaner написал(а):
Пусть более опытные товарищи меня поправят (и, желательно, дополнят):
1) Читали ли вы ссылки что я привёл?
2) Использовали ли scanelf для поискать той библиотеки, в которой определены `pthread_key_create', `pthread_getspecific' и прочее?
3) После cmake . но ПЕРЕД выполнением make смотрели ли вы в Mаkefile чтобы увидеть, с какими библиотеками вы линкуетесь и есть ли среди них те, что найдены scanelf?

1) нет. иду читать ...
2) scanelf ? ща погуглю, что же это такое ;)
3) сначала п.2)

CMAKE_EXE_LINKER_FLAGS:

CMAKE_EXE_LINKER_FLAGS: -Wl,-O1 -Wl,--as-needed -rdynamic -L/usr/lib/mysql -lmysqlclient -L/usr//lib -lz -lcrypt -lnsl -lm -L/usr/lib/ -lssl -lcrypto -lxerces-c
И в каком месте тут должна быть линковка с boost? Где банальный хотя бы -lboost_system-mt? Не говоря о том, что линкер жалуется не только на буст, но и на нехватку -pthread?
Разберитесь сначала в своей билд-системе, Gentoo вам все правильно на ошибки тычет.

Не грусти, товарищ! Всё хорошо, beautiful good!

winterheart

winterheart написал(а):
CMAKE_EXE_LINKER_FLAGS: -Wl,-O1 -Wl,--as-needed -rdynamic -L/usr/lib/mysql -lmysqlclient -L/usr//lib -lz -lcrypt -lnsl -lm -L/usr/lib/ -lssl -lcrypto -lxerces-c
И в каком месте тут должна быть линковка с boost? Где банальный хотя бы -lboost_system-mt? Не говоря о том, что линкер жалуется не только на буст, но и на нехватку -pthread?
Разберитесь сначала в своей билд-системе, Gentoo вам все правильно на ошибки тычет.

Я не сомневаюсь, что генту все правильно тычет. Беда в том, что я не программист, и погружаться в билд-систему (cmake) на данный момент тупо некогда. Хотелось бы как-то убрать --as-needed флаг, запустить, чтоб все работало, а потом спокойно разобраться с cmake-ом и сделать грамотно.

CMakeLists.txt покажи.

CMakeLists.txt покажи.

Не грусти, товарищ! Всё хорошо, beautiful good!

У тебя есть 2 выхода :)

У тебя есть 2 выхода :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".