Not sure whether this is binutils-related or something else changed
recently, but we are seeing some ports picking up libatomic.so from
gcc-4.8 on i386.

As this is typically not listed in WANTLIB (only present in x11/ogre)
build often fails, and of course there will be runtime problems for
users who install the package but don't have gcc libs.

Some specific examples,

x11/gnome/initial-setup

/usr/bin/libtool  --tag=CC   --mode=link cc  -O2 -pipe  -L/usr/local/lib -o 
gnome-initial-setup gis-assistant-resources.o gnome-initial-setup.o 
gis-assistant.o gis-page.o gis-driver.o gis-keyring.o 
pages/language/libgislanguage.la pages/region/libgisregion.la 
pages/keyboard/libgiskeyboard.la pages/eulas/libgiseulas.la 
pages/timezone/libgistimezone.la pages/privacy/libgisprivacy.la 
pages/goa/libgisgoa.la pages/account/libgisaccount.la 
pages/password/libgispassword.la pages/summary/libgissummary.la 
-L/usr/local/lib -L/usr/X11R6/lib -Wl,-rpath-link,/usr/X11R6/lib 
-lpolkit-gobject-1 -laccountsservice -lgnome-desktop-3 -lgweather-3 
-lgoa-backend-1.0 -lgoa-1.0 -lgdm -lrest-0.7 -lxml2 -ljson-glib-1.0 -lsecret-1 
-lpwquality -lwebkit2gtk-4.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpangoft2-1.0 
-lpango-1.0 -lm -lfontconfig -lfreetype -lz -latk-1.0 -lcairo-gobject -lcairo 
-lgdk_pixbuf-2.0 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -ljavascriptcoregtk-4.0 
-lglib-2.0 -lintl -L/usr/local/lib -libus-1.!
 0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -L/usr/local/heimdal/lib -lkrb5 
-lhx509 -lcom_err -lcrypto -lasn1 -lwind -lheimbase -lroken -pthread -pthread 
-lm
warning: could not find a atomic library
Link error: atomic not found!
 at /usr/libdata/perl5/LT/Library.pm line 137.

www/epiphany

/usr/bin/libtool  --tag=CC   --mode=link cc -pthread 
-I/usr/local/include/gtk-3.0/unix-print -I/usr/local/include/libwnck-3.0 
-I/usr/local/include/startup-notification-1.0 -I/usr/X11R6/include 
-I/usr/local/include -I/usr/local/include/webkitgtk-4.0 
-I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 
-I/usr/local/include/libsecret-1 -I/usr/local/include/gnome-desktop-3.0 
-I/usr/local/include/gsettings-desktop-schemas -I/usr/include 
-I/usr/local/include/gcr-3 -I/usr/local/include/gtk-3.0 
-I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 
-I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include 
-I/usr/local/include/gio-unix-2.0/ -I/usr/local/include/cairo 
-I/usr/local/include/pango-1.0 -I/usr/local/include/harfbuzz 
-I/usr/local/include/atk-1.0 -I/usr/X11R6/include/pixman-1 
-I/usr/X11R6/include/freetype2 -I/usr/local/include/libpng16 
-I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/gck-1 
-I/usr/local/include/p11-kit-1 -D_REENTRANT -I/us!
 r/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -O2 -pipe  
-L/usr/local/lib -o ephy-profile-migrator 
ephy_profile_migrator-ephy-profile-migrator.o  ../lib/history/libephyhistory.la 
libephymisc.la -L/usr/local/lib -pthread -L/usr/X11R6/lib -L/usr/lib 
-Wl,-rpath-link,/usr/X11R6/lib -lgthread-2.0 -lX11 -lwnck-3 -lxslt -liconv 
-lxml2 -lwebkit2gtk-4.0 -ljavascriptcoregtk-4.0 -lsoup-2.4 -lsecret-1 
-lgnome-desktop-3 -lnotify -lsqlite3 -lgcr-ui-3 -lgtk-3 -lgdk-3 
-lpangocairo-1.0 -lpangoft2-1.0 -lpango-1.0 -lm -lfontconfig -lfreetype -lz 
-latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgcr-base-3 -lgck-1 
-lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -lp11-kit -lavahi-gobject 
-lavahi-common -lavahi-client  -lexecinfo 
warning: could not find a atomic library
Link error: atomic not found!

If the build is done with gcc present, it builds ok, and libatomic gets
linked in to the produced object (so in this case the produced package
is missing a required dependency on gcc libs).

I discussed this with Antoine and we're not quite sure how to handle
this in a non-horrible way. Do we need arch-dependent WANTLIB/LIB_DEPENDS
on gcc libraries? (I also note that in gcc/4.9 this is in a libs package
whereas in gcc/4.8 it's in the main gcc package). Or should we just
enforce the dependency for all arch? Or does anyone have other ideas?

Reply via email to