SPECS: nautilus.spec - 2.15.4, updated deps, --as-needed support

Tomasz Trojanowski tomek w uninet.com.pl
Czw, 13 Lip 2006, 21:15:34 CEST


On Thu, 2006-07-13 at 17:52 +0200, Bartosz Taudul wrote:
> On Thu, Jul 13, 2006 at 12:42:05PM +0200, Tomasz Trojanowski wrote:
> > A może warto dodać:
> > 
> > %rpmldflags     %{!?debug:-s} %{!?no_build_with_as_needed:-Wl,--as-needed}
> > 
> > i budować domyślnie wszystko z --as-needed a w nielicznych przypadkach
> > (gdzie są pętle w bibliotekach: np. evolution) wrzucać do speca:
> > 
> > %define no_build_with_as_needed 1
> > 
> > Oczywiście w całej dystrybucji nie tylko w GNOMowych pakietach.
> Też mnie się aktualne działania w tej sprawie wydają trochę dziwne.
> Jeżeli to jest coś co działa, to dawać to wszędzie, a nie wybiórczo.

Działać działa wszędzie, natomiast nie zawsze się kompiluje dlatego
furtka w postaci "no_build_with_as_needed".

Większość problemów w budowaniu to takie, gdzie w Makefile'ach
biblioteki z którymi ma zachodzić linkowanie są podawane w
nieodpowiedniej kolejności. Taki przypadek zachodzi np. w nieszczęsnym
w3c-libwww, przy którym trzeba się zdrowo napocić żeby budowało się z
--as-needed:

http://svn.pld-freebsd.org/svn/packages/trunk/w3c-libwww/SOURCES/as-needed.patch

Inna sprawa jest evolutionem, w którym (w uproszczeniu) biblioteka
libx.so wymaga symboli z liby.so, a liby.so wymaga symboli z libx.so.
Tu dla zbudowania konieczne jest wyłączenie --as-needed.

Pozdrawiam
    Tomasz Trojanowski




Więcej informacji o liście dyskusyjnej pld-devel-pl