From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id B229813832E for ; Sun, 31 Jul 2016 19:36:21 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C97FA21C170; Sun, 31 Jul 2016 19:36:12 +0000 (UTC) Received: from omr-a002e.mx.aol.com (omr-a002e.mx.aol.com [204.29.186.56]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C50D521C06C for ; Sun, 31 Jul 2016 19:36:11 +0000 (UTC) Received: from mtaout-mbd01.mx.aol.com (mtaout-mbd01.mx.aol.com [172.26.252.13]) by omr-a002e.mx.aol.com (Outbound Mail Relay) with ESMTP id D150038000A5 for ; Sun, 31 Jul 2016 15:36:09 -0400 (EDT) Received: from [192.168.1.52] (0x5b3139322e3136382e312e35325d [71.122.242.106]) by mtaout-mbd01.mx.aol.com (MUA/Third Party Client Interface) with ESMTPA id 793EB38000098; Sun, 31 Jul 2016 15:36:09 -0400 (EDT) Subject: Re: [gentoo-user] cross-compile attempt To: gentoo-user@lists.gentoo.org References: <1544697.klPk7OG4O7@dell_xps> From: james Message-ID: Date: Sun, 31 Jul 2016 15:36:34 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: <1544697.klPk7OG4O7@dell_xps> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit x-aol-global-disposition: G x-aol-sid: 3039ac1afc0d579e532942cc X-AOL-IP: 71.122.242.106 X-Archives-Salt: 96ff81b3-ae83-4403-8ae6-eb649292f395 X-Archives-Hash: a91721bc518927ea14ae05d7715f72b5 On 07/31/2016 01:40 PM, Mick wrote: > Hi All, > > I am dipping my toe into cross-compile territory, in order to build i686 > binaries for a 32bit box, which is too old to do its own emerges. An excellent idea. As one who has performed the upgrade/downgrade surgery on many systems; the single biggest issue is burning up old hard drives and mobos. Keep the old hardware as cool as possible. I place them under the vents of a 'window AC' set as cold as possible. I'm thinking about modifying and old fridge to get around 40 degrees F and low humidity, with a ethernet hub inside and single hole for the hub to outside cables, packed off with rubber grommets and silicon caulk. I'm tired of old hardware going dead on me.... > I am using > an amd64 box which is significantly faster to do all the heavy lifting and > started applying this page: > > https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Creating_a_cross-compiler > Good reference. I would emphasize a few points. 1. Copy off (/var/lib/portage/world file and the /etc/*) and others to another system. 2. Remove as many packages as possible before the compiling starts, including window managers. I now keep my profile(s), for both servers and workstations, as simple as possible. 3. At the last stage put the packages back that you need/want to complete your tasks. Less complicated the packages are (KDE stands out) the easier the work and cross-compiling is. HEAT is your enemy and HEAT's last name is Murphy..... > which I followed up with: > > https://wiki.gentoo.org/wiki/Cross_build_environment > > and attempted to build @system: > ========================= > # i686-pc-linux-gnu-emerge -uva @system > > * IMPORTANT: 3 news items need reading for repository 'gentoo'. > * Use eselect news read to view new items. > > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild N ] sys-apps/busybox-1.24.2::gentoo to /usr/i686-pc-linux-gnu/ > USE="make-symlinks static -debug -ipv6 -livecd -math -mdev -pam -savedconfig (- > selinux) -sep-usr -syslog -systemd" 0 KiB > > Total: 1 package (1 new), Size of downloads: 0 KiB > > Would you like to merge these packages? [Yes/No] y > * ARCH is not set... Are you missing the '/usr/i686-pc-linux- > * gnu/etc/portage/make.profile' symlink? Is the symlink correct? Is your > * portage tree complete? > =============== > > As far as I can tell the link is there: > > # ls -la /usr/i686-pc-linux-gnu/etc/portage/ > total 8 > drwxr-xr-x 1 root root 56 Jul 31 19:32 . > drwxr-xr-x 1 root root 20 Jul 31 18:32 .. > -rw-r--r-- 1 root root 1019 Jul 31 19:32 make.conf > lrwxrwxrwx 1 root root 30 Jul 31 17:48 make.profile -> > /usr/portage/profiles/embedded > drwxr-xr-x 1 root root 32 Jul 31 18:16 profile > > and it was created when I ran 'crossdev --stable -v -t i686-pc-linux-gnu'. > > My make.conf looks like this: > ============================== > # cat /usr/i686-pc-linux-gnu/etc/portage/make.conf > CHOST=i686-pc-linux-gnu > CBUILD=x86_64-pc-linux-gnu > ARCH=x86 > > HOSTCC=x86_64-pc-linux-gnu-gcc > > ROOT=/usr/${CHOST}/ > > ACCEPT_KEYWORDS="x86" > > USE="${ARCH} -pam" > > CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer" > CXXFLAGS="${CFLAGS}" > MAKEOPTS="-j5" > AUTOCLEAN="yes" > USE="a52 aac aalib acpi apache2 -arts asf avi cdda cddb cdparanoia crypt css > dri dts dv dvd dvdr dvdread divx -eds encode -esd flac fuse gif gimp gmedia - > gnome -gtk hpijs imlib -java lcms -libav live lzo mjpeg mmx mng modplug > mozdevelop mp3 mysql ncurses npp nptlonly nsplugin pdf ppds quicktime real > realmedia rtmp scanner semantic-desktop sse sse2 smp svg theora tiff usb utf8 > vcd vhosts vorbis vram v4l webdav wmf wmp xcomposite xine xinerama xulrunner > xv xvid xvmc x264 yv12" > FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc" > # Be sure we dont overwrite pkgs from another repo.. > PKGDIR=${ROOT}packages/ > PORTAGE_TMPDIR=/var/tmp > > ELIBC="glibc" > > PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/" > #PORTDIR_OVERLAY="/usr/portage/local/" > ============================ > > > What am I missing? How would/do you go about achieving the same objective? The masters of gentoo cross compiling are mostly found on the gentoo-embedded channel, just so you know. Mostly a collection of brilliant pricks and posers, but some kind kind-hearted folks therein too. Cross compiling on clusters is a very hot area of interest right now, but that is not for the faint-at-heart, atm. I'd stick with the fastest multi-core single system you have access to and avoid distcc atm. ymmv. hth, James