GCC Compile Farm Project
Contents
How to Get Involved ?
If you are a GCC developer and want access to the CompileFarm for GCC development and testing, or if you are a free software developer wishing to set up automated testing of a piece of free software with the current GCC latest release or development version (preferably free software with a test suite), please send
your ssh public key (HOME/.ssh/authorized_keys format) in attachment and not inline in the email and
AND your prefered UNIX login (see below User Accounts for already taken logins)
to laurent at guerby dot net.
Mailing list, SVN for scripts and ticket system are hosted on gna.org:
https://gna.org/projects/gcc-cfarm/
Information and tips on using the farm are given below. Compile Farm user projects should have an entry below. Graphics about the farm load are available here:
http://gcc12.fsffrance.org/munin/
User Accounts
- guerby
- ian
- fxcoudert
- olly
- spop
- manu
- mstein
- bagnara
- hp
- jerryd
- manuel
- geoffk
- amylaar
- david
- rask
- pinskia
- revitale
- tschwinge
- segher
- baldrick
- ebotcazou
- henryn
- tromey
- ghazi
- guilt
- bozo
- joel
- younes
- kuba
- nightstrike
- apop
- rpeckhoff
- ktietz
- sam
- rwild
Projects Ideas
FXCoudert suggested install of non Linux kernel based OS like BSD, EmmanuelDreyfus will help setting up NetBSD.
ChristianJoensson could up setting up sparc-linux cross compiler
TomTromey proposed GCJ testing, and the Java free software often has testsuites which are useful for GCC testing (may be another set of machines will be used for this project though). Also, setting up BuildBot would be very handy. http://buildbot.sourceforge.net/
x86-solaris has been discussed, and FXCoudert does volunteer for installation of this and work to maintain the scripts on that; we'll need formal approval from FSF France.
- Several developers (3) have expressed interest in doing normal GCC development on the machines instead or in addition of their own.
AndrewPinski suggested setting up Openbench http://www.exactcode.de/oss/openbench/
Currently Running
Port GCC to Intel's 16-bit architecture.
RaskIngemannLambertsen is trying to port GCC to the Intel 8086 CPU family. Nodes gcc01, gcc03, gcc04, gcc07, gcc08 and gcc09 are used for testing patches that could affect existing targets. Tests are run at low priority and use of the nodes is sporadic. The Intel 8086 CPU has both 8-bit registers and 16-bit registers. The work on getting GCC to fully support such CPUs includes:
- Fixing the assumption in subreg_get_info() (rtlanal.c) that if a value is stored in multiple hard register, then those hard register all have the same size. To fix that, subreg_get_info() will be rewritten. The targets that are the trickiest to get right are i?86-*-* with -m128bit-long-double and powerpc-unknown-eabispe. Note: This part has been postponed because the new lower-subreg pass reduces the problem and I've worked around the cases that subreg_get_info() can't currently handle.
- In reload.c, fixing find_valid_class() and callers having the same problem as subreg_get_info().
- Fixing unspecified reload bugs as they turn up.
General bug fixes and enhancements are also tested from time to time.
Maintaining the GNU/Hurd tool chain
ThomasSchwinge is using node gcc12 for working on maintaining the GNU/Hurd tool chain. This means building cross binutils, cross GCC, cross-compiling glibc and suchlike. Working with various versions of the involved programs means using a lot of disk space, however feel free to request a clean up if you need space on the machine's storage.
Automatic bootstrap and regression testing
If you have a GCC Compile Farm account, you can automatically test your GCC patches by copying them to /n/13/spop/patches/ that has the correct rights set. The patch can contain several markers that instruct the tester where to send the results by email, what branch and revision of GCC to use, and the configure and make flags. One can use the prepare_patch.sh script for filling up all this optional information, and for selecting the defaults for each case. The last step before copying the patch to the tester is to gpg sign it.
An example of a patch header for the HEAD version of autovect-branch, configuring only c, c++, and fortran, using vectorization during bootstrap, and only checking the vectorization specific tests:
email:foo@bar.com branch:autovect-branch revision:HEAD configure:--enable-languages=c,c++,fortran make:CFLAGS="-g" BOOT_CFLAGS="-O2 -g -msse2 -ftree-vectorize" check:RUNTESTFLAGS=vect.exp
Autobuilds for coLinux
HenryNe is using node gcc11 for building coLinux from source. It uses cross target mingw32 and runs ons per day with low priority.
CGNU Project
rpeckhoff is documenting the operation of the current gcc build system on nodes gcc11-gcc14. He is using graphviz, Doxygen, and his own scripts to help discover and document source interdependencies. His project's progress is at http://re.mpqx.biz.
All languages testing
LaurentGuerby is running bootstrap and check in loop with languages all,ada on active branches and report to gcc-testresult
- gcc04,15 for x86_64-linux
- gcc01,02,03 for i686-linux
Developing the Win64 port of GCC
http://mingw-w64.sf.net/ is committed to creating a viable platform for using gcc on windows natively. We run build and testsuites constantly, and foster development and porting of mainstream applications such as Firefox (http://www.mozilla.org) and VLC (http://www.videolan.org) to the Win64 platform.
your project here
your description here
Current Status
As of 20080415, on all CFARM machines:
GCC release source and misc tarballs are under /opt/cfarm/ftp/ (writable for everyone)
GCC releases for the default languages plus Ada are available under /opt/cfarm/release/X.Y.Z/bin (to be put in your PATH, 4.2.3 and 4.3.0 are available on all CFARM machines)
To build trunk you have to use in configure: --with-mpfr=/opt/cfarm/mpfr-2.3.1/ (2.3.0 is also available)
- The Mail command works on all cfarm machines
/n/NN points to gccNN:/home either by NFS or via symlinks within a datacenter, so please use /n/NN/USER/... for PATH and prefix, eg {{{/n/12/guerby/my-install} so that your build will work from most machines
/opt/cfarm/log/ contains minute by minute dump of ps faux, uptime and various statistics, you can use it to find out what went wrong
Datacenter http://jexiste.fr , static public IP, 100 Mbit/s up/down, debian etch amd64
name disk CPU Notes gcc11 580G 2x2x2.0 GHz Opteron 2212 / 4GB RAM / Dell SC1345 gcc12 580G 2x2x2.0 GHz Opteron 2212 / 4GB RAM / Dell SC1345
Datacenter http://www.skyrock.com/ , static public IP, 1000 Mbit/s up/down, debian etch amd64
gcc13 580G 2x2x2.0 GHz Opteron 2212 / 4GB RAM / Dell SC1345 gcc14 750G 2x4x3.0 GHz Xeon X5450 / 16GB RAM / Dell Poweredge 1950
Datacenter http://www.inria.fr/saclay/ , static public IP , ssh only, debian etch amd64
gcc15 160G 1x2x2.8 GHz Xeon dual core "paxville" / 1 GB RAM / Dell SC1425 gcc16 580G 2x4x2.2 GHz Opteron 8354 "Barcelona B3" / 16 GB RAM gcc17 580G 2x4x2.2 GHz Opteron 8354 "Barcelona B3" / 16 GB RAM
Datacenter http://www.macaq.org/ , DSL dynamic IP, 10 Mbit/s down, 1 MBit/s up, ubuntu breezy 5.10
gcc01 16G 2x1.00 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550 + additional 32 GB disk gcc02 16G 2x1.00 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550 gcc03 16G 2x1.26 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550 gcc05 16G 2x1.00 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550 gcc06 16G 2x1.00 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550 gcc07 32G 2X1.26 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550 gcc09 32G 2x0.93 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550
Datacenter http://www.guerby.org/ , DSL dynamic IP, 10 Mbit/s down, 1 MBit/s up, debian etch amd64
gcc04 500G 1x4x2.2 GHz Phenom 9500 / 4GB RAM / home made
Currently offline
gcc08 32G 2x1.26 Ghz Pentium 3 / 1 GB RAM / Dell Poweredge 1550
News
- 20080509 installed gcc16 and gcc17
- 20080426 upgrated gcc04 to ubuntu 8.04 LTS unfortunately not stable
- 20080415 installed c++ testsuite needed locales on all machines
- 20080414 macaq.org machines are back online but gcc03
- 20080411 skyrock.com network down for a few hours, no machine reboot
- 20080321 macaq.org machines unreachable
20080314 gcc15 is online in http://www.inria.fr/saclay/ datacenter
- 20080313 gcc14 is online in skyrock.com datacenter
- 20080307 gcc04 is online for tests, AMD Phenom quad core based machine
- 20080229 gcc11 /home disk has been replaced by a brand new disk
- 20080223 gcc13 Mail now works.
20080222 gcc13 back online in new http://www.skyrock.com/ datacenter
- 20080220 gcc11 offline for disk testing and FS rebuild
- 20080213 gcc08 offline for two monthes, Mail now works on all CFARM machines.
20080204 CFARM reaches 25 users (26 with LaurentGuerby)
20080122 Created GNA project and mailing list https://gna.org/projects/gcc-cfarm/
- 20080121 gcc11 up again after FS rebuild, gcc13 disk failure analysis started
20080116 gcc01..7+9 up are up again at http://www.macaq.org/ datacenter (email not working though)
- 20071206 gcc11 and gcc13 down, gcc13 disk dead
- 20071204 Everything is back to normal, Mail is working.
- 20071202 Mail is still not working and gcc11 and 13 crashed, stay tuned
- 20071125 gcc11/12/13 moved to new datacenter, downtime 1700 UTC to 2000 UTC
- 20070722 gcc11/12/13 moved to datacenter, gcc01..09 stopped, gcc08 online at a temporary location
- 20070624 gcc11/12/13 installed
- 20070519 GCC 4.2.0 installed in /n/b01/guerby/release/4.2.0/bin
- 20070222 8 GCC release installs (all languages, Ada included) are available in /n/b01/guerby/release/X.Y.Z/bin
- 20061113 svn 1.4.2 is available in /opt/cfarm/subversion-1.4.2/bin (shaves 200MB from a checkout/update)
- 20061101 Packages so that 4.3 bootstraps (thanks manuel)
- 20060122 Automatic regression tester (a build and check for c,ada for each revisions on trunk)
- 20060121 Ada regression hunt 14 build and check on CFARM
- 20051215 Uniform NFS mounts between machines
- 20051214 Created a Welcome guide for CFARM users
- 20051213 8 machines up in biprocessor, all should reboot without console intervention as long as no extended power cut
- 20051213 1 machine has a dead disk
- 20051212 6 machines setup with tools and user accounts, updated to ubuntu 5.10
20051210 First full bootstrap+test cycle, see http://gcc.gnu.org/ml/gcc-testresults/2005-12/msg00569.html
- 20051208 jexiste.org staff has now put the machines online (one machine has a disk problem, all are recognizing only one CPU)
- 20051201 The machines are now in their new datacenter (telecity, Paris, France) but not online yet
- 20050830 The machines are now in their datacenter (redbus, Paris, France) but not online yet
20050815 Ok for Solaris-x86 install, waiting on FXCoudert for install help
20050815 Following the directions of EmmanuelDreyfus, LaurentGuerby has installed NetBSD 2.0.2 on one of the machines.
20050807 LaurentGuerby has installed ubuntu 5.04 on the 9 machines
History and Sponsors
In August 2005 FSF France received in donation from BNP Paribas 9 Dell poweredge 1550 bi processor 1U machines with one SCSI disk and 1GB RAM, processors total 19.5 GHz distributed as follows:
- 3 bi pentium III 1.25 GHz (two 36 GB disks, one 18 GB)
- 5 bi pentium III 1.00 GHz (18 GB disk each)
- 1 bi pentium III 0.933 GHz (36 GB disk but disk dead 20051213)
The machines are about four years old, so of course there may be hardware problems in the coming years, but we might also be able to get cheap parts on the used market (or from other donations).
Hosting for those 9 1U machines is donated by the http://jexiste.org/ staff in a Paris datacenter (provided we maintain low use of external bandwidth).
In June 2007 FSF France purchased 3 Dell SC1345 to replace older Dells that were taken offline in http://jexiste.org datacenter.
In January 2008 http://www.macaq.org/ donated hosting for the older Dells which were brought back online.
In February 2008 http://www.skyrock.com/ donated hosting and gcc13 was moved in the new datacenter.
In March 2008
- BNP Paribas convinced Dell to give FSF France a discounted price for gcc14.
http://www.skyrock.com/ donated hosting for one more machine gcc14.
INRIA Saclay donated hosting for gcc15, http://www.inria.fr/saclay/
The GCC Compile Farm wants to thank all the sponsor that make this project to help free software a reality.