As summary says: I upgraded to openobex-1.0.1, and after that all programs linking against it refused to compile, always bombing out with the error below. Re-emerging 1.0.1 doesn't help, but downgrading to 1.0.0 fixes the problem. [..snip..] Making all in kbtobexclient make[3]: Entering directory `/var/tmp/portage/kdebluetooth-0.0.20050122-r3/work/kdebluetooth-0.0.20050122/kdebluetooth/kbtobexclient' /bin/sh ../../libtool --silent --mode=link --tag=CXX x86_64-pc-linux-gnu-g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -march=athlon64 -O2 -pipe -fweb -fomit-frame-pointer -frename-registers -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -o kbtobexclient -R /usr/lib -R /usr/kde/3.4/lib -R /usr/qt/3/lib -R /usr/lib64 -L/usr/kde/3.4/lib -L/usr/qt/3/lib -L/usr/lib64 main.o sender.o fileiconview.o diroperator.o fileview.o dndfileview.o mainwindow.o ../../kdebluetooth/kbluetoothd/libkbluetoothd/libkbluetoothd.la ../../kdebluetooth/libkbluetooth/libkbluetooth.la ../../kdebluetooth/libkobex/libkobex.la -lkio -lkdeui -L/usr/lib -lbluetooth /usr/lib/libopenobex.so: undefined reference to `g_netbuf_realloc' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_tailroom' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_free' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_push' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_pull' /usr/lib/libopenobex.so: undefined reference to `slist_append' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_put' /usr/lib/libopenobex.so: undefined reference to `slist_remove' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_new' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_put_data' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_reserve' /usr/lib/libopenobex.so: undefined reference to `g_netbuf_recycle' collect2: ld returned 1 exit status make[3]: *** [kbtobexclient] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdebluetooth-0.0.20050122-r3/work/kdebluetooth-0.0.20050122/kdebluetooth/kbtobexclient' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdebluetooth-0.0.20050122-r3/work/kdebluetooth-0.0.20050122/kdebluetooth' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdebluetooth-0.0.20050122-r3/work/kdebluetooth-0.0.20050122' make: *** [all] Error 2 !!! ERROR: net-wireless/kdebluetooth-0.0.20050122-r3 failed. !!! Function kde_src_compile, Line 166, Exitcode 2 !!! died running emake, kde_src_compile:make !!! If you need support, post the topmost build error, NOT this status message.
Works fine on 32 bit system. amd64 guys, can you help out here?
ticho, are you sure this is arch specific? emerge openobex works here too, but emerge libbtctl (which also depends on openobex) fails with 1.0.1
Well, I agree that the bug seems to be inside the openobex package, but facts, as well as this[1] email indicate that problem is only with 64-bit systems, so I'm turning to you guys for an advice (as I have zero experience with 64-bit). Maybe it's the "-L/usr/lib" in OP, just above the first error? I know amd64 installs some libs into /usr/lib64 ... 1. http://lists.pcxperience.com/pipermail/linuxr3000/2005-February/001489.html
Heh. I actually mailed Rudolph (poster of message linked to above) to find out if he has resolved it before filing this bug. He said he simply remerged openobex, and the problem went away. I tried it, but only after the downgrade did mine work. I have no idea what version he re-emerged, although he has 1.0.1 installed atm. It could be plausible that everything will still keep on working while linked against 1.0.0 and having upgraded to 1.0.1 since. Dewet
I can confirm the same behaviour when testing kdebluetooth - using openobex-1.0.1 it fails with undefined reference to errors, but downgrading to 1.0.0 allowed the application to compile and to also use the lib to push files to my mobile phone and my new bluetooth widget. Currently lib is a symlink to lib64, so that shouldn't be what is causing this issue. All 64 bit libs should be installed to /usr/lib64, but /usr/lib is a symlink to /usr/lib64 currently. This doesn't look arch specific, but I will look into this further when I have a little more time.
*** Bug 85545 has been marked as a duplicate of this bug. ***
*** Bug 87410 has been marked as a duplicate of this bug. ***
Please, mask openobex-1.0.1 until we solve this :)
Ok, 1.0.1 has been marked -amd64, as 8 people on amd64 confirmed this issue, and none from x86, sparc or ppc (I've asked sparc people to try compiling obexftp with 1.0.1 and it works, ppc has 1.0.1 marked stable, so I assume it's been atleast tested). As I have no access to an amd64 box, I'd like to ask amd64@ to have a look at this. Thanks guys!
I have successfully compiled kdebluetooth and obexftp using openobex-1.0.1. This problem seems to be no problem on ppc64.
I compared the symbol list of both versions of libopenobex.so, they match exactly. Explicilty, the symbols mentioned in the original post, g_netbuf_realloc, exists in /usr/lib64/libopenobex-1.0.so.1.0.0: phi ~ # nm -D /usr/lib64/libopenobex-1.0.so.1.0.0 | grep g_netbuf_realloc 0000000000007a97 T g_netbuf_realloc This is most probably a problem with ./configure or a multilib problem... Reassigning to amd64@g.o
I'm running amd64 and openobex 1.0.1 compiles and works fine here. Initially I had some problems when upgrading to 1.0.1 but they were all solved by recompiling all packages that depend on openobex.
kdebluetooth works fine here with openobex-1.0.1.. Kugelfang, can you still reproduce it?
not reproducible anymore :/
It's not resolved for me... /bin/sh ../libtool --mode=link x86_64-pc-linux-gnu-gcc -O2 -march=athlon64 -pipe -mmmx -m3dnow -msse -mfpmath=sse,387 -ffast-math -o btlist libbtctl.la -lgobject-2.0 -lglib-2.0 -L/usr/lib -lbluetooth -lopenobex btlist.o x86_64-pc-linux-gnu-gcc -O2 -march=athlon64 -pipe -mmmx -m3dnow -msse -mfpmath=sse,387 -ffast-math -o .libs/btlist btlist.o ./.libs/libbtctl.so -L/usr/lib /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so /usr/lib64/libbluetooth.so /usr/lib64/libopenobex.so /usr/lib64/libopenobex.so: undefined reference to `obex_object_setrsp' /usr/lib64/libopenobex.so: undefined reference to `obex_object_reparseheaders' /usr/lib64/libopenobex.so: undefined reference to `obex_object_send' /usr/lib64/libopenobex.so: undefined reference to `obex_object_setcmd' /usr/lib64/libopenobex.so: undefined reference to `obex_object_getnextheader' /usr/lib64/libopenobex.so: undefined reference to `obex_object_delete' /usr/lib64/libopenobex.so: undefined reference to `obex_object_addheader' /usr/lib64/libopenobex.so: undefined reference to `obex_object_readstream' /usr/lib64/libopenobex.so: undefined reference to `obex_object_new' /usr/lib64/libopenobex.so: undefined reference to `obex_object_receive' collect2: ld returned 1 exit status make[3]: *** [btlist] Error 1
note: openobex-1.0.1 isn't marked amd64 at all
just a random shoot: try commenting out the use amd64 && epatch line in the ebuild src_unpack() { unpack ${A} cd ${S} #use amd64 && epatch ${FILESDIR}/${P}-shared-object.patch gnuconfig_update } and then run emerge --digest =openobex-1.0.1 libtctl if that still doesn't fix it, please provide emerge --info as well as the version of openobex you've got installed (is it really 1.0.1?) and the version of libtctl you're trying to install
so it seems that danny's patch isn't needed, the so gets built anyway. without it, it seems to just work fine, so i removed it and put 1.0.1 back into ~amd64