when compiling exim 4.94.2 with "dmarc" use flag, the compilation fails: dmarc.c: In function 'dmarc_process': dmarc.c:449:48: warning: passing argument 3 of 'opendmarc_policy_store_dkim' makes pointer from integer without a cast [-Wint-conversion] 449 | dkim_result, US""); | ^~~~~~~~~~~ | | | int In file included from dmarc.h:14, from exim.h:548, from dmarc.c:14: /usr/include/opendmarc/dmarc.h:125:94: note: expected 'u_char *' {aka 'unsigned char *'} but argument is of type 'int' 125 | OPENDMARC_STATUS_T opendmarc_policy_store_dkim(DMARC_POLICY_T *pctx, u_char *domain, u_char *selector, int result, u_char *human_result); | ~~~~~~~~^~~~~~~~ In file included from local_scan.h:31, from exim.h:524, from dmarc.c:14: mytypes.h:77:14: warning: passing argument 4 of 'opendmarc_policy_store_dkim' makes integer from pointer without a cast [-Wint-conversion] In file included from dmarc.h:14, from exim.h:548, from dmarc.c:14: /usr/include/opendmarc/dmarc.h:125:94: note: expected 'u_char *' {aka 'unsigned char *'} but argument is of type 'int' 125 | OPENDMARC_STATUS_T opendmarc_policy_store_dkim(DMARC_POLICY_T *pctx, u_char *domain, u_char *selector, int result, u_char *human_result); | ~~~~~~~~^~~~~~~~ In file included from local_scan.h:31, from exim.h:524, from dmarc.c:14: mytypes.h:77:14: warning: passing argument 4 of 'opendmarc_policy_store_dkim' makes integer from pointer without a cast [-Wint-conversion] 77 | #define US (unsigned char *) dmarc.c:449:61: note: in expansion of macro 'US' 449 | dkim_result, US""); | ^~ In file included from dmarc.h:14, from exim.h:548, from dmarc.c:14: /usr/include/opendmarc/dmarc.h:125:108: note: expected 'int' but argument is of type 'unsigned char *' 125 | OPENDMARC_STATUS_T opendmarc_policy_store_dkim(DMARC_POLICY_T *pctx, u_char *domain, u_char *selector, int result, u_char *human_result); | ~~~~^~~~~~ dmarc.c:448:20: error: too few arguments to function 'opendmarc_policy_store_dkim' 448 | libdm_status = opendmarc_policy_store_dkim(dmarc_pctx, US sig->domain, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dmarc.h:14, from exim.h:548, from dmarc.c:14: /usr/include/opendmarc/dmarc.h:125:20: note: declared here 125 | OPENDMARC_STATUS_T opendmarc_policy_store_dkim(DMARC_POLICY_T *pctx, u_char *domain, u_char *selector, int result, u_char *human_result); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ make[1]: *** [Makefile:800: dmarc.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Without that flag, compilation is successful. OK: mail-mta/exim exiscan exiscan-acl spf srs srs-native ssl sqlite dkim NOK: mail-mta/exim exiscan exiscan-acl spf srs srs-native ssl sqlite dkim dmarc
We need the full build.log and emerge —-info.
# emerge --info Portage 3.0.18 (python 3.7.10-final-0, default/linux/x86/17.0, gcc-11.1.0, glibc-2.33, 5.4.22 i686) ================================================================= System uname: Linux-5.4.22-i686-Intel-R-_Xeon-R-_CPU_E5-2620_v3_@_2.40GHz-with-gentoo-2.7 KiB Mem: 3425584 total, 1641956 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Wed, 05 May 2021 12:15:01 +0000 Head commit of repository gentoo: 63578529533c8f7da5015a8d794084e5fb924e55 sh bash 5.1_p8 ld GNU ld (Gentoo 2.36.1 p3) 2.36.1 app-shells/bash: 5.1_p8::gentoo dev-lang/perl: 5.32.1::gentoo dev-lang/python: 3.7.10_p3::gentoo dev-util/cmake: 3.20.2::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.7-r2::gentoo sys-apps/openrc: 0.42.1-r1::gentoo sys-apps/sandbox: 2.24::gentoo sys-devel/autoconf: 2.69-r5::gentoo sys-devel/automake: 1.11.6-r3::gentoo, 1.15.1-r2::gentoo, 1.16.3-r1::gentoo sys-devel/binutils: 2.36.1-r1::gentoo sys-devel/gcc: 11.1.0::gentoo sys-devel/gcc-config: 2.4::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.12::gentoo (virtual/os-headers) sys-libs/glibc: 2.33::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: no sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: sync-rsync-verify-max-age: 24 Installed sets: @system ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="@FREE" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.3/ext-active/ /etc/php/apache2-php7.4/ext-active/ /etc/php/apache2-php8.0/ext-active/ /etc/php/cgi-php7.3/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cgi-php8.0/ext-active/ /etc/php/cli-php7.3/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/php/cli-php8.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--jobs=3 --keep-going --quiet-build=y" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -march=i686 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -march=i686 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LC_ALL="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="berkdb bzip2 cxx emacs fpm ithreads libglvnd ncurses pcre perl readline simplexml snmp split-usr ssl threads udev unicode x86 zlib" ABI_X86="32" CURL_SSL="gnutls" ELIBC="glibc" KERNEL="linux" L10N="cs de en" NGINX_MODULES_HTTP="access autoindex charset fastcgi gzip gzip_static rewrite" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7" USERLAND="GNU" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Buildlog not available anymore.
Created attachment 706596 [details] build.log + emerge --info.txt (~amd64) Attaching own logs given I can reproduce on ~amd64 By the way, you are able to re-open your own bugs after providing more info, unless re-opened it's easy for us to miss these.
this is nasty
I've reported https://github.com/trusteddomainproject/OpenDMARC/issues/167 Since there's no way to patch this unconditionally here.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a3e0eda4fc04c85c612ee6cdfd45e26e9108209 commit 9a3e0eda4fc04c85c612ee6cdfd45e26e9108209 Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2021-05-08 08:23:13 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2021-05-08 08:23:19 +0000 mail-mta/exim: bump stable release to include SLOT dep for opendmarc Unfortunately opendmarc broke their API without telling, and we need to ensure Exim instances are rebuilt that link against an upgraded opendmarc. Also, need to ensure that once opendmarc-1.4 goes stable, Exim is properly rebuilt. Unfortunately this requires a conditional patch, so we're all extremely unhappy here. Closes: https://bugs.gentoo.org/788343 Package-Manager: Portage-3.0.18, Repoman-3.0.2 RepoMan-Options: --force Signed-off-by: Fabian Groffen <grobian@gentoo.org> .../exim/{exim-4.94.2.ebuild => exim-4.94.2-r1.ebuild} | 8 +++++++- mail-mta/exim/files/exim-4.94-opendmarc-1.4.patch | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-)