[distcc] Distcc RH compilers (was: Re: distcc RPM packages for RH62, RH73, RH80 and RH9)

Dag Wieers dag at wieers.com
Mon May 5 10:19:44 GMT 2003


On Mon, 5 May 2003, Martin Pool wrote:

> On  4 May 2003, Dag Wieers <dag at wieers.com> wrote:
> > Hi Martin,
> > 
> > I'm building distcc for several RH distributions, you can find these 
> > packages at:
> > 
> > 	http://dag.wieers.com/packages/distcc/
> > 
> > Or use apt as described on:
> > 
> > 	http://dag.wieers.com/apt/
> 
> That's great.
> 
> Perhaps you could collaborate with other people on this list
> interested in packaging?

I'm interested in discussing the various packaging decisions (I have only 
1 package since the size is fairly small and I don't enable distccd 
automatically so if you want to enable distccd you still have to do 
service distccd start (or enable it witch chkconfig).

You can take a look at the SPEC file:

	http://dag.wieers.com/packages/distcc/distcc.spec


I wasn't planning on subscribing to the list, but since I have problems 
with distcc I might as well ;)

I have some problems building some of my packages using distcc. It seems 
that linking is done on a remote host for some reason. Disabling distcc 
for these packages work. If I have more of these problems, I'm going to 
do a full bugreport.

I also have a problem with building Mozilla (as it doesn't seem to use 
ccache and has a hardcoded -j1 for make). And since it takes more than 
2h45 to build Mozilla on a single machine....


> > I'm not sure what I would need for that, I read only the compiler was 
> > sufficient, but what exactly of the compiler is needed ? And how would I 
> > address the compiler best ? (What name should these compilers have
> > ?)
> 
> You need the compiler front end (e.g. "/usr/bin/gcc"), the compiler
> itself (e.g. /usr/lib/gcc-lib/i386-linux/3.2.3/cc1), and the spec and
> configuration files that gcc uses.  I'm not sure exactly which ones
> are needed.  Running 'gcc -v' and similar commands should show you.
> 
> I suppose they should be named something like
> 
>   ia64-unknown-linxux-gcc-3.2

The problem with this is probably that I cannot use the compilers current 
name and that might lead to other problems while building. I guess I have 
to extend the build-process with a specific gcc (and maybe c++) version 
for each distribution.

I'll let you know if I get there ;) 
It will probably be "distcc-compilers-redhat-0.1-0.dag.rh90.i386.rpm" 
or something.

	[root at lisse dar]# for dist in rh62 rh73 rh80 rh90; do echo "$dist"; chroot $dist rpm -ql gcc | grep cc1; done
	rh62
	rh73
	/usr/lib/gcc-lib/i386-redhat-linux/2.96/cc1
	rh80
	/usr/lib/gcc-lib/i386-redhat-linux/3.2/cc1
	rh90
	/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/cc1

I guess the name will be of the format:

	i386-redhat-linux-gcc-3.2.2

And the package has to link all these combinations to distcc (and ccache 
if ccache is used on the remote systems).


> > Especially the fact that the compiler needs glibc will probably cause me 
> > to package glibc too for each of these distros ?
> 
> That should not be necessary.
> 
> I was recently building a gcc cross compiler, and it does seem to need
> the target's glibc to build correctly.  However, I think that once the
> compiler is built you ought to be able to leave the libraries and
> headers out.

Well, I wasn't even planning to build these compilers myself. Just copying 
them from the various packages (rpm2cpio comes to mind). But since ldd 
reports they are linked to glibc and I fear that glibc might not be that 
backward compatible ?

I don't want to compile these compilers myself since Red Hat often patches 
these compilers and I'd like these to be the same as Red Hat's. Any 
possible variation could possibly scare the hell out of me while
debugging ;p

Thanks again !
--   dag wieers,  dag at wieers.com,  http://dag.wieers.com/   --
«Any errors in spelling, tact or fact are transmission errors»



More information about the distcc mailing list