Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 565054 - sys-devel/crossdev-20150602: crossdev -S -t armv7a-hardfloat-linux-gnueabi fails if toolchain overlay is being used
Summary: sys-devel/crossdev-20150602: crossdev -S -t armv7a-hardfloat-linux-gnueabi fa...
Status: RESOLVED DUPLICATE of bug 508008
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-07 00:19 UTC by Paul Preney
Modified: 2015-11-22 23:31 UTC (History)
1 user (show)

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


Attachments
Log file from failed glibc build. (cross-armv7a-hardfloat-linux-gnueabi:glibc-2.16.0:20151106-161701.log,3.16 KB, text/x-log)
2015-11-07 00:20 UTC, Paul Preney
Details
emerge --info (as a file) (emerge-info.txt,9.93 KB, text/plain)
2015-11-07 00:21 UTC, Paul Preney
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Preney 2015-11-07 00:19:40 UTC
With sys-devel/crossdev-20150602 trying to cross compile an ARM architecture (e.g., armv7a-hardfloat-linux-gnueabi ) will fail if the toolchain overlay ( git://anongit.gentoo.org/proj/toolchain.git ) is loaded.

The main crossdev command being used is:

  crossdev -S -t armv7a-hardfloat-linux-gnueabi

Other ARM variants were tried with the same error:

 * glibc failed :(
 * If you file a bug, please attach the following logfiles:
 * /var/log/portage/cross-armv7a-hardfloat-linux-gnueabi-info.log
 * /var/log/portage/cross-armv7a-hardfloat-linux-gnueabi-glibc-headers.log.xz
 * /var/tmp/portage/cross-armv7a-hardfloat-linux-gnueabi/glibc*/temp/glibc-config.logs.tar.xz

(i.e., it dies with a patching issue with glibc. This is due to the version of glibc it selects. This is still true if one manually specifies which glibc to use --which it ignores: it still tried the same version as above.)

Before figuring out how to work around the problem, I also tried specifying the specific versions of binutils, gcc, glibc, etc. (e.g., --b =2.20-r2 --g =4.8.5 --k =4.0.9 --l =2.20-r2) but oddly crossdev would still select its own versions! This is what lead me to suspect the problem was due to how crossdev was using/interacting with overlays, i.e., in particular the overlay with glibc, etc.: toolchain. This was especially the case since glibc v2.16 is only present in that overlay.

This behaviour with crossdev even occurs with the toolchain overlay masked:
  
  /etc/portage/package.mask/amd64:
    */*::toolchain

and I also tried adding such to:

  /usr/armv7a-hardfloat-linux-gnueabi/etc/portage/package.mask:
    */*::toolchain

but that didn't seem to work either.

So, instead, I extracted the toolchain stanza out of:

  /etc/portage/repos.conf/layman.conf:
    [toolchain]
    priority = 50
    location = /var/lib/layman/toolchain
    layman-type = git
    auto-sync = yes

and put it into /etc/portage/repos.conf/layman-toolchain.conf. Clearly, if one tries:

  crossdev -S -t armv7a-hardfloat-linux-gnueabi

it will still fail --but if one moves layman-toolchain.conf outside of the repos.conf directory, e.g.,

  cd /etc/portage/repos.conf
  mv layman-toolchain.conf ~/
  crossdev -C armv7a-hardfloat-linux-gnueabi
  emerge --deselect y cross-armv7a-hardfloat-linux-gnueabi/linux-headers cross-armv7a-hardfloat-linux-gnueabi/binutils cross-armv7a-hardfloat-linux-gnueabi/gcc cross-armv7a-hardfloat-linux-gnueabi/glibc

and then run:

  crossdev -S -t armv7a-hardfloat-linux-gnueabi

then crossdev runs correctly without issues. (It is important to run crossdev -C to clear out the builds made and to deselect them to avoid warnings about the world file.)

I have observed and tested this on two Gentoo installations.

NOTE: sys-devel/crossdev-20150602, sys-apps/portage-2.2.20.1, app-portage/layman-2.3.0 (~amd64 version).

Reproducible: Always

Steps to Reproduce:
1. Add the toolchain overlay (if not already present): layman -a toolchain
2. Later use crossdev -t ARCH to cross-compile to ARM.
   NOTE: It will not fail if similar to your current ARCH, e.g., mingw32 on amd64 will crossdev without issues. For sure, ARM will fail --I didn't try other ARCHs.
Actual Results:  
(Answered in the description above.)

Expected Results:  
crossdev should have properly recognized the hard-masked, masked, etc. packages in the toolchain overlay and ignore them. If such is not possible, then it should say what to do in order to have it ignore it.

emerge --info
=============

Portage 2.2.20.1 (python 2.7.10-final-0, default/linux/amd64/13.0/desktop/kde, gcc-4.8.5, glibc-2.21-r1, 3.18.16-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.18.16-gentoo-x86_64-Intel-R-_Core-TM-_i5-3360M_CPU_@_2.80GHz-with-gentoo-2.2
KiB Mem:    16396528 total,   7522632 free
KiB Swap:   20971516 total,  20971516 free
Timestamp of repository gentoo: Thu, 05 Nov 2015 19:00:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p39::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.10::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/cmake:           3.3.1-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.10.3-r1::gentoo, 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.7.4::gentoo, 4.8.5::gentoo, 4.9.3::gentoo, 5.2.0::gentoo, 6.0.0_alpha20150927::toolchain
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.21-r1::gentoo
Repositories:

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

preney
    location: /usr/local/overlays/preney
    masters: gentoo

anders-larsson
    location: /var/lib/layman/anders-larsson
    masters: gentoo
    priority: 50

obs-studio-overlay
    location: /var/lib/layman/obs-studio-overlay
    masters: gentoo
    priority: 50

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

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

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

crossdev
    location: /usr/local/overlays/crossdev
    masters: gentoo
    priority: 9999

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=2 --load-average=4 --complete-graph=y --with-bdeps=y --ask-enter-invalid --autounmask=y --autounmask-write=y --keep-going=y --fail-clean=y --autounmask-keep-masks --quiet-build=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs clean-logs config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_CA.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2 -l4"
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"
PORTAGE_TMPDIR="/var/tmp"
USE="64bit R X Xaw3d a52 aac aalib acl acpi addressbook ads aes aim akonadi alsa alsa-plugin amd64 amr ao apache2 apng aspell asyncns attica audiofile autoipd avahi avx ayatana bash-completion bazaar bcmath berkdb bidi binfilter blas blender blender-game bluetooth boost branding bs2b bzip2 bzlib cairo calendar canna caps cdda cddb cdr cg cgi chemistry cjk clamav cleartype cli colorio connection-sharing consolekit context contrast contrib coverage coverart cracklib crossdev crypt cryptsetup cscope css ctype cups curl cvs cxx cyrillic dar64 dbase dbi dbm dbus dbx dc1394 declarative derby designer-plugin desktop-globe detex device-mapper dga dia dirac directfb djvu dmraid docbook dot dri dselect dts dv dvb dvd dvdr dvdread dvi2tty dvipdfm eap-sim egl emacs embedded emboss emovix en enchant encode enscript epspdf espeak evdev evo examples exif expat extensions extra extras faac faad fam farcs fasteap fat fax fbcon festival ffmpeg fftw firefox fits flac flatfile fltk fluidsynth fontconfig fontforge foomaticdb fortran freerdp freetds freewnn ftp g3dvl games gcdmaster gcj gd gdbm genlocation geoip ggi gif gimp ginac git glamor glew glib glitz glut gme gmp gnome gnome-keyring gnumeric gnuplot gnustep gnutls go gpg gphoto2 gpm gps gpu graphics graphite graphviz gsl gsm gstreamer gtk gtkhtml gtkstyle gucharmap gudev guile gzip handbook hddtemp hdf5 hfs highlight hotpixels hpijs hscolour html humanities hunspell hwdb iconv icq icu id3tag idn ieee1394 imagemagick imap imlib indi infinality inifile inkjar innodb intl introspection iodbc ipod ipv6 jabber jack jadetex java java6 javascript jbig jce jfs jingle joystick jpeg jpeg-2k jpeg2k kate kde kdepim kerberos keymap kipi kontact kpathsea ladspa lame lapack lash latex latex3 lcdfilter lcms ldap lensfun libass libcaca libgda libnotify libproxy libtiger libv4l libv4l2 libwww lirc live lm_sensors lua luatex lvm lyx lzma lzo m17n-lib macvtap mad maildir mailwrapper marble matroska mbox mbrola mcve md5sum mdadm mdnsresponder-compat meanwhile memlimit mercurial metapost mhash midi migemo mikmod milter mime mjpeg mmap mmx mmxext mng mod modplug modules mono motif mozilla mp3 mp4 mpeg mpg123 mpi mpithreads mplayer msn mtp mule multilib multimedia musepack music musicbrainz mysql nas ncurses neXt netboot netcdf network networking networkmanager nfs nis nlpsolver nls nntp nocd nova nptl nsplugin ntfs ntpl numa nut nuv objc objc++ objc-gc ocaml ocamlopt odbc odk offensive offlinehelp ofx ogg okular omega openal opencl opencv openexr opengl openimageio openmax openmp openrc openvg orc oscar osmesa otr pam pango parted parti pcap pch pcntl pcre pda pdf pdfannotextractor pdfimport pdo perl phonon php phyp pipelight plasma plotutils png pnm policykit pop popcnt posix postgres postproc postscript ppds projectm pstricks publishers pulseaudio pvr python qemu qemu-ifup qimageblitz qqwry qscintilla qt3support qt4 quicktime qwt radio radius raw rdesktop rdesktop-vrdp readline real realtime reiser4 reiserfs resolvconf rss rtf rtmp rtsp ruby samba sasl scanner schroedinger science script sdk sdl sdl-image seccomp semantic-desktop server session sftp sharedext sharedmem shorten shout simplexml skins skype slang slp smime smp sms smtp sndfile soap sockets socks5 soundtouch sox speex spell spice sqlite sqlite3 sse sse2 sse3 sse4_1 sse4_2 ssh ssl ssse3 stars startup-notification stream subversion suid svg symlink syslog sysvipc szip t1lib taglib tbb tcl tcpd telepathy templates tex4ht texi2html theora threads tidy tiff timezone timidity tk tokenizer truetype twolame type1 udev udisks unicode upcall upnp upower usb utils v4l v4l2 vaapi vamp vcd vcdx vde vdpau vdr verse vhosts video videos vim-syntax virt-network virtualbox visio vlm vnc vorbis vte wavpack webdav webdav-serf webkit webp webrtc-aec wifi wma-fixed wmf word-perfect wpg wps wxwidgets x264 xa xanim xattr xcb xcomposite xetex xfs xft xindy xinerama xinetd xml xmlrpc xmp xnest xosd xpm xscreensaver xsl xslt xulrunner xv xvid xvmc yahoo yaz yv12 zeroconf zip zlib zsh-completion zvbi" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="canon ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="nss" 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" GRUB_PLATFORMS="pc efi-64" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-minimizer nlpsolver scripting-beanshell scripting-javascript wiki-publisher" LINGUAS="en en_CA en_GB en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="x86_64" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="fglrx radeon vesa" 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 1 Paul Preney 2015-11-07 00:20:50 UTC
Created attachment 416202 [details]
Log file from failed glibc build.
Comment 2 Paul Preney 2015-11-07 00:21:24 UTC
Created attachment 416204 [details]
emerge --info (as a file)
Comment 3 SpanKY gentoo-dev 2015-11-22 23:31:05 UTC

*** This bug has been marked as a duplicate of bug 508008 ***