[opensuse] broken samba-3.5.7 package in 11.4 (binary and source)
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? 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? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
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
Marcus Meissner wrote:
The build seems to depend on the buildrequires. You probably have more buildrequires installed than necessary, so additional files are built.
--- ??? The buildrequires, I thought were the files NEEDED to build the RPM? (If not, then what?) Trying to run rpmbuild -bp, against samba without the buildrequires refuses to start -- saying I had to install various 'devel' packages to continue. It's normal these days for packages to have requirements for build. You can't have "less than necessary" "buildrequires" installed or the rpm won't even start the build process.
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.
---- "It?" The source rpm doesn't have this -- when I installed it, the source and spec files are in separate directories -- that's why it fails.
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.
nmbd? x64? (note I was listing files for /usr/lib64...)
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).
For some low probability of 'likely', probably. Since anyone using samba with a windows client will have the window's client 'nmb' process picking up slack for most purposes. Unfortunately, I've been unable to 'login' to my domain server since installing the new samba. You say your samba 'works', are you also running with samba configured as a domain server? Would you suspect many early installers of 11.4 would be running domain servers?.... I'd say the odds were less than 25%.
Try to run: rpm -V samba libtalloc2
---
rpm -V samba libtalloc2 S.5....T. c /etc/samba/smbusers SM5....T. c /etc/xinetd.d/swat ......G.. /var/lib/samba/profiles ....L.... /usr/lib64/libtalloc.so.2
The link is the one I created trying to work-around the problem (usually the libs are installed as lib.X.Y.Z and symlinks point to the lib, but this one wasn't even though it's really libtalloc.so.2.0.1 and should have symlinks AFAIK for libtalloc.so.2.0 and libtalloc.so.2 pointing to the real thing. Hmm.... --- nmbd isn't asking for libtalloc Ishtar:/usr/lib64> readelf -d /usr/sbin/nmbd Dynamic section at offset 0x380870 contains 34 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libresolv.so.2] 0x0000000000000001 (NEEDED) Shared library: [libnsl.so.1] 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 0x0000000000000001 (NEEDED) Shared library: [libwbclient.so.0] 0x0000000000000001 (NEEDED) Shared library: [libpopt.so.0] 0x0000000000000001 (NEEDED) Shared library: [libgssapi_krb5.so.2] 0x0000000000000001 (NEEDED) Shared library: [libkrb5.so.3] 0x0000000000000001 (NEEDED) Shared library: [libk5crypto.so.3] 0x0000000000000001 (NEEDED) Shared library: [libcom_err.so.2] 0x0000000000000001 (NEEDED) Shared library: [libldap-2.4.so.2] 0x0000000000000001 (NEEDED) Shared library: [liblber-2.4.so.2] 0x0000000000000001 (NEEDED) Shared library: [libz.so.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] .... ------------------------------------------ How it compiles without error, is very confusing...AH... did libwbclient.so move from /lib64 to /usr/lib64 at some point? I had a libwbclient.so in /lib64 that belonged to no package. removing it...nmbd now loads (and immediately exits... so have some more tracking.....
If this is fine, open a bugreport.
Probably should against the source rpm as it won't build, in any event...as for any thing else... will keep digging (slowly...)....
Ciao, Marcus
Sayounara, Linda :-) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Monday 06 Jun 2011 03:45:01 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?
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?
I just disabled apparmour. I have not seen any fixes that work other than this. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
participants (3)
-
Linda Walsh
-
lynn
-
Marcus Meissner