While trying to build the debian samba packet (with 3.0.beta3) I get the following error. I have built both using debians build system (dpkg-buildpackage) and using the standard build system (./configure && make clean && make, etc), and it occurs both times, this should remove the debian build system from being a cause of the problem. I get the following build error: Configure'd with: ./configure \ --host=i386-linux \ --build=i386-linux \ --cache-file=./config.cache \ --with-fhs \ --enable-shared \ --enable-static \ --prefix=/usr \ --sysconfdir=/etc \ --libdir=/etc/samba \ --with-privatedir=/etc/samba \ --localstatedir=/var \ --with-netatalk \ --with-smbmount \ --with-pam \ --with-syslog \ --with-sambabook \ --with-utmp \ --with-readline \ --with-libsmbclient \ --with-winbind \ --with-msdfs \ --with-automount \ --with-acl-support \ --with-tdbsam \ --with-pam_smbpass \ --with-pam-smbpass \ --with-ldap \ --with-ldapsam \ --with-acl-support \ --with-python=python2.1 [...build process goes fine, till....] Compiling lib/smbldap.c with -fPIC Linking shared library bin/pam_smbpass.so libsmb/nterr.po: In function `nt_status_string_to_code': libsmb/nterr.c:719: multiple definition of `nt_err_desc' libsmb/nterr.po:libsmb/nterr.c:719: first defined here libsmb/nterr.po: In function `nt_errstr': libsmb/nterr.c(.text+0x0): multiple definition of `nt_errstr' libsmb/nterr.po(.text+0x0):libsmb/nterr.c: first defined here libsmb/nterr.po: In function `get_friendly_nt_error_msg': libsmb/nterr.c(.text+0x64): multiple definition of `get_friendly_nt_error_msg' [... continues, listing various functions...] collect2: ld returned 1 exit status make[1]: *** [bin/pam_smbpass.so] Error 1 make[1]: Leaving directory `/usr/local/src/samba-3.0.0beta3/source' make: *** [build-stamp] Error 2
As an additional note, when --with-pam_smbpass is removed from the configure line, the build process completes fine.
Seems to compile fine from CVS. I'll download the actual beta3 code and try it there.
samba3.0.0beta3 compiles fine for me. In fact I can't see how this error could happen as the only other place libsmb/nterr.o is referenced is in LIBSAMBA_OBJ which isn't included (directly or indirectly) by anything in the dependencies for pam_smbpass.so. Does the debian source package include a patch for Makefile.in?
What do you know, it does.. and guess what, the patch is called: pam_smbpass_linkage.patch I suspect its probably an old patch, I'll remove it from the applied patches list, and see how it goes.
Ok, yeah, that fixed it. For the record: remove the debian patch pam_smbpass_linkage.patch (Oh, if you've already tried a build before removing the patch, you'll need to either manually reverse the patch, or start with a clean build tree). Oh, and I don't have permission to change the bug status field to FIXED. (since I'm the bug reporter, I thought I would, funny that, i should file a bug bug :P) so someone will need to change this to fixed.
I'll pass this report on to the debian guys. Thanks for sorting it out! There are some weird restrictions on who can mark stuff as fixed. I would have thought the bug reporter would be one of those people.
originally reported against 3.0.0beta3. CLeaning out non-production release versions.
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.
database cleanup