How can I bump up go version in the toolchain

I am trying to compile Hashicorp Vault, but their go version wants 1.17.12, but the go version in the tool chain is 1.15.4.

ipfire build chroot (x86_64) root:/usr/src/vault-1.11.2$ go version
go version go1.15.4 linux/amd64

Thanks
Song

Hi Song,

The go package is on the list to be updated and should be done either in CU170 or CU171.

If you don’t want to wait for that then instead of downloading the Toolchain you need to build it first with the new go version added in.

Run ./make.sh toolchain with the new go version updated in the lfs and it will create an updated toolchain for you. Then you can the ./make.sh clean and ./make.sh build as normal but with the updated go now in place.

The toolchain build will take some time but no worse than the normal build.

2 Likes

Hi Adolf,

Thanks I was able to get go 1.18.5 into the build chain with some minor changes:

diff --git a/make.sh b/make.sh
index ff58c75a93..e8aaaaf42a 100755
--- a/make.sh
+++ b/make.sh
@@ -1043,6 +1043,7 @@ buildtoolchain() {
        lfsmake1 xz
        lfsmake1 bison
        lfsmake1 flex
+       lfsmake1 go
        lfsmake1 fake-environ
        CUSTOM_PATH="${PATH}" lfsmake1 strip
        lfsmake1 cleanup-toolchain
@@ -1684,7 +1685,7 @@ buildipfire() {
   lfsmake2 firmware-update
   lfsmake2 tshark
   lfsmake2 speedtest-cli
-  lfsmake2 amazon-ssm-agent
+#  lfsmake2 amazon-ssm-agent
   lfsmake2 libloc
   lfsmake2 ncdu
   lfsmake2 lshw
@@ -1705,6 +1706,7 @@ buildipfire() {
   lfsmake2 perl-Imager-QRCode
   lfsmake2 perl-MIME-Base32
   lfsmake2 perl-URI-Encode
+  lfsmake2 vault
 }
  1. I need to add go into buildtoolchain(), otherwise I don’t have go in ./make.sh shell
  2. amazon-ssm-agent fails at 1.18.5, I commented it out to allow vault to compile.

Unfortunately I am hitting a road block from Hashicorp Vault, their build scripts in the releas tarball is expecting to be executed within a git repo I will file a bug report to them.

Thanks

Hi Song,

Then I misunderstood you. You said you wanted to bump the version of go in the toolchain but you are having to put go into the toolchain as it is not in the standard toolchain at all.

You should run a complete build first without your vault addon included and then go will be in the build environment and available when you go in the ./make.sh shell

2 Likes