[Comm] ЦЕРНовская графика ROOT, Desktop 4.0 и экскурсия в Ubuntu 7.10

Damir Shayhutdinov =?iso-8859-1?q?lost404_=CE=C1_gmail=2Ecom?=
Ср Мар 26 22:41:52 MSK 2008


> > p> Похоже, что дело в какой-то неправильной настройке по умолчанию
>  > p> компилятора
>  >
>  > Настройка правильная, это вам надо подправить кривую софтину, не умеющую
>  > с --as-needed собираться. Как подправить - уже сказали.
>  >
>
> Да нет, софтина не кривая - она же компилится без проблем и во всех
>  предыдущих Alt начиная с Master 2.2, и в Ubuntu-7.10, где тоже gcc-4.1.
>  Чем-то Desktop отличается от всего остального.
Изменились условия компиляции. Раньше для линковки с динамическими
библиотеками использовались другие правила, чем для линковки со
статическими библиотеками. Теперь (в 4.0 и выше), по умолчанию
линковка с динамическими библиотеками делается так же как и со
статическими.

Софтина кривая в том смысле, что ее невозможно собрать со статическими
библиотеками любым компилятором (линковщиком), и с динамическими
библиотеками линковщиком из ALT Linux.

Решения два:
1) Исправить линковку (поставить -ldl после всех .o и .c файлов в
строке линковки). Это заодно вылечит статическую линковку.
2) Собрать линковщиком, который использует старые правила линковки.
Для этого надо либо использовать старые binutils, либо передать при
линковке флаг -Wl,--no-as-needed


Подробная информация о списке рассылки community