to test it out and it finished w/o error. Now, can someone help me figure out how to get the pci-utils package moved over to the arm machine? I set PKGDIR variable on the host machine's make.conf in /usr/armv6j-hardfloat-linux-gnueabi/etc/make.conf to

Quote:

PKGDIR="/usr/armv6j-hardfloat-linux-gnueabi/bpackages"[/code] but it ignores this and creates pciutils-3.1.10.tbz2 in /usr/armv6j-hardfloat-linux-gnueabi/packages/sys-apps. Any idea why my PKGDIR isn't working?

Also, I copy this package file over to the arm machine and try running

Code:

emerge -pKv pciutils

and I get

Code:

emerge: there are no ebuilds to satisfy "pciutils".

I've tried saving the tbz2 file in /usr/portage/packages, /usr/portage/pacakges/All, /usr/portage/packages/sys-apps, and /bpackages. On the arm machine I have /etc/make.conf PKGDIR set to /bpackages.

Last edited by kevintshaver on Mon Mar 11, 2013 7:49 pm; edited 1 time in total

On my Raspberry Pi, the native build system uses /lib/ld-linux-armhf.so.3 but my amd64 build box plants /lib/ld-linux.so.3. I'm not sure if thats a feature or a bug. The error message you get for that is very misleading.

lspci on a Pi is not very interesting as it doesn't have a PCI bus._________________Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.

Thanks for the fast feedback Seagoon. The portage tree is all setup. I can install it no problem if I just do

Code:

emerge pciutils

. It's only when I try to do the install from the binary

Code:

emerge -K pciutils

that it can't find the package. I know lspci is not that important (apparently completely non-relevant on Raspberry Pi), I'm just using it cause its quick to test the process out.

Quote:

You can make your x86 box a BINHOST, to serve the ARM packages, or set up NFS, or use scp or rsync ....

I will eventually set up the BINHOST but can you explain more on using scp or NFS? I don't see how I can tell emerge the location of the binary other than setting PKGDIR in make.conf. I did use scp to transfer over the file pciutils-3.1.10.tbz2 from host to RPi. I just can't seem to get the system to look for it in the correct location.

You were right about make.conf at /usr/armv6j-hardfloat-linux-gnueabi/etc/make.conf being ignored. I moved it and now it's being used by emerge. I can flip use flags. So the host is all set, just can't get the binary package installed on the target.

You certainly need the directory structure and you probably need the Packages file too. Each dir contains the binary packages.

You will hate pure cross compiling as many things won't build. A good compromise is to install distcc on the Pi and the build host.
Run the distccd on the build host, so it listens put distcc in FEATURES on the Pi, then tell the Pi

Code:

pump emerge <package>

You need identical versions of gcc on the Pi and for your cross compiler, but you can cross compile gcc for the Pi.

My Pi runs MAKEOPTS="-j8", which is good until you come to a package tat won't use distcc.
You will die of old age building on the SD card too. Set up NFS or a USB hard drive for everything except /boot._________________Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.

OK, thanks for the help on the problem and the extra tips. You got it right here:

Quote:

You certainly need the directory structure and you probably need the Packages file too. Each dir contains the binary packages.

I emerged using buildpkg on the target and that created the Packages file and added in the sys-apps directory in my PKGDIR folder. That is all it needed, now I can emerge -K without issue as long as I add the binary to the appropriate category directory.