Installing GoldenCheetah on a 8 gig Raspberry Pi 4b – using Ubuntu 20.10 desktop – works as of February 2021

I started building these directions back in January, but Ubuntu seemed slow, and so much was up in the air with new updates coming I decided to wait till they fixed the old Bison version in the GC distribution. I had a question about a raspbian build last week, so I thought I would post what I’m using for my training rig right now… Note I could not get this to work on anything less than an 8 gig rpi 4. If anyone has feedback on updates/changes required for this to be current, please leave a comment.

However, I think my go-forward direction is to install on Manjaro. Manjaro’s distro was much faster than Ubuntu on the Pi, however,  I could not figure out how to downgrade Bison, so the default scripts from GC would not work. Since this walkthrough is already long enough I decided to wait till GC upgrades their scripts to use a less antiquated version of Bison instead of listing how to modify the GC compilation scripts.

Ubuntu Server version
first install ubuntu 20.10 Server RPI image
$ sudo apt update?$ sudo apt -yf upgrade?$ sudo apt-get -y —purge autoremove?$ sudo apt-get autoclean
$ sudo reboot now

Now – Bison 3.7 is not compatible with GC. GC is developed on an very old version of ubuntu with a newer version of QT. To get a version of linux that supports the newer QT from the standard repository, you have to use Ubuntu 20.10 However all newer linux distros use a new version of bison that is not compatible enough to compile GC. So you have to downgrade bison to 3.5.1. We will do this straight from the Ubuntu 20.04 distribution site. This step may be deprecated in the future, but if the GC code is not updated to support Bison 3.7 until it is required it may be more than 5 years till it is compatible…

$ cd ~
$ wget http://ports.ubuntu.com/ubuntu-ports/pool/main/b/bison/bison_3.5.1+dfsg-1_arm64.deb
$ sudo dpkg -i bison_3.5.1+dfsg-1_arm64.deb

This next command is optional. It will stop ubuntu from upgrading/patching bison again . I do not do this next step. Instead, I have the bison downgrade in my “recompile GC script” so my system only downgrades to 3.5.1 whenever I compile GC, then it will upgrade it back to 3.7 when I do the normal Ubuntu system/security updates.
$ apt-mark hold bison

Install qt sdk and libraries?

$ sudo apt-get -y install build-essential git qt5-default qtcreator libqt5svg5-dev libqt5serialport5-dev libqt5charts5-dev qtmultimedia5-dev qtconnectivity5-dev libqt5webkit5-dev libusb-1.0-0-dev libical-dev libvlc-dev libvlccore-dev bison flex qtwebengine5-dev libgsl-dev

git should already be installed if not ‘$ sudo apt-get install git’

$ cd ~
$ mkdir projects?$ cd projects
$ git clone git://github.com/GoldenCheetah/GoldenCheetah.git
$ cd GoldenCheetah
$ cd src
$ cp gcconfig.pri.in gcconfig.pri
$ nano gcconfig.pri
-> uncomment line #CONFIG += release static
-> uncomment line #GSL_INCLUDES = and change the value to GSL_INCLUDES = /usr/lib in instead of LIBUSB_INSTALL = /usr/local
-> uncomment line #GSL_LIBS = -lgsl -lgslcblas -lm
-> 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        {/usr/include on Ubuntu 20.10}
-> uncomment line #LIB_USE_V_1
-> uncomment line #LIBS += -lz

$ cd ~/projects/GoldenCheetah/qwt
$ cp qwtconfig.pri.in qwtconfig.pri
$ cd ~/projects/GoldenCheetah?$ qmake -recursive      {note: if you see a bunch of translation language errors… just ignore for now}
$ make

 

Kick back and wait… It will take a while… :)  Hours….

One Response to “Installing GoldenCheetah on a 8 gig Raspberry Pi 4b – using Ubuntu 20.10 desktop – works as of February 2021”

  1. EvilT says:

    I didn’t put it in the original instructions as I don’t remember if ubuntu needed it, but in case you cannot see your USB ant+ adapter…

    Modify the USB device so you can use your ANT+ USB stick {no need if you are only going to use bluetooth}

    $ cd /etc/udev/rules.d

    $ sudo nano 52-garmin-usb.rules

    Add (copy/paste) the following six lines to the file: {there are no spaces before the lines
    # Garmin ANT+ – USB1
    ATTRS{idVendor}==”0fcf”, ATTRS{idProduct}==”1004?, MODE=”0666?
    # Garmin ANT+ – USB2
    ATTRS{idVendor}==”0fcf”, ATTRS{idProduct}==”1008?, MODE=”0666?
    # hLine USB2 ANT2
    ATTRS{idVendor}==”0fcf”, ATTRS{idProduct}==”1009?, MODE=”0666?
    exit and save the file

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>