influxdata / influxdata/influxdb

build fail on loongson(mips64le)

Open
#22,585 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.