Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 594744 - sys-apps/portage-2.3.1 cannot be cross-compiled: cc1: warning: include location "/usr/include/python3.4m" is unsafe for cross-compilation [-Wpoison-system-directories]
Summary: sys-apps/portage-2.3.1 cannot be cross-compiled: cc1: warning: include locati...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 571444 604854
  Show dependency tree
 
Reported: 2016-09-22 07:03 UTC by Xavier Miller (RETIRED)
Modified: 2017-02-10 18:50 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,84.39 KB, application/octet-stream)
2016-09-22 07:03 UTC, Xavier Miller (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xavier Miller (RETIRED) gentoo-dev 2016-09-22 07:03:12 UTC
Created attachment 447294 [details]
build.log

running build_ext
building 'portage.util.libc' extension
creating /var/tmp/portage/sys-apps/portage-2.3.1/work/portage-2.3.1-python3_4/temp.linux-x86_64-3.4
creating /var/tmp/portage/sys-apps/portage-2.3.1/work/portage-2.3.1-python3_4/temp.linux-x86_64-3.4/src
armv6j-hardfloat-linux-gnueabi-gcc -O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard -fomit-frame-pointer -fPIC -I/usr/include/python3.4m -c src/portage_util_libc.c -o /var/tmp/portage/sys-apps/portage-2.3.1/work/portage-2.3.1-python3_4/temp.linux-x86_64-3.4/src/portage_util_libc.o
cc1: warning: include location "/usr/include/python3.4m" is unsafe for cross-compilation [-Wpoison-system-directories]
In file included from /usr/include/python3.4m/Python.h:50:0,
                 from src/portage_util_libc.c:5:
/usr/include/python3.4m/pyport.h:814:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
 #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
  ^
error: command 'armv6j-hardfloat-linux-gnueabi-gcc' failed with exit status 1
Comment 1 Xavier Miller (RETIRED) gentoo-dev 2016-09-22 07:04:50 UTC
 armv6j-hardfloat-linux-gnueabi-emerge --info portage
Portage 2.3.1 (python 2.7.12-final-0, default/linux/arm/13.0/armv6j, gcc-5.4.0, glibc-2.23-r2, 4.7.4-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.7.4-gentoo-x86_64-Intel-R-_Celeron-R-_2957U_@_1.40GHz-with-gentoo-2.3
KiB Mem:     3967644 total,    469992 free
KiB Swap:    2097148 total,   2097124 free
Timestamp of repository gentoo: Tue, 20 Sep 2016 08:30:01 +0000
sh bash 4.3_p46
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
distcc 3.2rc1 x86_64-gentoo-linux-gnu [disabled]
app-shells/bash:          4.3_p46::gentoo
dev-lang/python:          3.4.5::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.21.7::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/binutils:       2.26.1::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.7::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

local
    location: /usr/local/portage/overlay
    masters: gentoo proaudio gentoo-kodi-overlay
    priority: 0

gentoo-kodi-overlay
    location: /usr/local/portage/gentoo-kodi-overlay
    masters: gentoo
    priority: 1

proaudio
    location: /var/lib/layman/proaudio
    masters: gentoo
    priority: 50

xmw
    location: /var/lib/layman/xmw
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="arm ~arm"
ACCEPT_LICENSE="@FREE as-is freedist"
CBUILD="x86_64-gentoo-linux-gnu"
CFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard -fomit-frame-pointer"
CHOST="armv6j-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard -fomit-frame-pointer"
DISTDIR="/data/raspi_root/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y --quiet-build=n --buildpkg"
FCFLAGS="-O2 -pipe -march=armv6j"
FEATURES="assume-digests binpkg-logs buildpkg candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=armv6j"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="fr_BE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5 -l2"
PKGDIR="/data/raspi_root/var/portage/packages"
PORTAGE_CONFIGROOT="/usr/armv6j-hardfloat-linux-gnueabi/"
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="arm bzip2 cli cracklib crypt cxx dri iconv modules ncurses nls nptl openmp pcre readline seccomp session sqlite ssl tcpd unicode 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" ELIBC="glibc" 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 evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr nl" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap omapfb dummy v4l" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Zac Medico gentoo-dev 2016-09-22 16:29:58 UTC
It might be easiest if we add a USE flag so that we can disable the libc bindings, since they're entirely optional.
Comment 3 Zac Medico gentoo-dev 2016-10-02 03:11:46 UTC
This patch allows us make the libc bindings conditional on a USE flag:

https://archives.gentoo.org/gentoo-portage-dev/message/f263ec826183f134b11d44aaaad011dc
https://github.com/gentoo/portage/pull/56
Comment 5 Zac Medico gentoo-dev 2016-10-28 05:56:16 UTC
This is fixed in portage-2.3.2, but the ebuild does not actually have support to enable the libc bindings. Something like this would do the trick:


    if use native-extensions; then
        printf "[build_ext]\nportage-ext-modules=true" >> \
            setup.cfg || die
    fi
Comment 6 Zac Medico gentoo-dev 2017-02-01 21:12:31 UTC
The ebuild now has a native-extensions USE flag to enable the libc bindings:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbe0bd44461aff3097fde6c64147f1a61e30816d

Profiles used for cross-compiling should add a setting like "sys-apps/portage -native-extensions" in package.use.
Comment 7 Zac Medico gentoo-dev 2017-02-10 18:50:42 UTC
Fixed in portage-2.3.3.