Bug 2032704 - [F36FTBFS]: bind fails to build from source in Fedora Rawhide with openldap-2.6
Summary: [F36FTBFS]: bind fails to build from source in Fedora Rawhide with openldap-2.6
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: bind
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Menšík
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2021662
TreeView+ depends on / blocked
 
Reported: 2021-12-15 02:38 UTC by Simon Pichugin
Modified: 2021-12-22 22:10 UTC (History)
8 users (show)

Fixed In Version: bind-9.16.24-2.fc36
Clone Of:
Environment:
Last Closed: 2021-12-22 22:10:46 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Internet Systems Consortium (ISC) isc-projects bind9 merge_requests 5665 0 None None None 2021-12-22 13:15:48 UTC

Description Simon Pichugin 2021-12-15 02:38:39 UTC
Your package fails to build with the newest openldap-2.6, which was part of a recent wide Fedora change. More information about Fedora OpenLDAP Change is available here: https://fedoraproject.org/wiki/Changes/Openldap_25#How_To_Test.
Thank you for your cooperation!

Additional Information:
If you have an issue with libldap_r depreciation, you can use the following example for fixing your package:
https://github.com/389ds/389-ds-base/commit/a3375a08a506c3b72a8a23df5238848017691350

Comment 1 Petr Menšík 2021-12-22 12:47:17 UTC
The conflict is not caused by libldap_r directly. But build complains because dlz module uses ldap_connect static function with different parameters. Quick fix would be renaming internal functions to use unique prefix for own functions.

Comment 2 Petr Menšík 2021-12-22 13:10:16 UTC
Relevant message from build failure at https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.6/build/3064396/

make: Leaving directory '/builddir/build/BUILD/bind-9.16.24/build/contrib/dlz/modules/filesystem'
+ for DIR in filesystem ldap mysql mysqldyn sqlite3
+ make -C ldap 'CFLAGS=-fPIC -I../include  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 '
make: Entering directory '/builddir/build/BUILD/bind-9.16.24/build/contrib/dlz/modules/ldap'
gcc -fPIC -I../include  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -c ../common/dlz_dbi.c
gcc -fPIC -I../include  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -shared -o dlz_ldap_dynamic.so \
	dlz_ldap_dynamic.c dlz_dbi.o -lldap
dlz_ldap_dynamic.c:196:1: error: conflicting types for 'ldap_connect'; have 'isc_result_t(ldap_instance_t *, dbinstance_t *)' {aka 'unsigned int(ldap_instance_t *, struct dbinstance *)'}
  196 | ldap_connect(ldap_instance_t *dbi, dbinstance_t *dbc) {
      | ^~~~~~~~~~~~
In file included from dlz_ldap_dynamic.c:66:
/usr/include/ldap.h:1555:1: note: previous declaration of 'ldap_connect' with type 'int(LDAP *)' {aka 'int(struct ldap *)'}
 1555 | ldap_connect( LDAP *ld );
      | ^~~~~~~~~~~~
make: *** [Makefile:13: dlz_ldap_dynamic.so] Error 1
make: Leaving directory '/builddir/build/BUILD/bind-9.16.24/build/contrib/dlz/modules/ldap'
error: Bad exit status from /var/tmp/rpm-tmp.fEWFON (%build)
    Bad exit status from /var/tmp/rpm-tmp.fEWFON (%build)

Comment 3 Petr Menšík 2021-12-22 13:32:06 UTC
Built on rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=80325725

Comment 4 Petr Menšík 2021-12-22 22:10:46 UTC
Verified fix on COPR repo build: https://copr.fedorainfracloud.org/coprs/spichugi/openldap-2.6/build/3076834/


Note You need to log in before you can comment on or make changes to this bug.