* [gentoo-dev] Patch for absolute minimal GCC for distcc environment
@ 2005-04-03 1:56 Andrew de Quincey
2005-04-03 2:10 ` Andrew Gaffney
0 siblings, 1 reply; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 1:56 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 967 bytes --]
Hi, I hope this is the correct place to send this.
I have setup distcc in my network. Most of the hosts are i686, but one of them
is x86_64. I wish to distribute tasks to the i686 machines from the x86_64
machine. This involves installing a cross compiler on the i686 machines for
x86_64 tasks. Crossdev is overkill for this - I don't actually _need_ glibc
and the like on the client machines for a simple distcc environment. It
really adds to the upgrade time when emerge sync; emerge worlding.
The attached patch makes gcc *only* generate the compilers - no libstdcc++, no
libgcc, nothing else - this is all you need for distcc. Likewise, compiling
gcc with this patch needs only binutils - no linux-headers, and no glibc.
I was considering patching the gcc ebuild to add a new option - e.g. "minimal"
to apply this patch - but I've no idea if you would be interested in this
feature. Please let me know if you are, and I'll develop it further if so.
[-- Attachment #2: gcc-3.4.3-nolibgcc.patch --]
[-- Type: text/x-diff, Size: 4434 bytes --]
--- gcc/mklibgcc.in~ 2005-04-03 01:10:15.000000000 +0100
+++ gcc/mklibgcc.in 2005-04-03 01:14:39.000000000 +0100
@@ -623,105 +623,7 @@
done
echo ""
-echo "all: $all"
+echo "all:"
echo ""
-echo "install: $all"
-for ml in $MULTILIBS; do
- dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
- flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
- if [ $dir != . ]; then
- ldir='$(DESTDIR)$(libsubdir)'/$dir
- echo " if [ -d $ldir ]; then true; else $mkinstalldirs $ldir; chmod a+rx $ldir; fi;"
- else
- ldir='$(DESTDIR)$(libsubdir)'
- fi
- echo ' $(INSTALL_DATA)' ${dir}/libgcc.a ${ldir}/
- echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc.a
- echo ' $(INSTALL_DATA)' ${dir}/libgcov.a ${ldir}/
- echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcov.a
-
- if [ "$SHLIB_LINK" ]; then
- echo ' $(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
- echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
-
- if [ -z "$SHLIB_MULTILIB" ]; then
- if [ "$dir" = . ]; then
- shlib_base_name=libgcc_s
- shlibunwind_base_name=libunwind
- else
- shlib_base_name=libgcc_s_`echo $dir | sed s,/,_,g`
- shlibunwind_base_name=libunwind_`echo $dir | sed s,/,_,g`
- fi
- shlib_so_name="$shlib_base_name"
- shlibunwind_so_name="$shlibunwind_base_name"
- shlib_dir=
- shlib_slibdir_qual=
- if [ -n "$MULTILIB_OSDIRNAMES" ]; then
- gcc_multilib_dir=`./xgcc -B./ $flags --print-multi-directory`
- os_multilib_dir=`./xgcc -B./ $flags --print-multi-os-directory`
- if [ "$dir" != . ]; then
- shlib_dir="$dir"/
- fi
- gcc_multilib_sup=`echo $gcc_multilib_dir | sed 's~^[^/]*/~~'`
- os_multilib_base=`echo $os_multilib_dir | sed -n "s~/${gcc_multilib_sup}\$~~p"`
- if [ -z "$os_multilib_base" ]; then
- shlib_so_name=libgcc_s
- shlibunwind_so_name=libunwind
- if [ "$os_multilib_dir" != "." ]; then
- shlib_slibdir_qual="/$os_multilib_dir"
- fi
- else
- shlib_so_name=libgcc_s_`echo $gcc_multilib_sup | sed s,/,_,g`
- shlibunwind_so_name=libunwind_`echo $gcc_multilib_sup | sed s,/,_,g`
- shlib_slibdir_qual="/$os_multilib_base"
- fi
- fi
- echo " $SHLIB_INSTALL" \
- | sed -e "s%@shlib_base_name@%$shlib_base_name%g" \
- -e "s%@shlib_so_name@%$shlib_so_name%g" \
- -e "s%@shlib_dir@%$shlib_dir%g" \
- -e "s%@shlib_slibdir_qual@%$shlib_slibdir_qual%g"
- if [ "$LIBUNWIND" ]; then
- echo " $SHLIBUNWIND_INSTALL" \
- | sed -e "s%@shlib_base_name@%$shlibunwind_base_name%g" \
- -e "s%@shlib_so_name@%$shlibunwind_so_name%g" \
- -e "s%@shlib_dir@%$shlib_dir%g" \
- -e "s%@shlib_slibdir_qual@%$shlib_slibdir_qual%g"
- libunwinddir='$(DESTDIR)$(slibdir)$(shlib_slibdir_qual)/$(shlib_dir)'
- echo ' $(INSTALL_DATA)' ${dir}/libunwind.a ${libunwinddir}/
- echo ' $(RANLIB_FOR_TARGET)' ${libunwinddir}/libunwind.a
- fi
- elif [ "$SHLIB_MULTILIB" = "$dir" ]; then
- shlib_base_name="libgcc_s";
- echo " $SHLIB_INSTALL" \
- | sed -e "s%@shlib_base_name@%$shlib_base_name%g" \
- -e "s%@shlib_so_name@%$shlib_base_name%g" \
- -e "s%@shlib_dir@%%g" \
- -e "s%@shlib_slibdir_qual@%%g"
- if [ "$LIBUNWIND" ]; then
- echo " $SHLIBUNWIND_INSTALL" \
- | sed -e "s%@shlib_base_name@%$shlibunwind_base_name%g" \
- -e "s%@shlib_so_name@%$shlibunwind_base_name%g" \
- -e "s%@shlib_dir@%%g" \
- -e "s%@shlib_slibdir_qual@%%g"
- libunwinddir='$(DESTDIR)$(slibdir)'
- echo ' $(INSTALL_DATA)' ${dir}/libunwind.a ${libunwinddir}/
- echo ' $(RANLIB_FOR_TARGET)' ${libunwinddir}/libunwind.a
- fi
- fi
- fi
-done
-for f in $EXTRA_MULTILIB_PARTS; do
- for ml in $MULTILIBS; do
- dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
- if [ $dir != . ]; then
- out=${dir}/$f
- ldir='$(DESTDIR)$(libsubdir)'/$dir
- else
- out=$f
- ldir='$(DESTDIR)$(libsubdir)'
- fi
- echo ' $(INSTALL_DATA)' $out $ldir/
- done
-done
+echo "install:"
--- Makefile.in.old 2005-04-03 01:38:54.000000000 +0100
+++ Makefile.in 2005-04-03 01:36:57.000000000 +0100
@@ -616,7 +616,7 @@
# The target built for a native build.
.PHONY: all.normal
-all.normal: @all_build_modules@ all-host all-target
+all.normal: @all_build_modules@ all-host
.PHONY: all-host
all-host: maybe-all-gcc \
@@ -17390,7 +17390,7 @@
# Installation targets.
.PHONY: install uninstall
-install: installdirs install-host install-target
+install: installdirs install-host
.PHONY: install-host-nogcc
install-host-nogcc: \
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 1:56 [gentoo-dev] Patch for absolute minimal GCC for distcc environment Andrew de Quincey
@ 2005-04-03 2:10 ` Andrew Gaffney
2005-04-03 2:15 ` Andrew de Quincey
0 siblings, 1 reply; 12+ messages in thread
From: Andrew Gaffney @ 2005-04-03 2:10 UTC (permalink / raw
To: gentoo-dev
Andrew de Quincey wrote:
> Hi, I hope this is the correct place to send this.
>
> I have setup distcc in my network. Most of the hosts are i686, but one of them
> is x86_64. I wish to distribute tasks to the i686 machines from the x86_64
> machine. This involves installing a cross compiler on the i686 machines for
> x86_64 tasks. Crossdev is overkill for this - I don't actually _need_ glibc
> and the like on the client machines for a simple distcc environment. It
> really adds to the upgrade time when emerge sync; emerge worlding.
crossdev -s1 -t <x86_64 CHOST>
--
Andrew Gaffney http://dev.gentoo.org/~agaffney/
Gentoo Linux Developer Installer Project
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 2:10 ` Andrew Gaffney
@ 2005-04-03 2:15 ` Andrew de Quincey
2005-04-03 10:35 ` Stuart Longland
2005-04-03 10:39 ` Ioannis Aslanidis
0 siblings, 2 replies; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 2:15 UTC (permalink / raw
To: gentoo-dev; +Cc: Andrew Gaffney, gentoo-dev
On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> Andrew de Quincey wrote:
> > Hi, I hope this is the correct place to send this.
> >
> > I have setup distcc in my network. Most of the hosts are i686, but one of
> > them is x86_64. I wish to distribute tasks to the i686 machines from the
> > x86_64 machine. This involves installing a cross compiler on the i686
> > machines for x86_64 tasks. Crossdev is overkill for this - I don't
> > actually _need_ glibc and the like on the client machines for a simple
> > distcc environment. It really adds to the upgrade time when emerge sync;
> > emerge worlding.
>
> crossdev -s1 -t <x86_64 CHOST>
According to the docs, that doesn't compile a c++ compiler:
-s1, --stage1 Build a C compiler (no libc/C++)
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 2:15 ` Andrew de Quincey
@ 2005-04-03 10:35 ` Stuart Longland
2005-04-03 10:41 ` Stuart Longland
2005-04-03 12:18 ` Andrew de Quincey
2005-04-03 10:39 ` Ioannis Aslanidis
1 sibling, 2 replies; 12+ messages in thread
From: Stuart Longland @ 2005-04-03 10:35 UTC (permalink / raw
To: gentoo-dev; +Cc: gentoo-dev, Andrew Gaffney
[-- Attachment #1: Type: text/plain, Size: 1444 bytes --]
Andrew de Quincey wrote:
> On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
>
>>Andrew de Quincey wrote:
>>
>>>Hi, I hope this is the correct place to send this.
>>>
>>>I have setup distcc in my network. Most of the hosts are i686, but one of
>>>them is x86_64. I wish to distribute tasks to the i686 machines from the
>>>x86_64 machine. This involves installing a cross compiler on the i686
>>>machines for x86_64 tasks. Crossdev is overkill for this - I don't
>>>actually _need_ glibc and the like on the client machines for a simple
>>>distcc environment. It really adds to the upgrade time when emerge sync;
>>>emerge worlding.
>>
>>crossdev -s1 -t <x86_64 CHOST>
>
>
> According to the docs, that doesn't compile a c++ compiler:
>
> -s1, --stage1 Build a C compiler (no libc/C++)
And guess what... no libc... no c++. If you require a C++ compiler,
then might I suggest making a µClibc-based toolchain? µClibc is just a
little smaller than it's GNU cousin, and so shouldn't occupy much space.
--
+-------------------------------------------------------------+
| Stuart Longland -oOo- http://stuartl.longlandclan.hopto.org |
| Atomic Linux Project -oOo- http://atomicl.berlios.de |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| I haven't lost my mind - it's backed up on a tape somewhere |
+-------------------------------------------------------------+
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 2:15 ` Andrew de Quincey
2005-04-03 10:35 ` Stuart Longland
@ 2005-04-03 10:39 ` Ioannis Aslanidis
[not found] ` <200504031320.11013.adq@lidskialf.net>
1 sibling, 1 reply; 12+ messages in thread
From: Ioannis Aslanidis @ 2005-04-03 10:39 UTC (permalink / raw
To: gentoo-dev
You do not need to use a cross compiler. The i686-pc-linux-gnu is
included in the toolchain. What you will have to do is to correct all
the i686 machines that erroneously call gcc instead of
i686-pc-linux-gcc. You will also have to append -m32 to your CFLAGS as
a workaround to some bug. Finally you will see that there are several
packages that will not compile with distcc if you have an amd64
compiling too.
On Apr 3, 2005 4:15 AM, Andrew de Quincey <adq_dvb@lidskialf.net> wrote:
> On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> > Andrew de Quincey wrote:
> > > Hi, I hope this is the correct place to send this.
> > >
> > > I have setup distcc in my network. Most of the hosts are i686, but one of
> > > them is x86_64. I wish to distribute tasks to the i686 machines from the
> > > x86_64 machine. This involves installing a cross compiler on the i686
> > > machines for x86_64 tasks. Crossdev is overkill for this - I don't
> > > actually _need_ glibc and the like on the client machines for a simple
> > > distcc environment. It really adds to the upgrade time when emerge sync;
> > > emerge worlding.
> >
> > crossdev -s1 -t <x86_64 CHOST>
>
> According to the docs, that doesn't compile a c++ compiler:
>
> -s1, --stage1 Build a C compiler (no libc/C++)
> --
> gentoo-dev@gentoo.org mailing list
>
>
--
Ioannis Aslanidis
<deathwing00[at]gentoo.org> 0xB9B11F4E
<deathwing00[at]forums.gentoo.org> 0xC2539DA3
<aioannis[at]tinet.org> 0xF202D067
<dwcommander[at]users.sourceforge.net>
Hellenic Gentoo GNU/Linux project manager (http://hellenicgentoo.sf.net)
FIRECOPS++ project manager (http://firecops.sf.net)
Digger Realoaded (http://digger-reloaded.sf.net)
Gentoo Forums Global Moderator (http://forums.gentoo.org)
Computer Engineering student at Universitat Rovira i Virgili
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 10:35 ` Stuart Longland
@ 2005-04-03 10:41 ` Stuart Longland
2005-04-03 13:03 ` Paul de Vrieze
2005-04-03 12:18 ` Andrew de Quincey
1 sibling, 1 reply; 12+ messages in thread
From: Stuart Longland @ 2005-04-03 10:41 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 711 bytes --]
Stuart Longland wrote:
> [some stuff here]
Apologies for the double post... me and my fixation on Reply-to-All.
(been posting a bit on linux-mips mailing list, 10 points to the first
person who works out they don't set Reply-To on posts. :-D)
Damn I wish this feature was configurable, per user, rather than per
list. ;-)
--
+-------------------------------------------------------------+
| Stuart Longland -oOo- http://stuartl.longlandclan.hopto.org |
| Atomic Linux Project -oOo- http://atomicl.berlios.de |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| I haven't lost my mind - it's backed up on a tape somewhere |
+-------------------------------------------------------------+
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 10:35 ` Stuart Longland
2005-04-03 10:41 ` Stuart Longland
@ 2005-04-03 12:18 ` Andrew de Quincey
2005-04-03 12:21 ` Andrew de Quincey
1 sibling, 1 reply; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 12:18 UTC (permalink / raw
To: gentoo-dev; +Cc: Stuart Longland, Andrew Gaffney
[-- Attachment #1: Type: text/plain, Size: 1616 bytes --]
On Sunday 03 April 2005 11:35, Stuart Longland wrote:
> Andrew de Quincey wrote:
> > On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> >>Andrew de Quincey wrote:
> >>>Hi, I hope this is the correct place to send this.
> >>>
> >>>I have setup distcc in my network. Most of the hosts are i686, but one
> >>> of them is x86_64. I wish to distribute tasks to the i686 machines from
> >>> the x86_64 machine. This involves installing a cross compiler on the
> >>> i686 machines for x86_64 tasks. Crossdev is overkill for this - I don't
> >>> actually _need_ glibc and the like on the client machines for a simple
> >>> distcc environment. It really adds to the upgrade time when emerge
> >>> sync; emerge worlding.
> >>
> >>crossdev -s1 -t <x86_64 CHOST>
> >
> > According to the docs, that doesn't compile a c++ compiler:
> >
> > -s1, --stage1 Build a C compiler (no libc/C++)
>
> And guess what... no libc... no c++. If you require a C++ compiler,
> then might I suggest making a µClibc-based toolchain? µClibc is just a
> little smaller than it's GNU cousin, and so shouldn't occupy much space.
I have it running right now with *no* libc and g++. There is no reason to need
a libc, apart from the fact that you cannot confiure g++ to build without
patching it. I have just distcc compiled kdlibs with this configuration.
Have you actually tried the patch? This is precisely what it does - g++ with
no libc.
The files installed with the patch are in the attached file. I could perhaps
trim it more - there is no need for the include files either with distcc.
[-- Attachment #2: minigcc.txt --]
[-- Type: text/plain, Size: 4836 bytes --]
/etc
/etc/env.d
/etc/env.d/gcc
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110-hardenednopie
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110-hardenednossp
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110-hardened
/lib
/usr
/usr/bin
/usr/lib
/usr/lib/gcc
/usr/lib/gcc/x86_64-pc-linux-gnu
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/32
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtbeginS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtbeginT.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/vanilla.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/gsyslimits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/mmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/README
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/varargs.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/unwind.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/float.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/iso646.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/xmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/stdarg.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/stddef.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/pmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/emmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/limits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/stdbool.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/mkheaders.conf
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtbegin.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/hardened.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/hardenednopie.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/mmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/README
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/varargs.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/unwind.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/float.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/syslimits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/iso646.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/xmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/stdarg.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/stddef.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/pmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/emmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/limits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/stdbool.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/hardenednossp.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtendS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtend.o
/usr/x86_64-pc-linux-gnu
/usr/x86_64-pc-linux-gnu/lib
/usr/x86_64-pc-linux-gnu/lib/x86 -> ../../i686-pc-linux-gnu/lib 1112489024
/usr/x86_64-pc-linux-gnu/gcc-bin
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gcov
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-c++
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-g++
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-cpp
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gcc
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gccbug
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gcc-3.4.3-20050110 -> x86_64-pc-linux-gnu-gcc 1112489024
/usr/share
/usr/share/gcc-data
/usr/share/gcc-data/x86_64-pc-linux-gnu
/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.3-20050110
/usr/libexec
/usr/libexec/gcc
/usr/libexec/gcc/x86_64-pc-linux-gnu
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/cc1
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/fixincl
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/mkheaders
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/fixinc.sh
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/collect2
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/cc1plus
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 12:18 ` Andrew de Quincey
@ 2005-04-03 12:21 ` Andrew de Quincey
2005-04-03 14:21 ` Andrew de Quincey
0 siblings, 1 reply; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 12:21 UTC (permalink / raw
To: gentoo-dev; +Cc: Stuart Longland, Andrew Gaffney
On Sunday 03 April 2005 13:18, Andrew de Quincey wrote:
> On Sunday 03 April 2005 11:35, Stuart Longland wrote:
> > Andrew de Quincey wrote:
> > > On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> > >>Andrew de Quincey wrote:
> > >>>Hi, I hope this is the correct place to send this.
> > >>>
> > >>>I have setup distcc in my network. Most of the hosts are i686, but one
> > >>> of them is x86_64. I wish to distribute tasks to the i686 machines
> > >>> from the x86_64 machine. This involves installing a cross compiler on
> > >>> the i686 machines for x86_64 tasks. Crossdev is overkill for this - I
> > >>> don't actually _need_ glibc and the like on the client machines for a
> > >>> simple distcc environment. It really adds to the upgrade time when
> > >>> emerge sync; emerge worlding.
> > >>
> > >>crossdev -s1 -t <x86_64 CHOST>
> > >
> > > According to the docs, that doesn't compile a c++ compiler:
> > >
> > > -s1, --stage1 Build a C compiler (no libc/C++)
> >
> > And guess what... no libc... no c++. If you require a C++ compiler,
> > then might I suggest making a µClibc-based toolchain? µClibc is just a
> > little smaller than it's GNU cousin, and so shouldn't occupy much space.
>
> I have it running right now with *no* libc and g++. There is no reason to
> need a libc, apart from the fact that you cannot confiure g++ to build
> without patching it. I have just distcc compiled kdlibs with this
> configuration.
>
> Have you actually tried the patch? This is precisely what it does - g++
> with no libc.
>
> The files installed with the patch are in the attached file. I could
> perhaps trim it more - there is no need for the include files either with
> distcc.
Oh - the only cross packages I have installed for a fully working distcc are:
cross-x86_64-pc-linux-gnu/binutils *
cross-x86_64-pc-linux-gnu/gcc *
Where gcc contains just the files I listed previously.
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
[not found] ` <200504031320.11013.adq@lidskialf.net>
@ 2005-04-03 12:24 ` Andrew de Quincey
0 siblings, 0 replies; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 12:24 UTC (permalink / raw
To: gentoo-dev; +Cc: Ioannis Aslanidis
On Sunday 03 April 2005 13:20, Andrew de Quincey wrote:
> On Sunday 03 April 2005 11:39, Ioannis Aslanidis wrote:
> > You do not need to use a cross compiler. The i686-pc-linux-gnu is
> > included in the toolchain. What you will have to do is to correct all
> > the i686 machines that erroneously call gcc instead of
> > i686-pc-linux-gcc. You will also have to append -m32 to your CFLAGS as
> > a workaround to some bug. Finally you will see that there are several
> > packages that will not compile with distcc if you have an amd64
> > compiling too.
>
> You have what I want to do the wrong way round. I know I can compile 32 bit
> stuff on a 64 bit machine as the compiler has 32 bit support.
>
> I want to compile 64 bit stuff on a 32 bit machine. And in fact, I have it
> working now.
Oh - I was also worried about the 64 bit compiler having issues as you
mention. So I cross compiled an i686 gcc with my patch onto my amd machine as
well.. it seems to work ok.
cross-i686-pc-linux-gnu/binutils *
cross-i686-pc-linux-gnu/gcc *
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 10:41 ` Stuart Longland
@ 2005-04-03 13:03 ` Paul de Vrieze
2005-04-04 0:28 ` Stuart Longland
0 siblings, 1 reply; 12+ messages in thread
From: Paul de Vrieze @ 2005-04-03 13:03 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 585 bytes --]
On Sunday 03 April 2005 12:41, Stuart Longland wrote:
> Stuart Longland wrote:
> > [some stuff here]
>
> Apologies for the double post... me and my fixation on Reply-to-All.
> (been posting a bit on linux-mips mailing list, 10 points to the first
> person who works out they don't set Reply-To on posts. :-D)
> Damn I wish this feature was configurable, per user, rather than per
> list. ;-)
Why not use procmail+formail to add the appropriate header(s) yourself.
Paul
--
Paul de Vrieze
Gentoo Developer
Mail: pauldv@gentoo.org
Homepage: http://www.devrieze.net
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 12:21 ` Andrew de Quincey
@ 2005-04-03 14:21 ` Andrew de Quincey
0 siblings, 0 replies; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 14:21 UTC (permalink / raw
To: gentoo-dev; +Cc: Stuart Longland, Andrew Gaffney
On Sunday 03 April 2005 13:21, Andrew de Quincey wrote:
> On Sunday 03 April 2005 13:18, Andrew de Quincey wrote:
> > On Sunday 03 April 2005 11:35, Stuart Longland wrote:
> > > Andrew de Quincey wrote:
> > > > On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> > > >>Andrew de Quincey wrote:
> > > >>>Hi, I hope this is the correct place to send this.
> > > >>>
> > > >>>I have setup distcc in my network. Most of the hosts are i686, but
> > > >>> one of them is x86_64. I wish to distribute tasks to the i686
> > > >>> machines from the x86_64 machine. This involves installing a cross
> > > >>> compiler on the i686 machines for x86_64 tasks. Crossdev is
> > > >>> overkill for this - I don't actually _need_ glibc and the like on
> > > >>> the client machines for a simple distcc environment. It really adds
> > > >>> to the upgrade time when emerge sync; emerge worlding.
> > > >>
> > > >>crossdev -s1 -t <x86_64 CHOST>
> > > >
> > > > According to the docs, that doesn't compile a c++ compiler:
> > > >
> > > > -s1, --stage1 Build a C compiler (no libc/C++)
> > >
> > > And guess what... no libc... no c++.
The dependency on libc is not in the c++ compiler. This is what led me to
realise I could do this. The dependency on libc comes from when it builds the
target libraries - libgcc & libstdc++ and the like.
First of all, gcc builds all the compilers - C and C++. After its done that,
it compiles libgcc etc - and as I said earlier, this is what needs a libc for
the target machine.
My patch simply disables the compilation/installation of the target machine's
libraries. All you end up with are the binaries of the cross compilers; which
is all you really want for distcc.
Have you had a chance to try it out yet? Lemme know if you like it, and I'll
see if I can clean it up more.
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
2005-04-03 13:03 ` Paul de Vrieze
@ 2005-04-04 0:28 ` Stuart Longland
0 siblings, 0 replies; 12+ messages in thread
From: Stuart Longland @ 2005-04-04 0:28 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 825 bytes --]
Paul de Vrieze wrote:
> Why not use procmail+formail to add the appropriate header(s) yourself.
>
> Paul
>
Laziness on my part. Also, I've got into the habit of clicking
Reply-to-All. I could do something with maildrop & some perl magic, but
there's no need.
(We hit the same problem on the Humbug[1] lists when they switched to
MailMan -- previously Reply-To was set to the list, now it's left alone)
--
+-------------------------------------------------------------+
| Stuart Longland -oOo- http://stuartl.longlandclan.hopto.org |
| Atomic Linux Project -oOo- http://atomicl.berlios.de |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| I haven't lost my mind - it's backed up on a tape somewhere |
+-------------------------------------------------------------+
1. http://www.humbug.org.au
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-04-04 0:29 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-03 1:56 [gentoo-dev] Patch for absolute minimal GCC for distcc environment Andrew de Quincey
2005-04-03 2:10 ` Andrew Gaffney
2005-04-03 2:15 ` Andrew de Quincey
2005-04-03 10:35 ` Stuart Longland
2005-04-03 10:41 ` Stuart Longland
2005-04-03 13:03 ` Paul de Vrieze
2005-04-04 0:28 ` Stuart Longland
2005-04-03 12:18 ` Andrew de Quincey
2005-04-03 12:21 ` Andrew de Quincey
2005-04-03 14:21 ` Andrew de Quincey
2005-04-03 10:39 ` Ioannis Aslanidis
[not found] ` <200504031320.11013.adq@lidskialf.net>
2005-04-03 12:24 ` Andrew de Quincey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox