Samba 4: Failed build on Ubuntu 12.04
Andrew Bartlett
abartlet at samba.org
Mon Sep 10 03:35:21 MDT 2012
On Mon, 2012-09-10 at 12:28 +0300, Alexander Bokovoy wrote:
> On Mon, Sep 10, 2012 at 12:12 AM, steve <steve at steve-ss.com> wrote:
> > On 09/09/2012 09:41 PM, Alexander Bokovoy wrote:
> >>
> >> On Sun, Sep 9, 2012 at 8:54 PM, steve <steve at steve-ss.com> wrote:
> >>>
> >>> Please: What is ABI? This box has been building fine until the latest
> >>> git:
> >>>
> >>> [3719/3954] abi_check: bin/default/source3/libpdb.so
> >>> libpdb.so: symbol pdb_nds_get_password has been removed - please update
> >>> major version
> >>> signature: int (struct smbldap_state *, char *, size_t *, char *)
> >>> libpdb.so: symbol priv2ld has been removed - please update major version
> >>> signature: LDAP *(struct ldapsam_privates *)
> >>> libpdb.so: symbol get_userattr_list has been removed - please update
> >>> major
> >>> version
> >>> signature: const char **(TALLOC_CTX *, int)
> >>> libpdb.so: symbol smbldap_search_domain_info has been removed - please
> >>> update major version
> >>> signature: NTSTATUS (struct smbldap_state *, LDAPMessage **, const
> >>> char
> >>> *, bool)
> >>> libpdb.so: symbol ldapsam_search_suffix_by_name has been removed - please
> >>> update major version
> >>> signature: int (struct ldapsam_privates *, const char *, LDAPMessage
> >>> **,
> >>> const char **)
> >>> libpdb.so: symbol pdb_ipa_init has been removed - please update major
> >>> version
> >>> signature: NTSTATUS (void)
> >>> libpdb.so: symbol pdb_nds_set_password has been removed - please update
> >>> major version
> >>> signature: int (struct smbldap_state *, char *, const char *)
> >>> libpdb.so: symbol pdb_nds_init has been removed - please update major
> >>> version
> >>> signature: NTSTATUS (void)
> >>> libpdb.so: symbol groupmap_attr_list has changed - please update major
> >>> version
> >>> old_signature: 0xXXXX
> >>> new_signature: {attrib = 3, name = 0xXXXX "gidNumber"}, {attrib =
> >>> 30,
> >>> name = 0xXXXX "sambaSID"}, {attrib = 31, name = 0xXXXX "sambaGroupType"},
> >>> {attrib = 40, name = 0xXXXX "sambaSIDList"}, {attrib = 16, name = 0xXXXX
> >>> "description"}, {attrib = 12, name = 0xXXXX "displayName"}, {attrib = 11,
> >>> name = 0xXXXX "cn"}, {attrib = 24, name = 0xXXXX "objectClass"}, {attrib
> >>> =
> >>> 0, name = 0xXXXX}
> >>> libpdb.so: symbol pdb_init_ldapsam has been removed - please update major
> >>> version
> >>> signature: NTSTATUS (struct pdb_methods **, const char *)
> >>> libpdb.so: symbol groupmap_attr_list_to_delete has changed - please
> >>> update
> >>> major version
> >>> old_signature: 0xXXXX
> >>> new_signature: {attrib = 30, name = 0xXXXX "sambaSID"}, {attrib =
> >>> 31,
> >>> name = 0xXXXX "sambaGroupType"}, {attrib = 16, name = 0xXXXX
> >>> "description"},
> >>> {attrib = 12, name = 0xXXXX "displayName"}, {attrib = 40, name = 0xXXXX
> >>> "sambaSIDList"}, {attrib = 0, name = 0xXXXX}
> >>> Waf: Leaving directory `/home/steve/samba-master/bin'
> >>> Build failed: ABI for libpdb.so has changed - please fix library version
> >>> then build with --abi-update
> >>> See http://wiki.samba.org/index.php/Waf#ABI_Checking for more information
> >>> If you have not changed any ABI, and your platform always gives this
> >>> error,
> >>> please configure with --abi-check-disable to skip this check
> >>>
> >>> I have not changed ABI. I have no idea what it is. I am an end user. Do I
> >>> try ./configure.developer --abi-check-disable? If so what am I missing?
> >>
> >> There are few symbols which are pulled into libpdb because of other
> >> subsystems are included as part of module dependencies. Your
> >> configuration seem not to build them. You can use --abi-check-disable
> >> right now but I'll track down what exactly triggers these and update
> >> the definitions so that irrelevant symbols are not leaking through.
> >> There were few I've masked already.
> >>
> >> ABI check is good in general, we need to work on cleaning up libpdb
> >> like I did with libsmbldap last week.
> >>
> > Hi
> > Can confirm that with:
> >
> > --abi-check-disable
> > now builds on Ubuntu 12.04.
> >
> > Can you tell me when you have the patch and I'd gladly test it. The problem
> > is that it comes right near the end of make and on a slow box with only 384
> > RAM that's near on an hour.
> >
> > BTW builds out of the box on openSUSE so may be something Debian/Ubuntu
> > specific.
> Not sure how specific it is, I just tried the
>
> ./configure --abi-check --enable-debug
>
> build (no additional options) on up to date Ubuntu 12.04 LTS and had
> no issues whatsoever. All ABI checks went fine.
Just excluding pdb_nds_* should be enough to fix it (none of the other
modules seem to be written as multiple compilation units with a pdb_
prefix). It would happen when the ldap backends are included and
static, rather than real modules.
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
More information about the samba-technical
mailing list