GCC Compile Farm Project
What is the GCC Compile Farm
The GCC Compile farm project maintains a set of machines of various architectures and provides ssh access to free software developers, GCC and others (GPL, BSD, MIT, ...). Once your account application (see below) is approved, you get full ssh access to all the farm machines (current and new), architectures currently available:
- powerpc64 (including POWER7, POWER8, and POWER9)
See the detailed list here, with architectures and OS: https://cfarm.tetaneutral.net/machines/list/
Were available :
- armv7l (with vfp and neon FPU instructions)
- Cell SPE (Sony Playstation 3)
How to obtain an account?
If you are working on a piece of free software (GCC or any other GPL, BSD, MIT, ...) and need ssh access to the farm for compilation, debug and test on various architectures you may apply for a GCC Compile Farm account at https://cfarm.tetaneutral.net/users/new/
After approval and account creation the compile farm machines should be used only for free software development, see this free software license list.
How to Get Involved?
There is a mailing list for farm-related discussions: https://lists.tetaneutral.net/listinfo/cfarm-users
Please don't use this mailing list for support requests (see https://cfarm.tetaneutral.net/tickets/ instead)
- Any suggestion? Vendor contacts welcomed.
Warning: compile farm machines disks are not RAID and not backed up so please use SVN or rsync to put your scripts and crontab somewhere safe.
Information and tips on using the farm are given below.
Mailing list, SSH keys and a ticket system are hosted at https://cfarm.tetaneutral.net/
To request installation of a package or signal a problem with a machine please use the tracking system in preference to the mailing list
Use the command ulimit to reduce the risk of a DOS attack by your script/program. Example: ulimit -S -t 3600 -v 2000000 -u 1200
Some machines have limited RAM and CPU, so please do not set up crontab on those machine without discussing it on the mailing list first.
On machine with limited disk please clean up automatically as much as possible and on other machines do not fill the disk with old unused stuff.
For automatic jobs on N-core please launch no more than N/2 runnable processes (total) and if you see that your cron is running at the same time as another user one please coordinate a time shift. You can also use https://cfarm.tetaneutral.net/munin/ to planify your cron jobs.
Services and software installed on farm machines
As of 20090409, on all CFARM machines:
GCC release sources and misc tarballs are under /opt/cfarm/ftp/ (writable for everyone if you wish to add something)
GCC release binaries for the default languages plus Ada are available under /opt/cfarm/release/X.Y.Z/bin (to be put in your PATH 4.3.3 is available on most CFARM machines)
To build trunk you have to use in configure on some machines: --with-mpfr=/opt/cfarm/mpfr-2.4.1 --with-gmp=/opt/cfarm/gmp-4.2.4 --with-mpc=/opt/cfarm/mpc-0.8 (other versions are also available depending on machine)
If you configure LTO you need to use --with-libelf=/opt/cfarm/libelf-0.8.12
To build trunk in 64 bits on sparc64, powerpc64 you have to use --with-mpfr=/opt/cfarm/mpfr-2.4.1-64 --with-gmp=/opt/cfarm/gmp-4.2.4-64 --with-mpc=/opt/cfarm/mpc-0.8-64 For gcc64, use --with-mpfr=/opt/cfarm/mpfr-latest --with-gmp=/opt/cfarm/gmp-latest --with-mpc=/opt/cfarm/mpc-latest --disable-libstdcxx-pch, and export LD_LIBRARY_PATH='/opt/cfarm/mpfr-latest/lib:/opt/cfarm/gmp-latest/lib:/opt/cfarm/mpc-latest/lib:/opt/cfarm/gmp-5.0.5/lib'
To debug 64 bits binaries on sparc64, powerpc64 you have to use /opt/cfarm/gdb-6.8-64/bin/gdb
On mips64el-linux to compile default GCC please use --build=mipsel-linux-gnu --enable-targets=all, if you need a 64-bit build, use export CC="gcc -mabi=n32" and --with-mpfr=/opt/cfarm/mpfr-2.4.1-n32 --with-gmp=/opt/cfarm/gmp-4.2.4-n32 --with-mpc=/opt/cfarm/mpc-0.8-n32.
- 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://www.fsffrance.org/ Rennes , static public IP, 100 Mbit/s up/down
name disk CPU Notes gcc10 2TB 2x12x1.5 GHz AMD Opteron Magny-Cours / 64 GB RAM / Supermicro AS-1022G-BTF / Debian x86-64 gcc12 580G 2x 2x2.0 GHz AMD Opteron 2212 / 4GB RAM / Dell SC1345 / Debian x86-64
Datacenter http://www.smile.fr/ , static public IP, 100 Mbit/s up/down
name disk CPU Notes gcc13 580G 2x2x2.0 GHz AMD Opteron 2212 / 4GB RAM / Dell SC1345 / Debian x86-64 gcc14 750G 2x4x3.0 GHz Intel Xeon X5450 / 16GB RAM / Dell Poweredge 1950 / Debian x86-64
Note: incoming port for user services are limited to tcp/9400-9500
Datacenter http://www.inria.fr/saclay/ , static public IP , ssh only
name disk CPU Notes gcc15 160G 1x2x2.8 GHz Intel Xeon 2.8 (Paxville DP) / 1 GB RAM / Dell SC1425 / Debian x86-64 gcc16 580G 2x4x2.2 GHz AMD Opteron 8354 (Barcelona B3) / 16 GB RAM / Debian x86-64
Datacenter http://www.irill.org/ , static public IP
name disk CPU Notes gcc20 1TB 2x6x2.93 GHz Intel Dual Xeon X5670 2.93 GHz 12 cores 24 threads / 24 GB RAM / Debian amd64
Datacenter http://iut.ups-tlse.fr/ , static public IP
name disk CPU Notes gcc21 15TB 1x6x1.6 GHz Intel Xeon E5-2603 v3 6 cores / 64 GB RAM / Ubuntu amd64
Datacenter Infosat Telecom http://www.infosat-telecom.fr/ , Static public IP
name port disk CPU Notes gcc70 160G 2x3.2 GHz Intel Xeon 3.2E (Irwindale) / 3 GB RAM / Dell Poweredge SC1425 / NetBSD 5.1 amd64
Datacenter tetaneutral.net http://tetaneutral.net/ , Toulouse, FRANCE, Static public IP and IPv6
name port disk CPU Notes gcc45 1TB 4x3.0 GHz AMD Athlon II X4 640 / 4 GB RAM / Debian i386 gcc22 NFS MIPS Cavium Octeon II V0.1 EdgeRouter Pro gcc23 NFS MIPS Cavium Octeon II V0.1 EdgeRouter Pro gcc24 NFS MIPS Cavium Octeon II V0.1 EdgeRouter Pro gcc67 3TB 8x2x3.4 GHz AMD Ryzen 7 1700X / 32G RAM / Debian GNU/Linux 9 (stretch) gcc68 3TB 4x2x3.2 GHz AMD Ryzen 5 1400 / 32G RAM / Debian GNU/Linux 9 (stretch)
Datacenter INSA Rouen http://www.insa-rouen.fr , France
name port disk CPU Notes gcc75 2TB 4x2x3.4 GHz Core i7-2600 / 16 GB RAM / 2TB gcc76 2TB 4x2x3.4 GHz Core i7-2600 / 16 GB RAM / 2TB
Gcc76 contains over 10 virtual machines, listed in /etc/hosts. /scratch is an NFS mount shared between them.
Datacenter OSUOSL http://osuosl.org/ , Oregon, USA, Static public IP
name port disk CPU Notes gcc110 2TB 2x8x4x3.55 GHz IBM POWER7 / 64 GB RAM / IBM Power 730 Express server / CentOS 7 ppc64 gcc111 2TB 4x6x4x3.70 GHz IBM POWER7 / 128 GB RAM / IBM Power 730 Express server / AIX 7.1 gcc112 2TB 2x10x8x3.42 GHz IBM POWER8 / 256 GB RAM / IBM POWER System S822 / CentOS 7 ppc64le gcc113 500GB 8x2.4 GHz aarch64 / 32 GB RAM / APM X-Gene Mustang board / Ubuntu 14.04.3 LTS gcc114 500GB 8x2.4 GHz aarch64 / 32 GB RAM / APM X-Gene Mustang board / Ubuntu 14.04.3 LTS gcc115 500GB 8x2.4 GHz aarch64 / 32 GB RAM / APM X-Gene Mustang board / Ubuntu 14.04.3 LTS gcc116 500GB 8x2.4 GHz aarch64 / 32 GB RAM / APM X-Gene Mustang board / Ubuntu 14.04.3 LTS gcc117 500GB 8x2 GHz aarch64 / 16 GB RAM / AMD Opteron 1100 / openSUSE Leap 42.1 gcc118 500GB 8x2 GHz aarch64 / 16 GB RAM / AMD Opteron 1100 / openSUSE Leap 42.1 gcc119 2TB 2x8x4x4.15 GHz IBM POWER8 / 192 GB RAM / IBM POWER System S822 / AIX 7.2 gcc135 26TB 2x16x4x3.8 GHz IBM POWER9 / 264 GB RAM / IBM POWER System / CentOS 7 ppc64le
Datacenter http://www.fsffrance.org/ Paris , FTTH static IP, 100 Mbit/s down, 50 Mbit/s up
Datacenter Laurent GUERBY, http://www.guerby.org/, France, DSL dynamic IP, 10 Mbit/s down, 1 MBit/s up
Datacenter http://www.hackershells.com/ San Francisco, USA, static public IP 1 Mbit/s
Datacenter Melbourne, Australia 10 Mbit/s DSL
Datacenter http://isvtec.com/ , static public IP, 100 Mbit/s up/down
Datacenter http://www.macaq.org/ , DSL dynamic IP, 10 Mbit/s down, 1 MBit/s up, ubuntu breezy 5.10
Datacenter http://www.mekensleep.com/ , DSL dynamic IP, 10 Mbit/s down, 1 MBit/s up
Datacenter http://www.skyrock.com/ , static public IP, 1000 Mbit/s up/down
Datacenter http://www.pateam.org/ http://www.esiee.fr/ , 100 MBit/s up/down
name port disk CPU Notes gcc01 9061 16G 2x1.0 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550 + additional 32 GB disk, donated gcc02 9062 16G 2x1.0 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550, donated gcc03 9063 16G 2x1.26 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550, donated gcc05 9065 16G 2x1.0 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550, donated gcc06 9066 16G 2x1.0 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550, donated gcc07 9067 32G 2X1.26 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550, donated gcc09 9068 32G 2x0.93 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550, donated gcc08 32G 2x1.26 GHz Pentium 3 / 1 GB RAM / Dell Poweredge 1550, donated gcc11 580G 2x 2x2.0 GHz AMD Opteron 2212 / 4GB RAM / Dell SC1345 / Debian x86-64 /home/disk dead 20120613 gcc17 580G 2x4x2.2 GHz AMD Opteron 8354 (Barcelona B3) / 16 GB RAM / Debian x86-64 gcc30 17G 0.4 GHz Alpha EV56 / 2GB RAM / AlphaServer 1200 5/400 => offline, to relocate gcc31 51G 2x0.4 GHz TI UltraSparc II (BlackBird) / 2 GB RAM / Sun Enterprise 250 => offline, to relocate gcc33 19033 1TB 0.8 GHz Freescale i.MX515 / 512 MB RAM / Efika MX Client Dev Board / Ubuntu armv7l gcc34 19034 1TB 0.8 GHz Freescale i.MX515 / 512 MB RAM / Efika MX Client Dev Board / Ubuntu armv7l gcc35 19035 1TB 0.8 GHz Freescale i.MX515 / 512 MB RAM / Efika MX Client Dev Board / Ubuntu armv7l gcc36 19036 1TB 0.8 GHz Freescale i.MX515 / 512 MB RAM / Efika MX Client Dev Board / Ubuntu armv7l gcc37 19037 1TB 0.8 GHz Freescale i.MX515 / 512 MB RAM / Efika MX Client Dev Board / Ubuntu armv7l gcc38 1TB 3.2 GHz IBM Cell BE / 256 MB RAM / Sony Playstation 3 / Debian powerpc ex IRILL gcc40 160G 1.8 GHz IBM PowerPC 970 (G5) / 512 MB RAM / Apple PowerMac G5 / Debian powerpc gcc41 9091 18G 0.73 GHz Itanium Merced / 1GB RAM / HP workstation i2000 => too old please use gcc60 gcc42 160G 0.8 GHz ICT Loongson 2F / 512 MB RAM / Lemote Fuloong 6004 Linux mini PC / Debian mipsel gcc43 9093 60G 1.4 GHz Powerpc G4 7447A / 1GB RAM / Apple Mac Mini gcc46 250G 1.66 GHz Intel Atom D510 2 cores 4 threads / 4 GB RAM / Debian amd64 ex IRILL gcc47 250G 1.66 GHz Intel Atom D510 2 cores 4 threads / 4 GB RAM / Debian amd64 ex IRILL gcc49 2TB 4x0.9 GHz ICT Loongson 3A / 2 GB RAM / prototype board / Debian mipsel gcc50 9080 250G 0.6 GHz ARM XScale-80219 / 512 MB RAM / Thecus N2100 NAS gcc51 60G 0.8 GHz ICT Loongson 2F / 1 GB RAM / Lemote YeeLoong 8089 notebook / Debian mipsel gcc52 9082 1TB 0.8 GHz ICT Loongson 2F / 512 MB RAM / Gdium Liberty 1000 notebook / Mandriva 2009.1 mipsel gcc53 9083 80G 2x1.25 GHz PowerPC 7455 G4 / 1.5 GB RAM / PowerMac G4 dual processor gcc54 36G 0.5 GHz TI UltraSparc IIe (Hummingbird) / 1.5 GB RAM / Sun Netra T1 200 / Debian sparc gcc55 9085 250G 1.2 GHz Marvell Kirkwood 88F6281 (Feroceon) / 512 MB RAM / Marvell SheevaPlug / Ubuntu armel gcc56 9086 320G 1.2 GHz Marvell Kirkwood 88F6281 (Feroceon) / 512 MB RAM / Marvell SheevaPlug / Ubuntu armel gcc57 9087 320G 1.2 GHz Marvell Kirkwood 88F6281 (Feroceon) / 512 MB RAM / Marvell SheevaPlug / Ubuntu armel gcc60 9200 72G 2x1.3 GHz Intel Itanium 2 (Madison) / 6 GB RAM / HP zx6000 / Debian ia64 gcc61 9201 36G 2x0.55 GHz HP PA-8600 / 3.5 GB RAM / HP 9000/785/J6000 / Debian hppa gcc62 9202 36G 6x0.4 GHz TI UltraSparc II (BlackBird) / 5 GB RAM / Sun Enterprise 4500 / Debian sparc gcc63 9203 72G 8x4x1 GHz Sun UltraSparc T1 (Niagara) / 8 GB RAM / Sun Fire T1000 / Debian sparc gcc64 9204 72G 1 GHz Sun UltraSPARC-IIIi / 1 GB RAM / Sun V210 / OpenBSD 5.1 sparc64 gcc66 9206 72G 2x1.3 GHz Intel Itanium 2 (Madison) / 12 GB RAM / HP rx2600 / Debian ia64 gcc100 1TB 2x2.6 GHz AMD Opteron 252 / 1GB RAM running Debian x86_64 gcc101 1TB 2x2.6 GHz AMD Opteron 252 / 1GB RAM running FreeBSD 8 x86_64 gcc200 8010 80G 4x0.4 GHz TI UltraSparc II (BlackBird) / 4 GB RAM / Sun E250 / Gentoo sparc64 gcc201 8011 80G 4x0.4 GHz TI UltraSparc II (BlackBird) / 4 GB RAM / Sun E250 / Gentoo sparc64
Note: /home is shared between gcc100 and gcc101.
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/
- Several developers (3) have expressed interest in doing normal GCC development on the machines instead or in addition of their own.
SpenserGilliland suggested building binary images for ARM Multimedia Support in Buildroot.
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
tschwinge is using node gcc45 for maintaining the GNU/Hurd toolchain. 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
One can use the script from gcc sources contrib/patch_tester.sh for setting up an automatic tester on a machine. The patch should 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 information, and for selecting the defaults for each case.
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:email@example.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
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://cgnu.rpeckhoff.org/.
StevenBosscher is running LRA branch bootstrap and check in loop with languages c,c++,fortran on ia64-unknown-linux-gnu and powerpc64-unknown-linux-gnu. There's also a cross-tester from powerpc64-linux to mipsisa64-elf for languages c,c++ only. Successful build+test cycles are reported to the gcc-testresults mailing list. The testers run within 24 hours of a change on the LRA branch.
host arch branch loop time gcc110 powerpc64 lra 2h00 (-j 8) gcc110 mipsisa64 lra 2h00 (-j 8) gcc66 ia64 lra 8h30 (-j 2)
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.
Cross compile testing
MikeStein is running cross compile tests at a low priority and report the results to gcc-testresult. He tests various branches, patches, and targets.
JoelSherrill is periodically running cross compile tests of various RTEMS (http://www.rtems.org) targets and reporting the results to gcc-testresults. The current focus is on the GCC SVN trunk with the binutils, gdb, and newlib CVS heads. C, C++, and Ada languages are tested where possible. The targets currently tested are listed below along with the RTEMS Board Support Package (BSP) and simulator used.
- arm-rtems (edb7312 BSP on Skyeye)
- h8300-rtems (h8sim BSP on gdb h8 simulator)
- i386-rtems (h8sim BSP on qemu simulator)
- m32c-rtems (h8sim BSP on gdb m32c simulator)
- m32r-rtems (h8sim BSP on gdb m32c simulator)
- mips-rtems (h8sim BSP on gdb mips jmr3904 simulator)
- sh-rtems (h8sim BSP on gdb SuperH simulator)
- powerpc-rtems (h8sim BSP on gdb psim simulator)
- sparc-rtems (h8sim BSP on gdb sis/erc32 simulator)
The bfin and m68k (Coldfire) will be added once Skyeye (http://www.skyeye.org) addresses some missing instructions that GCC 4.3 and newer generate which are currently not supported by Skyeye.
There are some test infrastructure issues which negatively impact the results on all RTEMS targets.
- Because each tested BSP is compiled with a specific set of CPU CFLAGS, there are a number of tests which fail on each target because the BSP CPU compilation flags override those being tested and the assembly which is expected to be generated is not.
- RTEMS targets do not gather profiling information. As such all profiling tests fail.
RTEMS testing is normally done on gcc12. It is not currently run automatically and may move to another machine when it is done automatically.
GNU Guile daily builds
GNU SASL, Libidn, Shishi, GSS, GnuTLS, etc daily builds
CSQL Main Memory Database Testing
prabatuty build and test CSQL main memory database on gcc14(x86_64), sparc and ppc.
C++ library testing
JonathanWakely uses compile farm machines to build and test libstdc++.
(C++) STL compatible container x86_64 specialized, vector operation capable
(..don't have a project name yet; this a mix of projects really .. reach me at firstname.lastname@example.org ..)
Building and testing of latest SBCL vs. several Common Lisp packages via a clbuild fork; http://gitorious.org/clbuild
Development and testing of some of the Common Lisp projects hosted here; http://gitorious.org/~lnostdal
FIM : Fbi IMproved
FIM (Fbi IMproved) http://savannah.gnu.org/projects/fbi-improved automated build and testing on various platforms.
CLISP is an ANSI Common Lisp implementation.
SamSteingold uses the compile farm for automated build and testing on various platforms.
Stellarium is a free open source planetarium for your computer. It shows a realistic sky in 3D, just like what you see with the naked eye, binoculars or a telescope.
BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes.
Olly Betts is using the compile farm for portability testing of Xapian.
Samy Al Bahra is porting and performance testing Concurrency Kit on idle machines.
Don B is does porting, regression testing, and bug fixing of OpenSCAD on gcc20, gcc76, and gcc110.
ChristopherSeanMorrison is involved in on-going cross-platform compilation testing of BRL-CAD. Most day-to-day testing is on gcc10 and gcc110. The compile farm is a fantastic resource being provided (thank you!).
libav and VideoLAN Client (VLC)
Biosig and related projects
Biosig is a software library for processing of biomedical signal data (like EEG, ECG). It consists of several parts "biosig for octave and matlab" provides functions for analysing the data in Octave and Matlab. biosig4c++/libbiosig provides a common interface for accessing over 40 different data formats. libbiosig is used for data conversion, within sigviewer - a viewing and scoring software, and has bindings to various languages. libbiosig supports also big/little endian conversion for the various data formats and target platforms. AloisSchloegl is using the compile farm for testing libbiosig on various platforms. Eventually, the testing will be extended to related projects
NaN-toolbox for Octave with OpenMP enabled (octave-nan)
The NaN-toolbox is a statistics and machine learning toolbox for the use in Octave and supports parallel data processing on shared-memory multi-core machines. So far some performance tests comparing Octave and Matlab have been done http://pub.ist.ac.at/~schloegl/publications/TR_OpenMP_OctaveMatlabPerformance.pdf. AloisSchloegl would like to compare different multi-core systems with the same performance test.
Free Pascal nightly testsuite
The Free Pascal compiler is a freeware pascal compiler. It has a testsuite with a number of machines performing compilation and testsuite runs every night. Results are visible on a special page. Pierre Muller added these nightly build/testsuite runs for powerpc and powerpc64 on gcc110 machine.
Building GCC on AIX
- Ramdisk mounted on /scratch. Create a personal directory.
- .../src/configure --disable-werror --enable-languages=c,c++ --with-gmp=/opt/cfarm --with-libiconv-prefix=/opt/cfarm --disable-libstdcxx-pch --with-included-gettext
- make SHELL=/bin/bash CONFIG_SHELL=/bin/bash
Your Project here
your description here
TODO list for farm administration
Relations with hosts or vendors:
find out about the state of the OpenCompute nodes at OSUOSL
- collect contact information for all hosts: who is the person to contact, is there any kind of ticketing system, etc
- find powerful machines to replace some of the really old servers (e.g. gcc15)
Website development ( https://cfarm.tetaneutral.net ):
add a link to the code repository (currently https://framagit.org/baptiste/gccfarm )
- setup a ticket system. Authentication should be shared with cfarm.tetaneutral.net
- improve metadata about machines and hosts: contact information of hosting organisations, detailed information about hardware (disks, exact model, manuals)
- improve registration form:
- clarify who can apply: free software developers, students, members of sponsoring organizations
- ask what kind of work the applicant plans to do on the farm
- integrate munin graphs in the cfarm website (display graphs about CPU, RAM, disk, etc, in the list of machines)
- upgrade Debian machines to stretch
- uniformize OS (so that managing them with ansible is easier, for instance to install packages)
- setup weekly ansible job to collect all technical information about farm machines (very useful when a machine has crashed and we need to tell the host what to do)
automatically synchronize cfarm-users@ mailing list with the email addresses of users on https://cfarm.tetaneutral.net
Write a charter:
- explain clearly who has access to the farm, in which conditions, to do what
- three kind of users: free software contributors, members of sponsoring organizations, students/mentored people (e.g. for GSoC)
- same rules for everybody: be nice to each other, cleanup after yourself, etc
- main usage: free software development. Personal usage tolerated but should not impair other users (run with nice, use limited disk space). Using the farm to work on proprietary software is explicitly forbidden, even for members of a sponsoring organization
- possibility to request exclusive use of a resource (whole machine, GPU, disk...). Decision on a case-by-case basis. Needs to be justified, with a finite duration, and should not impair other users too much (e.g. if there is a single machine of a given type, exclusive use is not desirable)
20170721 gcc202 UltraSparc T5 is now online
- 20170519 gcc67 and gcc68 AMD donated Ryzen machines are now online
20170526 gna.org closed, new site is https://cfarm.tetaneutral.net/
- 20161122 gcc117 and gcc118 are now online
20130628 gcc111 is now online at http://osuosl.org
- 20111130 gcc66 is now online
20111102 gcc110 is now online at http://osuosl.org
20111027 gcc42/45/51 are back online at http://tetaneutral.net
- 20110318 gcc46 and gcc47 are now online
- 20110311 gcc20 is now online
- 20110212 gcc70 is now online
- 20110120 gcc45 is now online
- 20100729 gcc13/14 are back online
- 20100720 gcc10 is now online
- 20100702 gcc13/14 are offline
- 20100610 gcc43 is now online
- 20100610 gcc64 is now online
- 20100610 gcc52 repaired back online
- 20100510 gcc33/34/35/36/37 are now online
- 20100510 gcc63 is now online
- 20100311 gcc201 is now online
- 20100310 gcc16 power supply replaced, the machine is back online.
- 20100309 gcc100 is now online.
- 20100305 gcc11 /home disk replaced.
- 20100301 gcc200 is now online.
- 20100226 gcc16 and gcc17 power supply swapped, gcc16 offline, power supply replacement ordered
- 20100226 gcc11 /home read only: disk failing, replacement ordered
- 20100119 FSF Paris datacenter is now using cable for internet access
- 20100115 FSF Paris datacenter is back online using Wifi as temporary solution
- 20100105 FSF Paris datacenter is offline due to DSL line cut
- 20091223 gcc17 offline, after investigation: power supply dead
- 20091216 New machines gcc56, gcc57 and gcc42 are now online
- 20091204 gcc52 failing, now offline, support contacted
- 20091130 /opt/cfarm/mpc-0.8 installed.
- 20091005 gcc6x no longer need a proxy for http/ftp/web
- 20091005 installed /opt/cfarm/libelf-0.8.12 for LTO
- 20090929 gcc40/50/53/54 are up in their new FSF France datacenter in Paris
- 20090921 gcc11/12 are up in their new FSF France datacenter in Rennes
- 20090831 gcc12 is down, please use gcc13 until gcc12 is restored
- 20090814 planned downtime for gcc11/gcc12 at the end of august
- 20090601 gcc13 is now a hot backup of gcc12 for openvpn.
- 20090518 gcc62 Sun Enterprise 4500 with 6 processor is online
- 20090511 gcc61 upgraded: processor now PA8600 at 0.55 GHz and disk doubled to 36GB
- 20090504 gcc51 got a new working BIOS from Lemote engineers and is now back online.
- 20090501 farm user count reaches 101
- 20090423 discussions with hardware support for gcc51
- 20090408 installed /opt/cfarm/gmp-4.2.4 and /opt/cfarm/mpfr-2.4.1 on x86 and x86_64 machines
- 20090407 gcc0x are back online
- 20090312 gcc55 armv5tel-linux machine in online
- 20090304 gcc61 hppa-linux machine is online
- 20090304 gcc60 ia64-linux machine is online
- 20090301 gcc51 mips64el-linux machine is online, including 64 bits toolchain
- 20090224 gcc41 ia64-linux machine is online
- 20090220 gcc54 sparc64-linux machine is online
- 20090218 gcc40 powerpc64-linux machine is online
- 20090205 gcc52 mips64el-linux machine is online, 32 bits toolchain only
- 20090129 gcc53 powerpc-linux machine is online
- 20090123 gcc51 mips64el-linux machine is online but not stable yet, accounts to be created when stable.
- 20090122 gcc50 disk failed, new disk installed
- 20081214 add arm platform gcc50
- 20080704 all macaq.org machines (gcc01,2,3,5,6,7,9) are back online but without NFS crossmounts
- 20080618 gcc11 disk failed early morning and the machine has been reinstalled with a brand new disk
- 20080616 gcc17 was unreachable again, reboot and it's back. Need to plug them on UPS remote controllable plug.
- 20080606 gcc17 has been off for about 2 days and is now back online (no reason in logs).
- 20080524 installed gcc30, dual alpha EV56 machine
- 20080522 two qemu-arm machines available from gcc17: gcc171 and gcc172, thanks to arthur
- 20080518 gcc11 and gcc12 moved to new datacenter (same IP).
20080515 applied Debian security patch http://www.debian.org/security/2008/dsa-1576
- 20080515 gcc16 and gcc17 now have a public IP
- 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 isvtec.com 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
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://isvtec.com/ 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://isvtec.com 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 sponsors that make this project to help free software a reality.
In May 2008 the GCC Compile Farm gained two bi-quad core machines gcc16 and gcc17 donated by AMD in hosting donated by INRIA Saclay, many thanks to:
- Sebastian Pop and Christophe Harle of AMD for donating the two machines
- Albert Cohen, Sylvain Girbal and Philippe Lubrano of INRIA Saclay for donating hosting and setup help
- Loic Dachary and Eva Mathieu of FSF France for handling orders of various equipment including an UPS
In May 2008 the GCC Compile Farm gained access to an alphaev56 machine at LRI: http://www.lri.fr/
In July 2008 the GCC Compile Farm gained access to a sparc machine at LRI: http://www.lri.fr/
In December 2008 the GCC Compile Farm gained access to an ARM machine.
In January 2009 the GCC Compile Farm gained access to MIPS and powerpc32 machine.
In March 2009 the GCC Compile Farm gained access to a dual ia64 Madison machine and a dual PA8500 machine both hosted and donated by Thibaut VARENE from http://www.pateam.org/ , hosting provided by ESIEE Paris http://www.esiee.fr/
In May 2009 the GCC Compile Farm gained access to a Sun Enterprise 4500 with 6 cpus, machine donated by William Bonnet http://www.wbonnet.net/ , installed by Thibaut VARENE from http://www.pateam.org/ , hosting provided by ESIEE Paris http://www.esiee.fr/
In March 2010 the GCC Compile Farm gained access to a pair of Sun E250 with 4 cpus each, hosting and machine donated by Chris from Melbourne
In March 2010 the GCC Compile Farm gained access to a bi-Opteron machine in San Francisco, USA, hosting donated by vianet and machine donated by http://www.hackershells.com/
In May 2010 the GCC Compile Farm gained access to 5 Efika MX Client Dev Boards donated by Genesi USA http://www.genesi-usa.com
In June 2010 the GCC Compile Farm gained access to a powerpc G4 Mac Mini donated by Jerome Nicolle, installed by Dominique Le Campion
In June 2010 the GCC Compile Farm gained access to a sparc64 V210 server donated by Arthur Fernandez, installed by Thibaut VARENE from http://www.pateam.org/ , hosting provided by ESIEE Paris http://www.esiee.fr/
In July 2010 the GCC Compile farm gained one 24 cores machine with 64 GB of RAM, gcc10, the two twelve core Magny Cours processors were donated by AMD and funding for the rest of the machine was provided by FSF France.
In July 2010 http://smile.fr donated hosting for gcc13 and gcc14.
In February 2011 Infosat Telecom http://www.infosat-telecom.fr/ donated hosting for gcc70
In March 2011 Intel http://www.intel.com donated one 12 cores 24 threads machine with 24 GB of RAM, and two Atom D510 systems
In March 2011 IRILL http://www.irill.org/ donated hosting for many farm machines
In August 2016 the GCC Compile farm gained two 8 core AArch64 machines with 16 GB of RAM, gcc117 and gcc118, donated by AMD.