Attempt to build stork on ARM fails because automatically downloaded go binary is X86_64
name: Bug report
about: Create a report to help us improve
Describe the bug
Cloned stork sources and installed dependencies, then tried to build with "rake build".
Got this error:
/home/owen/kea/stork/tools/golang/go/bin/go version
/home/owen/kea/stork/tools/golang/go/bin/go: 1: ELF: not found
/home/owen/kea/stork/tools/golang/go/bin/go: 2: Syntax error: "(" unexpected
rake aborted!
Command failed with status (2): [/home/owen/kea/stork/tools/golang/go/bin/g...]
/home/owen/kea/stork/rakelib/00_init.rake:826:in block in <top (required)>' /usr/share/rubygems-integration/all/gems/rake-13.0.3/exe/rake:27:in
<top (required)>'
Tasks: TOP => build => build:backend => build:server => backend/cmd/stork-server/stork-server => backend/server/gen => /home/owen/kea/stork/tools/golang/goswagger => /home/owen/kea/stork/tools/golang/go/bin/go
(See full trace by running task with --trace)
Investigating slightly revealed the following: root@sjc-br-01:/home/owen/kea/stork# rake build /usr/bin/wget --tries=inf --waitretry=3 --retry-on-http-error=429,500,503,504 https://dl.google.com/go/go1.19.7.linux-amd64.tar.gz -O go.tar.gz
Obviously, this is downloading the amd64 version of go without considering what architecture we are actually running on.
To Reproduce Steps to reproduce the behavior:
- Use an ARM based linux system
- Clone stork from source repo
- install dependencies (rake, JRE, etc.)
- cd into stork clone directory
- rake build
Expected behavior A clear and concise description of what you expected to happen: The server is supposed to send back packet A with address B assigned.
Environment:
- Kea version: which release? if it's compiled from git, 2.3.9-git git kea@7462769a
stork: commit 37b282ec (HEAD -> master, origin/master, origin/HEAD, origin/931-subnet-tab-2) Author: Marcin Siodelski marcin@isc.org Date: Mon Jun 19 16:09:13 2023 +0200
[#931] Updated package lock
- OS: DietPi ARM64 Linux sjc-br-01 5.10.110 kea#1 (closed) SMP Tue Mar 14 21:59:07 CST 2023 aarch64 GNU/Linux
- Which features were compiled N/A -- Since this is about the build process for stork, kea backends aren't a factor.
- If/which hooks where loaded in N/A -- Since this is about the build process for stork, kea hooks aren't a factor.
Additional Information It's very clear that the KEA team lives in some form of single-architecture world where everything is x86. Out here in the real world, things are a bit more complicated and ARM is getting more and more popular (and more and more powerful) every day. It would be nice if ISC put some resources into making sure that KEA and Stork would at least build on ARM. Packages for ARM in the repo would be really nice to have.
Contacting you ISC can contact me by phone, email, or any other method they find effective. I'm on Signal 408-890-7992 and that works for phone or SMS as well. Email is first name at last name dot com.