[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