Compilation fails in macosx with the following error: x86_64-apple-darwin15-clang -DHAVE_CONFIG_H -I. -I../.. -I/Users/tusharteredesai/Gentoo/usr/include -march=native -O2 -pipe -c -o mountlist.o mountlist.c mountlist.c:1:10: fatal error: 'sys/sysmacros.h' file not found #include <sys/sysmacros.h> This include is added by the ebuild: # Newer C libraries omit this include from sys/types.h. # https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00018.html sed -i '1i#include <sys/sysmacros.h>' gl/lib/mountlist.c || die The sed should be skipped on macosx. emerge --info: Portage 2.2.27-prefix (python 3.5.1-final-0, prefix/darwin/macos/10.11/x64, clang-3.7.1, unavailable, 15.3.0 x86_64) ================================================================= System uname: Darwin-15.3.0-x86_64-i386-64bit Timestamp of repository gentoo_prefix: Thu, 17 Mar 2016 17:44:51 +0000 sh bash 4.3_p39 app-shells/bash: 4.3_p39::gentoo_prefix dev-lang/perl: 5.22.1::gentoo_prefix dev-lang/python: 2.7.11::gentoo_prefix, 3.4.3-r5::gentoo_prefix, 3.5.1::gentoo_prefix dev-util/cmake: 3.4.3::gentoo_prefix dev-util/pkgconfig: 0.29::gentoo_prefix sys-devel/autoconf: 2.69::gentoo_prefix sys-devel/automake: 1.14.1::gentoo_prefix, 1.15::gentoo_prefix sys-devel/libtool: 2.4.6-r1::gentoo_prefix sys-devel/make: 4.1-r1::gentoo_prefix Repositories: gentoo_prefix location: /Users/tusharteredesai/Gentoo/usr/portage sync-type: rsync sync-uri: rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix priority: -1000 aliases: gentoo ACCEPT_KEYWORDS="~x64-macos" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-apple-darwin15" CC="x86_64-apple-darwin15-clang" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-apple-darwin15" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/terminfo" CXX="x86_64-apple-darwin15-clang++" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/Users/tusharteredesai/Gentoo/usr/portage/distfiles" FCFLAGS="" FEATURES="assume-digests binpkg-logs case-insensitive-fs config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans unprivileged userfetch userpriv usersandbox usersync" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-dead_strip_dylibs" MAKEOPTS="-j1" PKGDIR="/Users/tusharteredesai/Gentoo/usr/portage/packages" PORTAGE_CONFIGROOT="/Users/tusharteredesai/Gentoo/" 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="/Users/tusharteredesai/Gentoo/var/tmp" USE="aqua coreaudio cracklib cxx ipv6 mmx mmxext modules ncurses nls objc objc++ prefix prefix-guest readline sse sse2 ssl unicode x64-macos xattr zlib" 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="Darwin" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4 python3_5" RUBY_TARGETS="ruby20 ruby21" 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" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
updated the sed to be more portable: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c756a9cfd0ac273013fe0934d46c324f546ac36 we generally don't want random `use xxx` flags controlling this behavior.