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

Bug#617759: icedove: symbol lookup error: /usr/lib/icedove/components/libdbusservice.so: undefined symbol: NS_Alloc



Le 09/05/2011 13:56, Jonathan Nieder a écrit :
> tags 617759 - moreinfo
> quit
> 
> Jonathan Nieder wrote:
> 
>>  $ icedove; echo $?
>>  /usr/lib/icedove/icedove-bin: symbol lookup error: /usr/lib/icedove/components/libdbusservice.so: undefined symbol: NS_Alloc
>>  127
> 
> I tried reproducing this with upstream glibc.  I'm way too lazy to
> rebuild icedove in a sysroot, so that meant:
> 
> 	git checkout 9f94d2ea
> 	cd ..
> 	mkdir glibc-build
> 	cd glibc-build
> 	../glibc/configure --prefix=$HOME/opt/glibc
> 	make install
> 
> In a root shell, kept open for safety:
> 
> 	cd ~jrn/src/glibc-build
> 	cp -dp /lib/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2.backup
> 	ln -sf $(pwd)/elf/ld.so /lib/ld-linux-x64-64.so.2
> 
> As an ordinary user:
> 
> 	LD_LIBRARY_PATH=$HOME/opt/glibc:/usr/local/lib:/usr/lib:/lib
> 	export LD_LIBRARY_PATH
> 	icedove
> 
> Worked great --- icedove opened without trouble.  So probably either
> the bug is caused by a Debian or eglibc patch, or it is related to
> ld.so.cache.  Next step will be to try the patched source.
> 
> A less puzzling finding: LD_BIND_NOW avoids trouble, too.

Interesting, so it means it should be possible to find the culprit using
a kind of dichotomy on the debian/patches directory.

As I can't reproduce the issue, would it be possible for you to try the
following tests? Alternatively if you have been able to reproduce the
issue in a VM, you can upload it somewhere sot that i can try to debug
it directly:
 - try to build from 996cf2ef07277805f119c8b47be92334c907ce8f ,
corresponding to the 2.13 branch, we have most of the patches of this
branch in the Debian eglibc package.
 - try to not set LD_LIBRARY_PATH, in other words, just use the ld.so
from your build. That would tell us if the problems comes from libc.so
or other libraries, or from ld.so. You can also experiment by only
having some .so in /opt/glibc
- try to add --enable-stackguard-randomization to the configure option,
to match further the debian package.

Note that you may want to use ccache if you have to rebuild glibc a few
times.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net



Reply to: