Hi, with USE="eai" (which is active by default via IUSE) postfix warns about missing SMTP utf8 support. I didn't investigate this further (neither older ebuilds nor the build system), but atleast the ebuild snippet *sounds* right: if ! use eai; then mycc="${mycc} -DNO_EAI" fi Maybe upstream changed something here. Reproducible: Always
Cant reproduce: # postconf smtputf8_enable smtputf8_enable = yes and Mar 06 12:26:55 [postfix/postfix-script] stopping the Postfix mail system Mar 06 12:26:55 [postfix/master] terminating on signal 15 Mar 06 12:26:56 [postfix/postfix-script] starting the Postfix mail system Mar 06 12:26:56 [postfix/master] daemon started -- version 3.3.0, configuration /etc/postfix [...] Mar 06 12:27:19 [postfix/smtpd] connect from angelfall.a21an.org[127.0.0.1] Mar 06 12:27:55 [postfix/smtpd] A6F0D5F1: client=angelfall.a21an.org[127.0.0.1] Mar 06 12:28:19 [postfix/cleanup] A6F0D5F1: message-id=<20180306092755.A6F0D5F1@angelfall.a21an.org> Mar 06 12:28:19 [postfix/qmgr] A6F0D5F1: from=<>, size=321, nrcpt=1 (queue active) Mar 06 12:28:19 [postfix/smtp] A6F0D5F1: to=<test@şüç.invalid>, relay=none, delay=45, delays=45/0.01/0.06/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=xn--7ca5b0s.invalid type=A: Host not found) Mar 06 12:28:19 [postfix/qmgr] A6F0D5F1: removed please check your setup. or post your makedefs.out file (usually under /etc/postfix) or your build log and I'll have a look
Created attachment 522632 [details] build.log of postfix with USE="eai hardened pam postgres ssl" I recompiled and tested a bit: Something is enforcing -DNO_EAI unconditionally on my system. As I assumed it would be icu depending I tested with icu-58.2-r1 and icu-60.2 without any impact. My output of emerge --info postfix (without useless stuff like Libreoffice or current SSH IP): # emerge --info postfix icu Portage 2.3.24 (python 3.5.4-final-0, default/linux/amd64/17.0/hardened, gcc-7.3.0, glibc-2.25-r10, 4.15.7-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.15.7-gentoo-x86_64-Intel_Xeon_E312xx_-Sandy_Bridge-with-gentoo-2.4.1 KiB Mem: 977664 total, 29276 free KiB Swap: 4194300 total, 4153676 free Timestamp of repository gentoo: Tue, 06 Mar 2018 04:00:01 +0000 Head commit of repository gentoo: 602437ff65f703e00f57117985b4b53e150072c6 sh bash 4.4_p19 ld GNU ld (Gentoo 2.30 p1) 2.30.0 app-shells/bash: 4.4_p19::gentoo dev-lang/perl: 5.26.1-r2::gentoo dev-lang/python: 2.7.14-r1::gentoo, 3.5.4-r1::gentoo dev-util/cmake: 3.10.2::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.35.2::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.69-r4::gentoo sys-devel/automake: 1.16-r1::gentoo sys-devel/binutils: 2.30::gentoo sys-devel/gcc: 7.3.0::gentoo sys-devel/gcc-config: 1.9.1::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r2::gentoo sys-kernel/linux-headers: 4.15::gentoo (virtual/os-headers) sys-libs/glibc: 2.25-r10::gentoo Repositories: gentoo location: /var/portage/tree sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage sync-user: portage:portage priority: -1000 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes crossdev location: /usr/local/portage masters: gentoo mrueg priority: 0 holgersson-overlay location: /var/lib/layman/holgersson-overlay sync-type: laymansync sync-uri: https://git.holgersson.xyz/holgersson-overlay masters: gentoo priority: 50 mrueg location: /var/lib/layman/mrueg sync-type: laymansync sync-uri: git://anongit.gentoo.org/dev/mrueg.git masters: gentoo priority: 50 ABI="amd64" ABI_X86="64" ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" ACCEPT_PROPERTIES="*" ACCEPT_RESTRICT="*" ALSA_CARDS="" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ARCH="amd64" AUTOCLEAN="yes" BOOTSTRAP_USE="cxx unicode internal-glib python_targets_python3_5 python_targets_python2_7 multilib hardened pic xtpax -jit -orc" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register" CFLAGS_amd64="-m64" CFLAGS_x32="-mx32" CFLAGS_x86="-m32" CHOST="x86_64-pc-linux-gnu" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x32="x86_64-pc-linux-gnux32" CHOST_x86="i686-pc-linux-gnu" CLEAN_DELAY="5" COLLISION_IGNORE="/lib/modules/* *.py[co] *$py.class */dropin.cache" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/apache2-php7.2/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/php/cli-php7.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CPU_FLAGS_X86="mmx mmxext sse sse2" CPU_FLAGS_x86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CXXFLAGS="-march=native -O2 -pipe -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register -std=c++11" DEFAULT_ABI="amd64" DISTDIR="/var/portage/distfiles" EDITOR="/usr/bin/vim" ELIBC="glibc" EMERGE_DEFAULT_OPTS="--verbose --quiet-build --with-bdeps=y" EMERGE_WARNING_DELAY="10" EPREFIX="" EROOT="/" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news nodoc parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" FETCHCOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}"" FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; eval \"declare -a ssh_opts=(\${3})\" ; exec sftp \${port:+-P \${port}} \"\${ssh_opts[@]}\" \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"" FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; exec rsync --rsh=\"ssh \${port:+-p\${port}} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"" FFLAGS="-O2 -pipe" GCC_SPECS="" GENTOO_MIRRORS="XXX" GRUB_PLATFORMS="pc" HOME="/root" INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/7.3.0/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.30/info:/usr/share/info" INPUT_DEVICES="" IUSE_IMPLICIT="abi_x86_64 prefix prefix-chain prefix-guest" KERNEL="linux" L10N="de de_DE en" LANG="de_DE.utf8" LC_COLLATE="C" LC_MEASUREMENT="de_DE.UTF-8" LC_MESSAGES="C" LC_MONETARY="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LDFLAGS_amd64="-m elf_x86_64" LDFLAGS_x32="-m elf32_x86_64" LDFLAGS_x86="-m elf_i386" LESS="-R -M --shift 5" LESSOPEN="|lesspipe %s" LIBDIR_amd64="lib64" LIBDIR_x32="libx32" LIBDIR_x86="lib32" LINGUAS="de de_DE en" LOGNAME="root" LS_COLORS="many ;)" MAIL="/var/mail/root" MAKEOPTS="-j2 -l5" MANPAGER="manpager" MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/7.3.0/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.30/man:/usr/lib64/php7.1/man/:/usr/lib64/php7.2/man/:/usr/local/share/man:/usr/share/man" MULTILIB_ABIS="amd64 x86" MULTILIB_STRICT_DENY="64-bit.*shared object" MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib" MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec|llvm)" PAGER="/usr/bin/less" PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/7.3.0:/usr/x86_64-pc-linux-gnu/armv6j-hardfloat-linux-gnueabi/gcc-bin/7.3.0:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin" PAX_MARKINGS="XT" PHP_TARGETS="php7-1" PKGDIR="/var/portage/packages" PORTAGE_ARCHLIST="alpha amd64 amd64-fbsd amd64-linux arm arm-linux arm64 arm64-linux hppa ia64 m68k m68k-mint mips ppc ppc-aix ppc-macos ppc64 ppc64-linux s390 sh sparc sparc-solaris sparc64-solaris x64-cygwin x64-macos x64-solaris x86 x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt" PORTAGE_BIN_PATH="/usr/lib/portage/python3.5" PORTAGE_COMPRESS="xz" PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" PORTAGE_COMPRESS_FLAGS="-6 -T1" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary:log,warn,error,qa echo" PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" PORTAGE_FETCH_RESUME_MIN_SIZE="350K" PORTAGE_GID="250" PORTAGE_GPG_DIR="/etc/portage/gpg" PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --digest-algo SHA256 --clearsign --yes --default-key "${PORTAGE_GPG_KEY}" --homedir "${PORTAGE_GPG_DIR}" "${FILE}"" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_INTERNAL_CALLER="1" PORTAGE_OVERRIDE_EPREFIX="" PORTAGE_PYM_PATH="/usr/lib64/python3.5/site-packages" PORTAGE_PYTHONPATH="/usr/lib64/python3.5/site-packages" 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_RSYNC_RETRIES="-1" PORTAGE_SYNC_STALE="30" PORTAGE_TMPDIR="/var/tmp" PORTAGE_VERBOSE="1" PORTAGE_WORKDIR_MODE="0700" PORTAGE_XATTR_EXCLUDE="btrfs.* security.evm security.ima security.selinux system.nfs4_acl user.apache_handler user.Beagle.* user.dublincore.* user.mime_encoding user.xdg.*" PORT_LOGDIR_CLEAN="find "${PORT_LOGDIR}" -type f ! -name "summary.log*" -mtime +7 -delete" POSTGRES_TARGETS="postgres9_5" PROFILE_IS_HARDENED="1" PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USERLAND USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL USE_EXPAND_VALUES_USERLAND" PROSODY_MODULES="admin_message log_auth sslv3_warn" PWD="/root" PYTHONDONTWRITEBYTECODE="1" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" RESUMECOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}"" RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; exec rsync --rsh=\"ssh \${port:+-p\${port}} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"" ROOT="/" ROOTPATH="/usr/x86_64-pc-linux-gnu/gcc-bin/7.3.0:/usr/x86_64-pc-linux-gnu/armv6j-hardfloat-linux-gnueabi/gcc-bin/7.3.0:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin" SHELL="/bin/bash" SYMLINK_LIB="yes" TERM="xterm-256color" TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1" UNINSTALL_IGNORE="/lib/modules/* /var/run /var/lock" USE="acl amd64 audit bash-completion bzip2 caps crypt cxx fpm git gpg hardened iconv ipv6 multilib ncurses nftables nptl openmp pam pcre pie postgres readline seccomp ssl ssp unicode vhosts vim-syntax xattr xtpax zlib zsh zsh-completion" ABI_X86="64" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" KERNEL="linux" L10N="de de_DE en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-1" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22 ruby23" USERLAND="GNU" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USER="root" USERLAND="GNU" USE_EXPAND="ABI_MIPS ABI_PPC ABI_S390 ABI_X86 ALSA_CARDS APACHE2_MODULES APACHE2_MPMS CALLIGRA_EXPERIMENTAL_FEATURES CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_X86 CURL_SSL ELIBC ENLIGHTENMENT_MODULES FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LIRC_DEVICES LLVM_TARGETS MONKEYD_PLUGINS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFED_DRIVERS OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS POSTGRES_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS ROS_MESSAGES RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XFCE_PLUGINS XTABLES_ADDONS" USE_EXPAND_HIDDEN="ABI_MIPS ABI_PPC ABI_S390 CPU_FLAGS_ARM ELIBC KERNEL USERLAND" USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL USERLAND" USE_EXPAND_UNPREFIXED="ARCH" USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-fbsd amd64-linux arm arm-linux arm64 hppa ia64 m68k m68k-mint mips ppc ppc64 ppc64-linux ppc-aix ppc-macos s390 sh sparc sparc64-solaris sparc-solaris x64-cygwin x64-macos x64-solaris x86 x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt" USE_EXPAND_VALUES_ELIBC="AIX bionic Cygwin Darwin DragonFly FreeBSD glibc HPUX Interix mingw mintlib musl NetBSD OpenBSD SunOS uclibc Winnt" USE_EXPAND_VALUES_KERNEL="AIX Darwin FreeBSD freemint HPUX linux NetBSD OpenBSD SunOS Winnt" USE_EXPAND_VALUES_USERLAND="BSD GNU" USE_ORDER="env:pkg:conf:defaults:pkginternal:repo:env.d" VIDEO_CARDS="" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" ================================================================= Package Settings ================================================================= mail-mta/postfix-3.3.0::gentoo was built with the following: USE="eai hardened pam postgres ssl -berkdb -cdb -doc -dovecot-sasl -ldap -ldap-bind -libressl -lmdb -mbox -memcached -mysql -nis -sasl (-selinux) -sqlite" ABI_X86="(64)" CFLAGS="-march=native -O2 -pipe -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register -Wno-comment" CXXFLAGS="-march=native -O2 -pipe -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register -std=c++11 -Wno-comment"
What version of icu? and what's the output of 1/ icu-config --cppflags 2/ icu-config --ldflags 3/ the following shell script? ---- START PASTE ---- #!/usr/bin/env bash icu_cppflags=`(icu-config --cppflags) 2>/dev/null` && { icu_ldflags=`(icu-config --ldflags) 2>/dev/null` && { trap 'rm -f makedefs.test makedefs.test.[co]' 1 2 3 15 cat >makedefs.test.c <<'EOF' #include <unicode/uidna.h> #include <stdlib.h> int main(int argc, char **argv) { char buf[1024]; UErrorCode error = U_ZERO_ERROR; UIDNAInfo info = UIDNA_INFO_INITIALIZER; UIDNA *idna = uidna_openUTS46(UIDNA_DEFAULT, &error); exit(uidna_labelToUnicodeUTF8(idna, "xn--lgbbat1ad8j", /* an arabic TLD */ 15, buf, sizeof(buf), &info, &error) != 14); } EOF ${CC-gcc} -o makedefs.test makedefs.test.c $icu_cppflags \ $icu_ldflags >/dev/null 2>&1 if ./makedefs.test 2>/dev/null ; then echo CCARGS="$CCARGS $icu_cppflags" echo SYSLIBS="$SYSLIBS $icu_ldflags" else echo CCARGS="$CCARGS -DNO_EAI" fi rm -f makedefs.test makedefs.test.[co] } } || echo CCARGS="$CCARGS -DNO_EAI"' -DDEF_SMTPUTF8_ENABLE=\"no\"' ---- END PASTE ----
Sorry for the huge delays. As soon as I have some spare time and a new hardened systemd without a postfix installed yet I’ll reproduce the error and post the ICU details that were asked for with up to date informations.
> Something is enforcing -DNO_EAI unconditionally on my system. I can see it on my machine, too. Reason: the test sequence in makedefs: icu_cppflags=`((pkg-config --cflags icu-uc icu-i18n) || (icu-config --cppflags)) 2>/dev/null` && { icu_ldflags=`((pkg-config --libs icu-uc icu-i18n) || (icu-config --ldflags)) 2>/dev/null` && { trap 'rm -f makedefs.test makedefs.test.[co]' 1 2 3 15 cat >makedefs.test.c <<'EOF' #include <unicode/uidna.h> #include <stdlib.h> int main(int argc, char **argv) { char buf[1024]; UErrorCode error = U_ZERO_ERROR; UIDNAInfo info = UIDNA_INFO_INITIALIZER; UIDNA *idna = uidna_openUTS46(UIDNA_DEFAULT, &error); exit(uidna_labelToUnicodeUTF8(idna, "xn--lgbbat1ad8j", /* an arabic TLD */ 15, buf, sizeof(buf), &info, &error) != 14); } EOF ${CC-gcc} -o makedefs.test makedefs.test.c $icu_cppflags \ $icu_ldflags returns: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64/libicuuc.so: undefined reference to `std::__get_once_mutex()@GLIBCXX_3.4.12' /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64/libicuuc.so: undefined reference to `std::__once_functor@GLIBCXX_3.4.11' /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64/libicuuc.so: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)@GLIBCXX_3.4.12' collect2: error: ld returned 1 exit status
On my machine, it helped to re-emerge icu. After that, the test program compiled without errors and postfix emerged with support for the icu library.
looks like an icu problem to me. cc ing maintainer