Command: crossdev -t i686 --kernel 2.6.16 --libc 2.4-r3 Excerpted from glibc.log: make[2]: Leaving directory `/var/tmp/cross/i686-pc-linux-gnu/portage/glibc-2.4-r3/work/glibc-2.4/elf' make[1]: Leaving directory `/var/tmp/cross/i686-pc-linux-gnu/portage/glibc-2.4-r3/work/glibc-2.4' >>> Source compiled. /portage-overlay/cross-i686-pc-linux-gnu/glibc/glibc-2.4-r3.ebuild: line 303: cd: /var/tmp/cross/i686-pc-linux-gnu/portage/glibc-2.4-r3/work/build-pos-i686- pc-linux-gnu-nptl: No such file or directory * Checking GLIBC with NPTL... Makeconfig:84: amd64/config.make: No such file or directory Makerules:795: no file name for `include' /bin/sh: line 0: cd: amd64: No such file or directory The GNU C library has not been configured. Run `configure' to configure it before building. Try `configure --help' for more details. make: *** [amd64/config.status] Error 1 Incidentally, the -l and -g flags mentioned in crossdev --help don't work. Emerge --info: Portage 2.1 (default-linux/amd64/2006.0, gcc-4.1.1, glibc-2.3.6-r3, 2.6.16-gentoo-r7 x86_64) ================================================================= System uname: 2.6.16-gentoo-r7 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4600+ Gentoo Base System version 1.12.1 ccache version 2.3 [enabled] dev-lang/python: 2.4.2 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: 0.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/gcc-config: 1.3.13-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -fomit-frame-pointer -march=k8" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=k8" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache confcache distlocks fixpackages maketest metadata-transfer parallel-fetch sandbox sfperms strict test" GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ http://gentoo.mirrors.easynews.com/linux/gentoo/ " LC_ALL="en_US.UTF-8" LINGUAS="en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/portage-overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 7zip X X509 a52 aac aalib acl acpi aim alsa amarok amazon amd amuled apache2 asf async authdaemond automount avi bash-completion bcmath bdf berkdb big-tables bootsplash branding browserplugin bzip2 cairo cap caps ccache cdda cddb cdinstall cdio cdparanoia cdr cdrom cg chroot cjk cli crypt css ctype cups curl curlwrappers cvs cvsgraph cyrus dbus dga dio directfb dlloader dlopen dmx dnd dnotify doc dpms dri dts dv dvd dvdr dvdread dxr3 edl eds emul-linux-x86 encode enscript escreen ethereal evo evolution exif exscalibar extensions fam fame fastcgi fbcon fbsplash festival ffmpeg firefox flac flash flatfile font-server foomaticdb ftp fuse gaim gd ggi gif gimp gimpprint glut gmail gmailtimestamps gmp gnome gnome-print gpgme gpm grammar graphicsmagick graphviz gs gssapi gstreamer gstreamer010 gtk gtk2 gtkhtml gtkspell gvim hal hou hpn httpd iconv id3 idled idn ieee1394 ifp imagemagick imap imlib inifile innodb insecure-savers iproute2 ipsec ipv6 irc ithreads j2ee jack java javascript jboss jce jcs jikes john joystick jpeg jpeg2k junit kde kerberos lame largeterminal latex lcms ldap ldapsam ldirectord libcaca libsamplerate libvisual lirc lm_sensors log4j logrotate lzw lzw-tiff mad maildir math matroska mbox mbrola md5sum mem-cache memcache menubar mime mjpeg mmap mng mod mod_python module mono moodbar mouse moznocompose moznoirc moznomail mp3 mp4 mp4live mpeg mpeg2 mplayer mpm-worker msdfs mudflap multiuser musepack musicbrainz mysql mysqli nas ncurses net nethack network nfs nls nocd nosrc nowin nptl nptlonly nsplugin ntfs ntlm nvidia nvtv objc objc++ odbc ogg oggvorbis opengl openssl oscar oss overlays pam pam_chroot pam_console passfile pcntl pcre pdf pdflib perl php player plotutils png pop pop3d ppds pppd python qemu-fast qt quicktime rar rdesktop readline reflection reiserfs remote rtc samba sample sasl screen sdl sensord server servlet-2.4 session sftp silvercity skey slang slp smartcard smarty smime smp smtp sockets socks5 sou spell spl sql srp sse-filters ssl startup-notification stream subtitles subversion svg swarmcache sysfs syslog tabs taglib tagwriting tcpd test tetex thesaurus threads tidy tiff timidity tokenizer toolbar transcode truetype truetype-fonts type1-fonts underscores unicode unzip urandom usb userlocales utf8 v4l v4l2 vcd vhosts vim vim-pager visualization vorbis webdav webkdc widescreen wifi winbind wma wma123 wmf wxwindows x264 xanim xcomposite xext xgetdefault xine xinerama xlockrc xml xml2 xmldoclet xmlreader xmlrpc xmlwriter xmms xorg xosd xpm xprint xrandr xscreensaver xsettings xv xvid xvmc yv12 zip zlib elibc_glibc input_devices_mouse input_devices_evdev input_devices_joystick input_devices_keyboard kernel_linux linguas_en userland_GNU video_cards_nvidia video_cards_vesa video_cards_fbdev" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS Some other versions of glibc fail on the linux-headers version check (they say I have <2.6.9 despite my using 2.6.16).
If it's any help, it should be cding to /var/tmp/cross/i686-pc-linux-gnu/portage/glibc-2.4-r3/work/build-default-i686- pc-linux-gnu-nptl. The ${ABI} environmental variable controls this command, IIRC. Why is it trying for a posix glibc?
Where is it getting "pos" from? This doesn't look like it has anything to do with eselect-compiler. Any just curious... why are you pulling in a crossdev i686 toolchain on amd64 anyways? You have one already... I'll test this out, though...
Yeah... he doesn't even have eselect-compiler on is system. He's using gcc-config. so it can't be eselect-compiler related.
pos is coming from crossdev ... it was used to force ABI to something sane when using gcc-config-1.x as the ABI just broke cross-compilers horribly otherwise
Ok, well the sane value would be "default" or just unset it (in which case it would be "default").
(In reply to comment #2) > Where is it getting "pos" from? This doesn't look like it has anything to do > with eselect-compiler. > > Any just curious... why are you pulling in a crossdev i686 toolchain on amd64 > anyways? You have one already... > > I'll test this out, though... > I needed to build a 32-bit libusb to support some proprietary drivers I have, and all the Gentoo documentation pointed me to using crossdev. Plus I was kind of curious about how well this worked b/c I often cross-compile things for arm (handhelds) and a genkernel-like tool for crosscompiling could be very useful :-P. Is there some way to tell emerge to put things into /lib32 and /usr/lib32 and to allow a second installation of a package? Or should I create a second ebuild for the 32bit version? I just built the package from source with --host and --libdir... Speaking of which, I got this to work with the command "crossdev -t i686" when I removed test and maketest from my FEATURES. glibc was failing an nptl-related test because it tried to cd into the aforementioned incorrect directory. So there are three (I think) problems here: 1. The ABI setting is wrong, causing some of the glibcs to fail 2. Some versions of glibc perform the linux-headers version check incorrectly 3. The options descriptions for crossdev are incorrect
I just tried to emerge a arm-softfloat-linux-gnu environment to play with my zaurus. It was a nearly comlete disaster, but i think I'm making slow progress. The base system is an up todate ~x86 system, I used the latest crossdev with the following command: crossdev -t arm-softfloat-linux-gnu It failed when it tried to emerge glibc-2.4, because the glibc-configure complained about missing __thread-support. From the log: hecking for stdint.h... no checking for unistd.h... no checking for long double... no checking size of long double... 0 running configure fragment for ports/sysdeps/arm/elf checking for ARM TLS support... no running configure fragment for nptl/sysdeps/pthread configure: error: compiler support for __thread is required !!! ERROR: cross-arm-softfloat-linux-gnu/glibc-2.4-r3 failed. It seems that thread-support is needed from compiling nptl. But the stage1-gcc will not build thread-support if there is no glibc. Chicken-Egg-Problem: * No glibc means no __thread in gcc * No __thread in gcc means no nptl with means no glibc-2.4 I tried to emerge nearly all other <glibc-2.4 versions with the stage1-gcc-4.1. All failed in nptl-mode with above error, using only linuxthreads with severaly other erros. :( The only way to get a arm-glibc was to emerge an additional 3.4.6-crossgcc. It will still fail build glibc-2.4 because of the chicken-egg-problem, but now I have a arm-glibc-2.3.6-r4. Status for crossdev seems to be right now: Broken for gcc-4* Broken for glibc-2.4* Is there some page where I can see working combinations of gcc/glibc for an architecture? The homepage for crossdev only says 'www.gentoo.org' and the packages itself has no docs, but arm/glibc is called 'supported' in crossdev -t help Thanks for any pointers to more docs. I will report later, if building glibc2.4 is working, after I build a __thread-gcc with the glibc-2.3...
Ok, glibc-2.4 still does not compile. But as it has neither an arm nor an ~arm keyword, I should not complain about it. Still it looks like a bug in emerge or crossdev that crossdev or a drirect emerge cross-arm-softfloat-linux-gnu/glibc will try to emerge it. (packages.keywords contains the following lines, generated by crossdev: cross-arm-softfloat-linux-gnu/binutils arm ~arm cross-arm-softfloat-linux-gnu/gcc arm ~arm cross-arm-softfloat-linux-gnu/linux-headers arm ~arm cross-arm-softfloat-linux-gnu/glibc arm ~arm cross-arm-softfloat-linux-gnu/gdb arm ~arm My make.conf contains KEYWORDS="~x86") I also found another bug, this one is much more serious: ariolc ~ # eix -e glibc eix: error while loading shared libraries: /usr/lib/gcc/arm-softfloat-linux-gnu/4.1.1/libgcc_s.so.1: ELF file OS ABI invalid I do not know when this was first caused, but I made the following switches with eselect compiler: Switching to cross-arm-softfloat-linux-gnu/gcc-3.4.6 after emerging it Switching back to cross-arm-softfloat-linux-gnu/gcc-4.1.1 for the second try with glibc-2.4 Switching to sys-devel/gcc-4.1.1 to try to cure this error. It did not help. The cause is the following: ld.so.conf contains: ... /usr/lib/gcc/arm-softfloat-linux-gnu/4.1.1 /usr/lib/gcc/i686-pc-linux-gnu/4.1.1 ... /etc/env.d/05compiler contains: # Configuration file for eselect # This file has been automatically generated. INFOPATH="/usr/share/gcc-data/arm-softfloat-linux-gnu/4.1.1/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info" MANPATH="/usr/share/gcc-data/arm-softfloat-linux-gnu/4.1.1/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man" LDPATH="/usr/lib/gcc/arm-softfloat-linux-gnu/4.1.1:/usr/lib/gcc/i686-pc-linux-gnu/4.1.1" /etc/env.d/gcc contains the following files: rm-softfloat-linux-gnu-3.4.6 arm-softfloat-linux-gnu-3.4.6-hardenednopiessp arm-softfloat-linux-gnu-4.1.1 config config- config-i686-pc-linux-gnu i686-pc-linux-gnu-3.4.6 i686-pc-linux-gnu-3.4.6-hardened i686-pc-linux-gnu-3.4.6-hardenednopie i686-pc-linux-gnu-3.4.6-hardenednopiessp i686-pc-linux-gnu-3.4.6-hardenednossp i686-pc-linux-gnu-4.0.3 i686-pc-linux-gnu-4.1.1 So becaus [a]rm comes before [i]686, eselect seems to think I prefer using arm libraries on an x86 system. :( I will fix this manually, but should I file a new bug about this? Using the .so from another architecture seems to be a rather bad thing to do.
Torsten, your issue is unrelated to the one originally reported. Can you please open a new one and assign it to me? Thanks.
Bugs filed as #137909 and #137917 But I could not assign them to you, as the assign-to-inputfield on the new-bug-page seems to be readonly in Konqueror.
latest stuff works for me ... considering the wierd error, looks like the source tree was deleted after building or something ...