influxdata / influxdata/influxdb
build fail on loongson(mips64le)
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
__system:__
fedora 28 loongson (mips64el), kernel: Linux loongson3a 5.4.38-1.fc28.lemote.mips64el
__Steps to reproduce:__
1. reference: https://github.com/influxdata/influxdb/tree/v2.0.8
2. installed go1.17.1 linux/mips64le, rust: stable-mips64el-unknown-linux-gnuabi64, rustc 1.55.0 (c8dfcfe04 2021-09-06), and other dependencies as mentioned in the reference
3. git clone and checkout v2.0.8, run GO111MODULE=on make
__Expected behavior:__
build successfully
__Actual behavior:__
error and exit with below errors message:
```
...
33b7951 -X main.version=v2.0.9" github.com/gogo/protobuf/protoc-gen-gogofaster
env GO111MODULE=on go install -tags 'assets,noasm' -ldflags " -X main.commit=d1233b7951 -X main.version=v2.0.9" github.com/benbjohnson/tmpl
env GO111MODULE=on go install -tags 'assets,noasm' -ldflags " -X main.commit=d1233b7951 -X main.version=v2.0.9" golang.org/x/tools/cmd/stringer
env GO111MODULE=on go install -tags 'assets,noasm' -ldflags " -X main.commit=d1233b7951 -X main.version=v2.0.9" golang.org/x/tools/cmd/goimports
go generate -tags 'assets,noasm' ./influxql/... ./models/... ./pkg/... ./storage/... ./tsdb/... ./v1/...
env GO111MODULE=on go build -tags 'assets,noasm' -ldflags "-s -w -X main.commit=d1233b7951 -X main.version=v2.0.9" -o bin/linux/influx ./cmd/influx
go: downloading github.com/fatih/color v1.9.0
go: downloading github.com/fujiwara/shapeio v1.0.0
go: downloading github.com/olekukonko/tablewriter v0.0.5
go: downloading github.com/AlecAivazis/survey/v2 v2.2.9
go: downloading github.com/mattn/go-colorable v0.1.8
go: downloading github.com/mattn/go-runewidth v0.0.9
go: downloading github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
go: downloading github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b
go: downloading golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
# github.com/influxdata/flux/libflux/go/libflux
/home/laofa/.cache/go-build/pkgconfig/linux_mips64le/lib/libflux-efb6b89e0c96fd313aac8356883e733fc4e8e1b277ec725c511535b18317c1a5.a(std-f93e057286cc872d.std.b1efe960-cgu.0.rcgu.o): In function `std::f32::::mul_add':
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f32.rs:227: undefined reference to `fmaf'
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f32.rs:227: undefined reference to `fmaf'
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f32.rs:227: undefined reference to `fmaf'
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f32.rs:227: undefined reference to `fmaf'
/home/laofa/.cache/go-build/pkgconfig/linux_mips64le/lib/libflux-efb6b89e0c96fd313aac8356883e733fc4e8e1b277ec725c511535b18317c1a5.a(std-f93e057286cc872d.std.b1efe960-cgu.0.rcgu.o): In function `std::f64::::mul_add':
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f64.rs:227: undefined reference to `fma'
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f64.rs:227: undefined reference to `fma'
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f64.rs:227: undefined reference to `fma'
/rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b//library/std/src/f64.rs:227: undefined reference to `fma'
collect2: error: ld returned 1 exit status
make: *** [Makefile:79: bin/linux/influx] Error 2
```
__discussion:__
it seems like rust version mismatch, does any one have idea about how to debug?
Contributor guide
Research direction
Start by reproducing the v2.0.8 build with GO111MODULE=on make and inspect Makefile:79, where the failure occurs while building ./cmd/influx. Trace the libflux archive and its Rust toolchain on linux/mips64le, focusing on the undefined fmaf and fma symbols. Done means the documented build completes successfully on the reported platform.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, rust
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100