Compiling GoldenCheetah on Raspberry Pi 4 with Ubuntu server 19.10.1- free bicycle trainer/analysis software

Ok, I’m leaving this here as an example if I need it in the future, but the Ubuntu desktops were too bulky to be quick on the pi4 as of the time of this writing. Since I got this to work on stock Raspbian, I would use that walkthrough/howto instead of trying it with Ubuntu. You can mostly follow the Raspbian walkthrough/howto for Ubuntu as it is more current. I did not include these required steps in this walkthrough.

If you are not familiar, GoldenCheetah is open source software that will control a smart trainer (wahoo kickr, tacx, etc…) via Ant+ or bluetooth. It will sync rides to/from strava and others. It has amazing (way beyond my ability or interest) performance analysis functions! It can download ride profiles from the free ERG repository. It really does too much to list here. I highly recommend it. Warts and all it still a great piece of software that some great people work hard to support, and it does most everything I need trainer software to do. Oh… and it doesn’t cost me $10 a month in subscription fees. ;) So If I can build a dedicated computer out of a Rpi4 that will run GoldenCheetah for less than $100, then I’m a happy lad!


The main website is The project code is on github. Discussion is on Google Groups.

GoldenCheetah install on Raspberry pi 4

Ubuntu Server version

first install ubuntu server 64bit 19.10.1 {I used ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img from the ubuntu website}

$ sudo apt update
$ sudo apt -yf full-upgrade
$ sudo apt-get -y –purge autoremove
$ sudo apt-get autoclean

$ sudo timedatectl set-timezone America/Chicago {pick your own time zone, see them all with $timedatectl list-timezones}
$ sudo apt-get install xubuntu-desktop {note to self: this is still a pretty heavy desktop – I should try installing a lighter one or using the instructions below on raspbian lite}
pick gdm3 for the desktop manager
$ sudo reboot now

First install qt sdk and libraries
$ sudo apt-get install qt5-default qtcreator
$ sudo apt install libqt5svg5-dev
$ sudo apt install libqt5serialport5-dev
$ sudo apt install libqt5charts5-dev
$ sudo apt install qtmultimedia5-dev
$ sudo apt install qtconnectivity5-dev
$ sudo apt install libqt5webkit5-dev

git should already be installed if not ‘$ sudo apt-get install git’
$ sudo apt-get install libusb-1.0-0-dev
$ sudo apt-get install bison
$ sudo apt-get install flex
$ cd ~
$ mkdir projects
$ cd projects
$ git clone git://
$ cd GoldenCheetah
$ cd src
$ cp gcconfig.pri
$ nano gcconfig.pri
-> uncomment line #CONFIG += release

-> uncomment line #QMAKE_LRELEASE = /usr/bin/lrelease {note: make sure you have a /usr/bin/lrelease, it should have been installed above}
-> uncomment line #QMAKE_CXXFLAGS += -03

-> uncomment line #LIBUSB_INSTALL = and change the value to LIBUSB_INSTALL = /usr/lib in instead of LIBUSB_INSTALL = /usr/local
-> uncomment line #LIB_USE_V_1
-> uncomment line #LIBS += -lz

$ cd ~/projects/GoldenCheetah/qwt

$ cp qwtconfig.pri

$ cd ~/projects/GoldenCheetah
$ qmake -recursive

{note: if you see a bunch of translation language errors… just ignore for now}
$ make

-> sit back and wait an hour or two :)
when it is all done you will have a GoldenCheetah executable file in your projects directory

notes: This failed after exhausting memory on a 2 gig raspberry pi 4. Ran like a champ on a 4 gig raspberry pi 4
If you get the error (g++: internal compiler error: Killed (program cc1plus)). It means you ran out of memory, you can try one of the following:
___1. Make a swap file___________
Run these

$ sudo dd if=/dev/zero of=/swapfile bs=64M count=16
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

That should let you compile your code. But make sure you then revert the swap after compilation, with these:

$ sudo swapoff /swapfile
$ sudo rm /swapfile

___2. Try fewer parallel jobs (will take longer to compile)___________
Try running:
$ make j #
where # is the number of parallel jobs
$ make j 4
$ make j 2

Leave a Reply

Line and paragraph breaks automatic.
XHTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Comments Protected by WP-SpamShield Spam Filter