Bug 1659448 - Fix compile issue with new 389-ds
Summary: Fix compile issue with new 389-ds
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: ipa
Version: 8.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.0
Assignee: IPA Maintainers
QA Contact: Kaleem
URL:
Whiteboard:
Depends On:
Blocks: 1672184
TreeView+ depends on / blocked
 
Reported: 2018-12-14 12:19 UTC by Thomas Woerner
Modified: 2019-06-14 00:48 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1672184 (view as bug list)
Environment:
Last Closed: 2019-06-14 00:48:34 UTC
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Fedora Pagure 389-ds-base issue 50090 0 None None None 2018-12-14 13:06:19 UTC
Fedora Pagure freeipa issue 7811 0 None None None 2018-12-14 12:22:11 UTC

Description Thomas Woerner 2018-12-14 12:19:43 UTC
This bug is created as a clone of upstream ticket:
https://pagure.io/freeipa/issue/7811

When building with 389-ds in an update to RHEL 8 beta, there is a failure due to a conflicting symbol name as slapi-plugin.h is exposing the same symbol "fetch_attr()" with a bit different signature due to https://pagure.io/389-ds-base/issue/49950 and https://pagure.io/389-ds-base/pull-request/49952

Making all in ipa-sidgen
make[4]: Entering directory '/builddir/build/BUILD/freeipa-4.7.1-python3/daemons/ipa-slapi-plugins/ipa-sidgen'
/bin/sh ../../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../..  -I. -I./../common -DPREFIX=\""/usr"\" -DBINDIR=\""/usr/bin"\" -DLIBDIR=\""/usr/lib64"\" -DLIBEXECDIR=\""/usr/libexec"\" -DDATADIR=\""/usr/share"\" -DUSE_OPENLDAP -I/usr/include/dirsrv  -I/usr/include/nspr4     -I/usr/include/nspr4  -I/usr/include/nss3 -I/usr/include/nspr4   -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -c -o ipa_sidgen.lo ipa_sidgen.c
/bin/sh ../../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../..  -I. -I./../common -DPREFIX=\""/usr"\" -DBINDIR=\""/usr/bin"\" -DLIBDIR=\""/usr/lib64"\" -DLIBEXECDIR=\""/usr/libexec"\" -DDATADIR=\""/usr/share"\" -DUSE_OPENLDAP -I/usr/include/dirsrv  -I/usr/include/nspr4     -I/usr/include/nspr4  -I/usr/include/nss3 -I/usr/include/nspr4   -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -c -o ipa_sidgen_common.lo ipa_sidgen_common.c
/bin/sh ../../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../..  -I. -I./../common -DPREFIX=\""/usr"\" -DBINDIR=\""/usr/bin"\" -DLIBDIR=\""/usr/lib64"\" -DLIBEXECDIR=\""/usr/libexec"\" -DDATADIR=\""/usr/share"\" -DUSE_OPENLDAP -I/usr/include/dirsrv  -I/usr/include/nspr4     -I/usr/include/nspr4  -I/usr/include/nss3 -I/usr/include/nspr4   -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -c -o ipa_sidgen_task.lo ipa_sidgen_task.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I./../common -DPREFIX=\"/usr\" -DBINDIR=\"/usr/bin\" -DLIBDIR=\"/usr/lib64\" -DLIBEXECDIR=\"/usr/libexec\" -DDATADIR=\"/usr/share\" -DUSE_OPENLDAP -I/usr/include/dirsrv -I/usr/include/nspr4 -I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/include/nspr4 -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -c ipa_sidgen_task.c  -fPIC -DPIC -o .libs/ipa_sidgen_task.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I./../common -DPREFIX=\"/usr\" -DBINDIR=\"/usr/bin\" -DLIBDIR=\"/usr/lib64\" -DLIBEXECDIR=\"/usr/libexec\" -DDATADIR=\"/usr/share\" -DUSE_OPENLDAP -I/usr/include/dirsrv -I/usr/include/nspr4 -I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/include/nspr4 -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -c ipa_sidgen.c  -fPIC -DPIC -o .libs/ipa_sidgen.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I./../common -DPREFIX=\"/usr\" -DBINDIR=\"/usr/bin\" -DLIBDIR=\"/usr/lib64\" -DLIBEXECDIR=\"/usr/libexec\" -DDATADIR=\"/usr/share\" -DUSE_OPENLDAP -I/usr/include/dirsrv -I/usr/include/nspr4 -I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/include/nspr4 -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -c ipa_sidgen_common.c  -fPIC -DPIC -o .libs/ipa_sidgen_common.o
ipa_sidgen_task.c:66:20: error: conflicting types for 'fetch_attr'
 static const char *fetch_attr(Slapi_Entry *e, const char *attrname,
                    ^~~~~~~~~~
In file included from ipa_sidgen_task.c:45:
/usr/include/dirsrv/slapi-plugin.h:8280:14: note: previous declaration of 'fetch_attr' was here
 const char * fetch_attr(Slapi_Entry *e, const char *attrname, char *default_val);
              ^~~~~~~~~~
make[4]: *** [Makefile:622: ipa_sidgen_task.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/builddir/build/BUILD/freeipa-4.7.1-python3/daemons/ipa-slapi-plugins/ipa-sidgen'
make[3]: Leaving directory '/builddir/build/BUILD/freeipa-4.7.1-python3/daemons/ipa-slapi-plugins'
make[3]: *** [Makefile:490: all-recursive] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/freeipa-4.7.1-python3/daemons'
make[2]: *** [Makefile:484: all-recursive] Error 1
make[1]: *** [Makefile:655: all-recursive] Error 1
make[1]: Leaving directory '/builddir/build/BUILD/freeipa-4.7.1-python3'

Comment 1 Christian Heimes 2018-12-14 13:06:20 UTC
Fixed upstream
master:
https://pagure.io/freeipa/c/e62eb0007b86e839aba08af5cb673707100be5de

Alexander added a workaround for the issue. I also filed a bug against 389-DS to rename the new, conflicting API function.

Comment 6 Varun Mylaraiah 2019-01-30 09:10:40 UTC
Verified(sanityOnly)

[root@cloud-qe-19 ~]# rpm -qa 389-ds*
389-ds-base-debugsource-1.4.0.20-5.module+el8+2685+6de0feb1.x86_64
389-ds-base-libs-1.4.0.20-5.module+el8+2685+6de0feb1.x86_64
389-ds-base-legacy-tools-1.4.0.20-5.module+el8+2685+6de0feb1.x86_64
389-ds-base-1.4.0.20-5.module+el8+2685+6de0feb1.x86_64
389-ds-base-debuginfo-1.4.0.20-5.module+el8+2685+6de0feb1.x86_64

[root@cloud-qe-19 ~]# uname -a
Linux cloud-qe-19.testrelme.test 4.18.0-64.el8.x86_64 #1 SMP Wed Jan 23 20:50:09 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

[root@cloud-qe-19 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.0 Beta (Ootpa)


#ipa-server-install --setup-dns  --auto-forwarders --reverse-zone=34.19.10.in-addr.arpa. --allow-zone-overlap --hostname=cloud-qe-19.testrelme.test -r TESTRELME.TEST -n testrelme.test -p <xxxxxxx> -a <xxxxxx> --ip-address=10.19.34.59 -U'
Checking DNS domain testrelme.test., please wait ...
Checking DNS domain 34.19.10.in-addr.arpa., please wait ...
DNS zone 34.19.10.in-addr.arpa. already exists in DNS and is handled by server(s): dns.engineering.redhat.com., ns1.infra.prod.eng.brq2.redhat.com., ns1.eng.tlv2.redhat.com., ns1.app.eng.bos.redhat.com., ns1.eng.blr.redhat.com., ns1.eng.bne.redhat.com., ns1.eng.pek2.redhat.com.
Synchronizing time
No SRV records of NTP servers found and no NTP server or pool address was provided.
Attempting to sync time with chronyc.
Time synchronization was successful.

The log file for this installation can be found in /var/log/ipaserver-install.log
==============================================================================
This program will set up the IPA Server.
Version 4.7.1 
*
*
*
*
*
The ipa-server-install command was successful

==============================================================================
Setup complete

Next steps:
	1. You must make sure these network ports are open:
		TCP Ports:
		  * 80, 443: HTTP/HTTPS
		  * 389, 636: LDAP/LDAPS
		  * 88, 464: kerberos
		  * 53: bind
		UDP Ports:
		  * 88, 464: kerberos
		  * 53: bind
		  * 123: ntp

	2. You can now obtain a kerberos ticket using the command: 'kinit admin'
	   This ticket will allow you to use the IPA tools (e.g., ipa user-add)
	   and the web user interface.

Be sure to back up the CA certificates stored in /root/cacert.p12
These files are required to create replicas. The password for these
files is the Directory Manager password
:: [ 07:45:53 ] :: [   PASS   ] :: Command ' /usr/sbin/ipa-server-install 


Based on the above observation, marking the bug VERIFIED

Comment 7 Varun Mylaraiah 2019-01-30 09:55:17 UTC
IPA-version:

ipa-server-dns-4.7.1-10.module+el8+2699+aa606a46.noarch
ipa-server-4.7.1-10.module+el8+2699+aa606a46.x86_64


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