Created attachment 490866 [details, diff] patch for the 1.3.5 ebuild On systems whose libc is not glibc and using dev-libs/libintl for intl, -lintl is needed. emerge --info: Portage 2.3.8 (python 3.4.6-final-0, default/bsd/fbsd/amd64/10.3/clang, gcc-4.6.4, freebsd-lib-10.3-r3, 10.3-r6-Gentoo amd64) ================================================================= System uname: FreeBSD-10.3-r6-Gentoo-amd64-64bit-ELF KiB Mem: 8363612 total KiB Swap: 2097048 total Timestamp of repository gentoo: Sun, 27 Aug 2017 07:00:01 +0000 Head commit of repository gentoo: e63a1ba6346da70d5a896393f0c28cef6a6fd868 sh sh ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.2_p45::gentoo dev-lang/perl: 5.16.3::gentoo dev-lang/python: 2.7.13::gentoo, 3.4.6::gentoo dev-util/cmake: 2.8.11.1::gentoo dev-util/pkgconfig: 0.28::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.29::gentoo sys-devel/autoconf: 2.69::gentoo sys-devel/automake: 1.9.6-r3::gentoo, 1.13.4::gentoo, 1.15.1-r1::gentoo sys-devel/binutils: 2.25.1-r1::gentoo, 2.28.1::gentoo sys-devel/gcc: 4.6.4::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 3.82-r4::gentoo sys-freebsd/freebsd-lib: 10.3-r3::gentoo (virtual/os-headers) Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 ACCEPT_KEYWORDS="amd64-fbsd ~amd64-fbsd" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-gentoo-freebsd9.1" CFLAGS="-O2 -pipe -mtune=generic" CHOST="x86_64-gentoo-freebsd9.1" CONFIG_PROTECT="/boot/device.hints /etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-stdlib=libc++ -O2 -pipe -mtune=generic" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs chflags config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo" INSTALL_MASK="/usr/lib/systemd" LDFLAGS="" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" 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="acl amd64-fbsd berkdb bindist cracklib crypt dri gdbm iconv ipv6 modules multilib ncurses nls oss pam pcre readline ssl tcpd unicode xattr zlib" 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="FreeBSD" 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" INPUT_DEVICES="keyboard mouse" KERNEL="FreeBSD" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" USERLAND="BSD" VIDEO_CARDS="apm ark chips cirrus cyrix dummy i128 intel mach64 mga nv r128 radeon rendition s3 s3virge savage siliconmotion sis tga trident tseng fbdev" 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" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS A patch that would fix the problem is attached. The same bug reported at upstream: https://github.com/rhash/RHash/issues/43
grobian, you already fixed this issue for Darwin and Solaris. I'm just wondering if there's any particular reason why you check ${CHOST} instead of doing: use elibc_Darwin || use elibc_SunOS
(In reply to James Le Cuirot from comment #1) > grobian, you already fixed this issue for Darwin and Solaris. I'm just > wondering if there's any particular reason why you check ${CHOST} instead of > doing: > > use elibc_Darwin || use elibc_SunOS That would work too, but some maintainers require that elibc_Darwin and elibc_SunOS are added to IUSE in that case, hence doing the CHOST check is less intrusive to the ebuild. I agree it would feel more precise in this case. While at it, please check, but I remember that !elibc_glibc won't work because musl or uclibc does have intl/iconv, so better be explicit to what systems/libcs don't have it IMO.
(In reply to Fabian Groffen from comment #2) > That would work too, but some maintainers require that elibc_Darwin and > elibc_SunOS are added to IUSE in that case, hence doing the CHOST check is > less intrusive to the ebuild. I agree it would feel more precise in this > case. I don't mind the changes but also feel that putting these in IUSE is unnecessary. I asked on IRC and was initially told that libc-specific behaviour should be visible to the user but this turned out to be a bogus reason as these flags are explicitly hidden. > While at it, please check, but I remember that !elibc_glibc won't work > because musl or uclibc does have intl/iconv, so better be explicit to what > systems/libcs don't have it IMO. Agreed, I added all the BSDs explicitly instead, including DragonFly.