I think I understand your suggestion and I believe that I setup it up according to your teachings but it's not working to call the gcc inside the chroot.
I made the one-liner you suggested in my home dir and installed it as you suggested. Here is the script for your reference: $ cat chroot-gcc #!/bin/sh exec schroot -p -- $0 "$@"" Now I installed it and setup the links you suggested: $ chmod 755 chroot-gcc # cp chroot-gcc /usr/bin/chroot-gcc # ln -s /usr/bin/chroot-gcc /usr/bin/i686-pc-linux-gnu-gcc-4.6.0 # ln -s /usr/bin/chroot-gcc /usr/bin/i686-pc-linux-gnu-gcc # ln -s /usr/bin/distcc /usr/lib/distcc/bin/i686-pc-linux-gnu-gcc That's it! The odd thing is that make CC=x command doesn't seem to call the script at all: $ cd /dev/shm/linux-2.6.39 <<here I have the kernel source with a .config file ready to compile>> <<As a test, prove which make is running from the native x86_64 environment>> $ make --version GNU Make 3.82 Built for x86_64-unknown-linux-gnu <<As a sanity check, prove that the schroot command will indeed call the gcc within the 32-bit chroot>> $ schroot -p -- make --version GNU Make 3.82 Built for i686-pc-linux-gnu <<Now, try calling your script via the CC= command. It doesn't seem to work for me though>> $ make --version CC=i686-pc-linux-gnu-gcc GNU Make 3.82 Built for x86_64-unknown-linux-gnu Did I mess up something? Thank you kindly in advance for your time and kind advice! --- On Sun, 6/26/11, Benjamin R. Haskell <dis...@benizi.com> wrote: > From: Benjamin R. Haskell <dis...@benizi.com> > Subject: Re: [distcc] compiling with distcc on x86_64 from within a 32-bit > chroot? > To: "Audio Phile" <da_audioph...@yahoo.com> > Cc: "Martin Pool" <m...@sourcefrog.net>, distcc@lists.samba.org > Date: Sunday, June 26, 2011, 6:37 PM > On Sun, 26 Jun 2011, Audio Phile > wrote: > > > $ ls /usr/bin | grep gcc > > gcc > > winegcc > > x86_64-unknown-linux-gnu-gcc > > x86_64-unknown-linux-gnu-gcc-4.6.0 > > > > And in the chroot: > > > > $ ls /usr/bin | grep gcc > > gcc > > i686-pc-linux-gnu-gcc > > i686-pc-linux-gnu-gcc-4.6.0 > > > > How would you suggest I proceed with the goal of keep > just one distcc server for both the native x86_64 > environment and also for the 32-bit chroot? > > Create a script outside of the chroot with the name > i686-pc-linux-gnu-gcc-4.6.0 (along with a versionless > symlink). The script should enter the chroot and pass > all of its arguments to the corresponding gcc inside the > chroot. Then, when compiling, specify the > fully-qualified `gcc`. E.g. > > To compile for x86_64: > make CC=x86_64-unknown-linux-gnu-gcc > > To compile for i686 in the chroot: > make CC=i686-pc-linux-gnu-gcc > > I'm unfamiliar with the schroot and makepkg commands, but > after a quick glance at your ArchWiki entry, maybe this > would serve as the script: > > ==> /usr/bin/chroot-gcc <== > #!/bin/sh > exec linux32 chroot /opt/arch32 $0 "$@" > # maybe: (not knowing anything about schroot...) > # exec schroot -p -- $0 "$@" > ============================================ > > By using $0 there, you can then symlink it to whatever > executables that you'd like to chroot, e.g.: > > ln -s chroot-gcc /usr/bin/i686-pc-linux-gnu-gcc-4.6.0 > ln -s chroot-gcc /usr/bin/i686-pc-linux-gnu-gcc > > Depending on how you (or Arch) set up distcc, you might > have to make a second set of symlinks in some directory akin > to: > > /usr/lib/distcc/bin/ > > (See the 'INSTALLING DISTCC' and 'MASQUERADING' sections of > http://distcc.googlecode.com/svn/trunk/doc/web/man/distcc_1.html#TOC_10 > ) > > e.g. > > ln -s ../../../bin/distcc > /usr/lib/distcc/i686-pc-linux-gnu-gcc > > -- Best, > Ben > __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc