Samba 4: Failed build on Ubuntu 12.04
Alexander Bokovoy
ab at samba.org
Mon Sep 10 05:16:58 MDT 2012
On Mon, Sep 10, 2012 at 1:22 PM, Alexander Bokovoy <ab at samba.org> wrote:
> On Mon, Sep 10, 2012 at 12:35 PM, Andrew Bartlett <abartlet at samba.org> wrote:
>> 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.
> Yep.
>
> Attached is the patch that works for me. I decided to generate version
> script with these symbols always filtered out as it does not hurt but
> simplifies logic. No vnum change on pdb because we have not yet
> released a version with versioned pdb.
Updated patch, covers all other symbols reported by steve.
--
/ Alexander Bokovoy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pdb-ignore-nds-ipa-ldap-symbols.patch
Type: application/octet-stream
Size: 5116 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20120910/bd8defb9/attachment.obj>
More information about the samba-technical
mailing list