You are not logged in.

#1 2011-06-24 00:14:34

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,595
Website

distcc inside a chroot to another machine inside a chroot

Is this possible?  I have two x86_64 boxes both of which have 32-bit chroots for compiling.  I'm trying to get distcc to work INSIDE the chroots such that they can share processors.  I'm failing :)

I have distccd running on each and makepkg.conf properly configured.  When I attempt to build, I get some really odd errors:

  CHK     include/generated/utsrelease.h
  HOSTCC  scripts/pnmtologo
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/bin2c
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/empty.o
  CALL    scripts/checksyscalls.sh
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
scripts/mod/sumversion.c: In function 'parse_source_files':
scripts/mod/sumversion.c:344:423: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:460: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:519: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:561: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:692: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:729: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:848: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:890: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:1570: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:1612: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:1736: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:344:1773: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:409: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:446: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:505: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:545: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:672: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:709: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:826: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:866: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:1538: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:1578: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:1698: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:358:1735: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c: In function 'get_src_version':
scripts/mod/sumversion.c:442:90: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:442:126: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c: In function 'strip_rcs_crap':
scripts/mod/sumversion.c:486:442: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:482: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:544: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:588: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:729: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:769: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:896: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:940: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:1643: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:1687: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:1818: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
scripts/mod/sumversion.c:486:1858: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  HOSTLD  scripts/mod/modpost
scripts/mod/sumversion.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
distcc[4972] ERROR: compile (null) on localhost failed
make[2]: *** [scripts/mod/modpost] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#2 2011-06-25 17:57:46

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,595
Website

Re: distcc inside a chroot to another machine inside a chroot

Here what I'm doing now that seems to be working, but it is rather complicated:

*I have 32-bit chroots on two x86_64 machines (paths mounted, just not chrooted into them).
*The distccd daemon is running on both x86_64 machines from the normal x86_64 root, and I need to stop it to make this work.
*I stop distccd on both machines (from normal x86_64 root)
*I start distccd inside the 32-bit chroot on both machines:
$ sudo chroot /bin/bash /opt/arch32
(once inside I start the daemon then exit the chroot)

Finally, outside of the chroots, I am able to use the schroot command to start the 32-bit builds and it works with distccd!

$ schroot -p -- makepkg -src

Is there an easier way, one that wouldn't involve the daemon stopping on the main environment (x86_64) and starting it up inside the chroots (i686) of both machines?

When I try it without those steps that I have outlined above, it does not work.

*I have 32-bit chroots on two x86_64 machines (paths mounted, just not chrooted into them).
*The distccd daemon is running on both x86_64 machines from the normal x86_64 root.

Note that if I run the makepkg wrapper script at this point, I will successfully compile in the x86_64 using distcc.

*Outside of the chroots, I run the build script from the schroot command:

$ schroot -p -- makepkg -src

It build fails in many errors when the script hits a make step.  In this case it is "make prepare" as I attempt to build a kernel.  All 252 lines of the resulting errors are on pastebin to keep this post as crisp as I can smile

http://pastebin.com/bRVxXYEu


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

Board footer

Powered by FluxBB