#9043 ipa-extdom-extop plugin fails to build with 389-ds from copr @389ds/389-ds-base-nightly
Closed: fixed by frenaud. Opened by frenaud.

The plugin ipa-extdom-extop fails to build when using 389-ds pacakges from the copr repo @389ds/389-ds-base-nightly.
See PR #1323 with the following build.log:

make[4]: Entering directory '/builddir/build/BUILD/freeipa-4.10.0.dev/daemons/ipa-slapi-plugins/ipa-extdom-extop'
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        -Wall         -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes         -Wnested-externs -Wpointer-arith         -Wcast-align -Wsign-compare         -Wshadow -Wstrict-prototypes         -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 -D__STDC_WANT_LIB_EXT1__=1 -D_DEFAULT_SOURCE=1 -D_POSIX_C_SOURCE=200809L -Werror=implicit-function-declaration -c -o extdom_cmocka_tests-ipa_extdom_cmocka_tests.o `test -f 'ipa_extdom_cmocka_tests.c' || echo './'`ipa_extdom_cmocka_tests.c
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        -Wall         -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes         -Wnested-externs -Wpointer-arith         -Wcast-align -Wsign-compare         -Wshadow -Wstrict-prototypes         -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 -D__STDC_WANT_LIB_EXT1__=1 -D_DEFAULT_SOURCE=1 -D_POSIX_C_SOURCE=200809L -Werror=implicit-function-declaration -c -o extdom_cmocka_tests-ipa_extdom_common.o `test -f 'ipa_extdom_common.c' || echo './'`ipa_extdom_common.c
ipa_extdom_common.c:101:5: warning: no previous prototype for '__nss_to_err' [-Wmissing-prototypes]
  101 | int __nss_to_err(enum nss_status errcode)
      |     ^~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:55:5: error: conflicting types for 'slapi_log_error'; have 'int(int,  char *, char *, ...)'
   55 | int slapi_log_error(int loglevel, char *subsystem, char *fmt, ...)
      |     ^~~~~~~~~~~~~~~
ipa_extdom_common.c:730:5: warning: no previous prototype for 'pack_ber_name_list' [-Wmissing-prototypes]
  730 | int pack_ber_name_list(struct extdom_req *req, char **fq_name_list,
      |     ^~~~~~~~~~~~~~~~~~
In file included from ipa_extdom.h:58,
                 from ipa_extdom_cmocka_tests.c:35:
/usr/include/dirsrv/slapi-plugin.h:6033:5: note: previous declaration of 'slapi_log_error' with type 'int(int,  const char *, const char *, ...)'
 6033 | int slapi_log_error(int loglevel, const char *subsystem, const char *fmt, ...)
      |     ^~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:92:5: warning: no previous prototype for 'cmocka_extdom_init_context' [-Wmissing-prototypes]
   92 | int cmocka_extdom_init_context(struct nss_ops_ctx **nss_context)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:145:6: warning: no previous prototype for 'test_getpwnam_r_wrapper' [-Wmissing-prototypes]
  145 | void test_getpwnam_r_wrapper(void **state)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:205:6: warning: no previous prototype for 'test_getpwuid_r_wrapper' [-Wmissing-prototypes]
  205 | void test_getpwuid_r_wrapper(void **state)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:260:6: warning: no previous prototype for 'test_getgrnam_r_wrapper' [-Wmissing-prototypes]
  260 | void test_getgrnam_r_wrapper(void **state)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:313:6: warning: no previous prototype for 'test_getgrgid_r_wrapper' [-Wmissing-prototypes]
  313 | void test_getgrgid_r_wrapper(void **state)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:365:6: warning: no previous prototype for 'test_get_user_grouplist' [-Wmissing-prototypes]
  365 | void test_get_user_grouplist(void **state)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:458:6: warning: no previous prototype for 'test_set_err_msg' [-Wmissing-prototypes]
  458 | void test_set_err_msg(void **state)
      |      ^~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:493:6: warning: no previous prototype for 'test_pack_ber_user_timeout' [-Wmissing-prototypes]
  493 | void test_pack_ber_user_timeout(void **state)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
ipa_extdom_cmocka_tests.c:527:6: warning: no previous prototype for 'test_encode' [-Wmissing-prototypes]
  527 | void test_encode(void **state)
      |      ^~~~~~~~~~~
ipa_extdom_cmocka_tests.c:578:6: warning: no previous prototype for 'test_decode' [-Wmissing-prototypes]
  578 | void test_decode(void **state)
      |      ^~~~~~~~~~~
make[4]: *** [Makefile:859: extdom_cmocka_tests-ipa_extdom_cmocka_tests.o] Error 1

On 389-ds-base master branch, commit 53f8d1b changed the definition of slapi_log_error:

-int slapi_log_error(int loglevel, char *subsystem, char *fmt, ...)
+int slapi_log_error(int loglevel, const char *subsystem, const char *fmt, ...)
...
-int slapi_log_error_ext(int loglevel, char *subsystem, char *fmt, va_list varg1, va_list varg2);
+int slapi_log_error_ext(int loglevel, const char *subsystem, const char *fmt, va_list varg1, va_list varg2);

Fixed with commit 6100985 on 389-ds-base master branch.

The build succeeded in the nightly tests, see PR #1338, the issue can be closed.

Metadata Update from @frenaud:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata