Hi, On Sun, Jun 05, 2011 at 06:45:01PM -0700, Linda Walsh wrote:
I'm not sure how this ever passed QA, but when I try to load 'nmbd', I get:
/usr/sbin/nmbd: symbol lookup error: /usr/sbin/nmbd: undefined symbol: _talloc_realloc_array.
ldd -r shows a bunch of similar undefined symbols (shown further below).
my samba rpm is samba-3.5.7-1.17.1.x86_64.
--- In checking, I found: lrwxrwxrwx 1 18 Jun 5 17:49 /usr/lib64/libtalloc.so.2 -> libtalloc.so.2.0.1* -rwxr-xr-x 1 43280 Mar 1 04:21 /usr/lib64/libtalloc.so.2.0.1*
(Note: there was only libtalloc.so.2, I moved it to it's 'real version', and created the symlink to be consistent with other libs -- to see if that would solve the problem (it didn't)).
looking at the lib, # readelf -s libtalloc.so.2|grep realloc 34: 0000000000000000 0 FUNC GLOBAL DEFAULT UND realloc@GLIBC_2.2.5 (2) 49: 0000000000007000 47 FUNC GLOBAL DEFAULT 12 _talloc_realloc_array 62: 0000000000006ff0 7 FUNC GLOBAL DEFAULT 12 talloc_realloc_fn 65: 0000000000006b80 1124 FUNC GLOBAL DEFAULT 12 _talloc_realloc
I see the symbols.
When I try to load nmbd with ldd: Ishtar:packages/rpms/x86_64> ldd /usr/sbin/nmbd linux-vdso.so.1 => (0x00007fffe610a000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fa6d18db000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fa6d16c3000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fa6d14bf000) libwbclient.so.0 => /lib64/libwbclient.so.0 (0x00007fa6d12a1000) libpopt.so.0 => /lib64/libpopt.so.0 (0x00007fa6d1095000) libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007fa6d0e5f000) libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007fa6d0b94000) libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007fa6d096c000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fa6d0768000) libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2 (0x00007fa6d0521000) liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007fa6d0312000) libz.so.1 => /lib64/libz.so.1 (0x00007fa6d00fa000) libc.so.6 => /lib64/libc.so.6 (0x00007fa6cfd8d000) /lib64/ld-linux-x86-64.so.2 (0x00007fa6d1af2000) libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007fa6cfb84000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fa6cf981000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa6cf764000) libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00007fa6cf549000) libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007fa6cf2ed000) libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007fa6cef3c000)
I see no reference to 'libtalloc' -- why not??
----
Note, I then tried to build the package from source and had it fail in multiple ways -- there's no way the source could build the binary -- the spec has error in it.
1) It references: vendor_tag=$( grep ^Release: ${RPM_SOURCE_DIR}/samba.spec | \...
"samba.spec" is in the "SPEC" dir along with other 'spec' files. How could this build work on a standard system, while the source files are in the RPM_SOURCE_DIR (sources/samba-3.5.7 on my system, sources on standard). The spec file is NOT in the sources dir.
2) MAJOR FAIL in trying to build binaries & source packages: Checking for unpackaged file(s): /usr/lib/rpm/check-files /usr/src/packages/BUILDROOT/samba-3.5.7-1.17.1.x86_64 error: Installed (but unpackaged) file(s) found: /usr/share/man/man1/ad2oLschema.1.gz /usr/share/man/man1/oLschema2ldif.1.gz /usr/share/man/man3/ldb.3.gz
RPM build errors: Installed (but unpackaged) file(s) found: /usr/share/man/man1/ad2oLschema.1.gz /usr/share/man/man1/oLschema2ldif.1.gz /usr/share/man/man3/ldb.3.gz
----
So how could the source build if files are being left over?
Is some special rpm being used on build machines that ignores errors?
The build seems to depend on the buildrequires. You probably have more buildrequires installed than necessary, so additional files are built. It also has SPECs and Source files in the same directory during build, so a simple install source rpm and rpmbuild is not fully working.
Of course none of the above explains why nmbd isn't linking with libtalloc, which was the root problem of this mess! ;-)
(up-to-butt in alligators; meant to drain swamp?)....
So Does anyone have ideas as to what's going on? -- especially, why nmbd isn't linking against libtalloc and how it ever got released that way?
First, it works for me on my 11.4 system. And it likely works for some more people, as you are the first to report this with 11.4 released in March (and samba was not updated). Try to run: rpm -V samba libtalloc2 If this is fine, open a bugreport. Ciao, Marcus -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org