# SECURITY NOTICE:
# It is HIGHLY recomended that you use the --listen option
# for increased security. You can specify an IP to permit connections
# from or a CIDR mask
# --listen accepts only a single IP
# --allow is now mandatory as of distcc-2.18.
# example: --allow 192.168.0.0/24
# example: --allow 192.168.0.5 --allow 192.168.0.150
# example: --listen 192.168.0.2
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.0.0/24"
#DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.0.2"

# set this for niceness
# Default is 15
DISTCCD_OPTS="${DISTCCD_OPTS} -N 15"

/etc/make.conf:

Code:

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="armv6j-hardfloat-linux-gnueabi"

MAKEOPTS="-j5"

FEATURES="parallel-fetch buildpkg distcc"

#GENTOO_MIRRORS="http://intelminer.com/gentoo"

#SYNC="rsync://intelminer.com/gentoo-portage"

ACCEPT_LICENSE="*"

EMERGE_DEFAULT_OPTS="--quiet-build=n"

PORTAGE_NICENESS="15"

PKGDIR="/var/binary"

USE="gif jpeg mad mp3 png quicktime theora x264-static xv xvid"

/etc/distcc/hosts:

Code:

192.168.10.5

/etc/init.d/distccd is running

Notes:
This is a raspberry pi. When I run emerge, it does compile whatever I ask it to, but it is obvious that it's doing it itself and not using distcc.

What am I missing here?

Last edited by Bigun on Sun Nov 04, 2012 8:06 pm; edited 1 time in total

Nope, pump is an addition to distcc. Just run "pump emerge" instead of plain emerge. If your crosscompiler is up to the task you'll see most of hard work done by server._________________Please learn how to denote units correctly!

On your cross build system you need gcc-4.6.3 as a cross compiler.
crossdev should be able to build that for you

Once your have the gcc-4.6.3 cross compiler in use (use gcc-config) you can use it to build a native gcc for the pi.

Code:

emerge-wrapper -init
armv6j-hardfloat-linux-gnueabi-emerge =gcc-4.6.3

there may be some odd -rX in the version too.

Before you build gcc for the Pi make sure you have FEATURES=buildpkg set in /usr/armv6j-hardfloat-linux-gnueabi/etc/portage/make.conf
This makes the build system save a binary tarball in your cross environment at PKGDIR=${ROOT}packages/
Its a really bad idea to mix host and target binaries in the same place.

When you have the tarball, move it to the equivelent location on the Pi. Preserve any directory structure you find in PKGDIR=${ROOT}packages/ down to gcc-4.6.3 or the next step will fail.
On the Pi emerge the binary tarball.

Code:

emerge -1K =gcc-4.6.3

-K (uppercase) says to use the binary package or fail. -k (lowercase) says to use the binary package if its found, if not build it.

As gcc will have been cross compiled, you will need the extra /lib/ld* symlink or it won't work.
You've been there before.
You will need to gcc-config on the Pi too._________________Regards,

NeddySeagoon

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