Robert Cernansky wrote:
RF> RF> For a complete list of packages that should be rebuilt, you can run: RF> RF> equery belongs `ldd /usr/sbin/smbd | grep ' /' | awk '{print $3}'` | RF> sort | uniq RF> RF> This will print the name of every package that contains a library that RF> smbd depends upon. RF> RF> I would not rebuild the entire system at this point, but if -ftracer RF> does turn out to be the source of your problem, then a rebuild should RF> scheduled soon!

Well, ldd shows that smbtree depends on popt and glibc. According to gdb,
the problem seems to be in glibc (/usr/lib64/gconv/IBM852.so belongs to
glibc):

$ gdb smbtree
[snip]
(gdb) r
Starting program: /usr/bin/smbtree (no debugging symbols found)
(no debugging symbols found)
[snip]
Program received signal SIGSEGV, Segmentation fault.
0x00002aaaab4459bc in gconv () from /usr/lib64/gconv/IBM852.so
(gdb) bt
#0  0x00002aaaab4459bc in gconv () from /usr/lib64/gconv/IBM852.so
#1  0x00002aaaab23efa2 in gconv () from /usr/lib64/gconv/UTF-16.so
#2  0x00002aaaab034f78 in iconv_close () from /lib/libc.so.6
#3  0x00002aaaab03456b in iconv () from /lib/libc.so.6
#4  0x00000000004416b0 in smb_register_charset ()
#5  0x00000000004417db in smb_iconv ()
#6  0x00000000004222fa in lazy_initialize_conv ()
#7  0x000000000042283b in convert_string ()
#8  0x0000000000432308 in init_doschar_table ()
#9  0x00000000004221c4 in init_iconv ()
#10 0x000000000041c9e4 in lp_file_list_changed ()
#11 0x000000000041dfc5 in lp_do_parameter ()
#12 0x000000000042085a in set_store_dos_attributes ()
#13 0x0000000000420b98 in pm_process ()
#14 0x000000000041f83b in lp_load ()
#15 0x0000000000418c68 in main ()

So I decide to downgrade glibc first, but it did not help. Then I downgrade
linux-headers and re-emerge (downgraded) glibc and samba (for sure). Again
without success. :-( I removed -ftracer at first of course.

I'm stuck now. I don't believe that rebuild of whole system (without
-ftracer) fixes the problem because /usr/lib64/gconv/IBM852.so depends only
on libraries from glibc.

$ ldd /usr/lib64/gconv/IBM852.so
        libc.so.6 => /lib/libc.so.6 (0x00002aaaaabce000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
$ ldd /lib/libc.so.6
        /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
$ ldd /lib64/ld-linux-x86-64.so.2
        statically linked

What do you think?

Robert



Maybe something in your toolchain is broken.  If you don't have a trusted 
toolchain then you can borrow the toolchain from a livecd to rebuild gcc, 
binutils, and libtool.

Zac
--
gentoo-user@gentoo.org mailing list

Reply via email to