[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[E-devel] compiling embrace fails with LDFLAGS="-Wl,--as-needed"



Hi there,
Compiling the CVS-version of embrace fails, if you pass "-Wl,--as-needed" to the linker (The error is obviously not due to the other optimizations used in the snippet at the bottom because it compiles fine with LDFLAGS="" as well as LDFLAGS="-Wl,-O1 -Wl,--sort-common").

When I try to build it with LDFLAGS="-Wl,--as-needed", it fails with the following error:

i686-pc-linux-gnu-gcc -I./include -I/usr/include -I/usr/include/enlightenment
-DUSE_E_CONFIG_H -I/usr/include -O2 -march=athlon-tbird -fomit-frame-pointer
-pipe -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -o embrace main.o
-Wl,--export-dynamic  -L/usr/lib -L/usr/X11R6/lib /usr/lib/libedb.so
/usr/lib/libedje.so /usr/lib/libecore_config.so /usr/lib/libecore_ipc.so
/usr/lib/libecore_con.so /usr/lib/libecore_file.so /usr/lib/libembryo.so
../src/lib/.libs/libembrace.a /usr/lib/libesmart_container.so
/usr/lib/libesmart_draggies.so /usr/lib/libecore_evas.so
/usr/lib/libesmart_trans_x11.so /usr/lib/libImlib2.so /usr/lib/libfreetype.so
/usr/lib/libevas.so /usr/lib/libeet.so -lz /usr/lib/libjpeg.so
/usr/lib/libfontconfig.so /usr/lib/libexpat.so /usr/lib/libecore.so
/usr/lib/libecore_x.so -lXcursor -lXrender -lXp -lXinerama -lXrandr -lXss -lX11
-lXext /usr/lib/libecore_txt.so /usr/lib/libecore_job.so -lm
/usr/lib/libltdl.so -ldl
../src/lib/.libs/libembrace.a(embrace.o): In function `open_edb':
embrace.c:(.text+0x482): undefined reference to `e_db_flush'
embrace.c:(.text+0x48a): undefined reference to `e_db_open_read'
../src/lib/.libs/libembrace.a(embrace.o): In function `embrace_init':
embrace.c:(.text+0xb71): undefined reference to `e_db_close'
embrace.c:(.text+0xc9c): undefined reference to `e_db_str_get'
embrace.c:(.text+0xf19): undefined reference to `e_db_str_get'
embrace.c:(.text+0x107c): undefined reference to `e_db_int_get'
embrace.c:(.text+0x1129): undefined reference to `e_db_int_get'
embrace.c:(.text+0x116b): undefined reference to `e_db_str_get'
embrace.c:(.text+0x1281): undefined reference to `e_db_str_get'
embrace.c:(.text+0x1300): undefined reference to `e_db_close'
collect2: ld returned 1 exit status

I found this strange, as it is clearly linked to edb (see ...-L/usr/X11R6/lib /usr/lib/libedb.so /usr/lib/libedje.so...). I don't think that this is a very urgent bug by itself, but it might show, that some other linker arguments are not correct. FYI what --as-needed does: http://www.gentoo.org/proj/en/qa/asneeded.xml By the way, edb was compiled with --as-needed too. The binutils version is 2.16.1, but it fails with 2.16.92, too.


As I am a gentoo user, here my emerge --info:
Portage 2203-svn (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3,
2.6.16.11 i686)
=================================================================
System uname: 2.6.16.11 i686 AMD Duron(tm) processor
Gentoo Base System version 1.6.14
dev-lang/python:     2.4.2
dev-python/pycrypto: [Not Present]
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-tbird -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde//share/config
/usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/sare/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/env.d /etc/eselect/compiler /etc/gconf /etc/terminfo
/etc/env.d"
CXXFLAGS="-O2 -march=athlon-tbird -fomit-frame-pointer -pipe
-fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo";
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow mmx pic unicode usepackagedmakefiles userland_GNU kernel_linux
elibc_glibc"
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS,
PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS
_______________________________________________________________
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192