codenotary / immudb

immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history
https://immudb.io
Other
8.62k stars 343 forks source link

build fails on AArch64, Fedora 33 #705

Closed LutzWeischerFujitsu closed 3 years ago

LutzWeischerFujitsu commented 3 years ago

[jw@cn06 immudb]$ sudo make VERBOSE=1 -j1 all go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=b9ebfe19487a500a35a8e3ffa1158c195663844c" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1618902229"' ./cmd/immudb go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: *** [Makefile:58: immudb] Error 1 [jw@cn06 immudb]$

mmeloni commented 3 years ago

Hi @LutzWeischerFujitsu , could you plese give us the go version you are using? Just tried locally with GOOS=linux GOARCH=arm64 and compilation succeded.

Thanks in advance M.

LutzWeischerFujitsu commented 3 years ago

[jw@cn06 immudb]$ go version go version go1.15.8 linux/arm64 [jw@cn06 immudb]$ sudo GOOS=linux GOARCH=arm64 make VERBOSE=1 -j1 all go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=b9ebfe19487a500a35a8e3ffa1158c195663844c" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1618918183"' ./cmd/immudb go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: *** [Makefile:58: immudb] Error 1 [jw@cn06 immudb]$

mmeloni commented 3 years ago

Could you please try with go 1.13? Probably some dependecies are differents on 1.15 Thanks M.

LutzWeischerFujitsu commented 3 years ago

Go 1.13.8 alone doesn't do the trick:

(base) [jw@cn06 immudb]$ sudo GOOS=linux GOARCH=arm64 make VERBOSE=1 -j1 all go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=b9ebfe19487a500a35a8e3ffa1158c195663844c" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1618986696"' ./cmd/immudb go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: *** [Makefile:58: immudb] Error 1 (base) [jw@cn06 immudb]$ go version go version go1.13.8 linux/arm64 (base) [jw@cn06 immudb]$

mmeloni commented 3 years ago

Hi @LutzWeischerFujitsu, I'm not able to reproduce your case at the moment. In ours environments we are able to compile without issues. Could you please send us also go env infos? While we find a solution a new release of immudb 0.9.2 for arm64 could be useful?

LutzWeischerFujitsu commented 3 years ago

Sure, I test with the master, because on that I can report issues.

[jw@cn06 jw]$ go env GO111MODULE="" GOARCH="arm64" GOBIN="" GOCACHE="/home/jw/.cache/go-build" GOENV="/home/jw/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="arm64" GOHOSTOS="linux" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/usr/local/go/bin:/home/jw/.sdkman/candidates/groovy/current/bin:/home/jw/.sdkman/candidates/gradle/current/bin:/opt/FJSVstclanga/default/bin:/usr/lib64/qt-3.3/bin:/usr/share/Modules/bin:/usr/condabin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/FJSVstclanga/default/bin:/home/jw/go/bin" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_arm64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build586792845=/tmp/go-build -gno-record-gcc-switches" [jw@cn06 jw]$

mmeloni commented 3 years ago

Ok, just released Please take a look and let us know if you found any issues. https://github.com/codenotary/immudb/releases/tag/v0.9.2

In the meantime we are trying fedora env

dmacvicar commented 3 years ago

I just tested on my Raspberry Pis inside a Fedora 33 container and it built without issues:


rpi03:~ # k3s  kubectl run -i --tty busybox --image=fedora:33 --restart=Never -- sh
If you don't see a command prompt, try pressing enter.
sh-5.0# dnf install golang git
...
Dependencies resolved.
...
Complete!
sh-5.0# git clone https://github.com/codenotary/immudb.git
Cloning into 'immudb'...
...
sh-5.0# make
go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=b9ebfe19487a500a35a8e3ffa1158c195663844c" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1618999488"' ./cmd/immudb
...
Build successful, now you can make the manuals or check the status of the database with immuadmin.
sh-5.0#
dmacvicar commented 3 years ago

Hi @LutzWeischerFujitsu can you retry with a container like I did above and check if it works for you?

something like:

docker run -ti fedora:33 /bin/bash
dnf install golang git
git clone https://github.com/codenotary/immudb.git
make
LutzWeischerFujitsu commented 3 years ago

Did wget and unzip on v0.9.2:

[jw@cn06 immudb]$ sudo GOOS=linux GOARCH=arm64 make VERBOSE=1 -j$(nproc) all fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1619172478"' ./cmd/immudb go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1619172478"' ./cmd/immuclient go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1619172478"' ./cmd/immuadmin go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1619172478"' ./cmd/immutest go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: [Makefile:54: immuadmin] Error 1 make: Waiting for unfinished jobs.... go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: [Makefile:62: immutest] Error 1 go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: [Makefile:58: immudb] Error 1 go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: *** [Makefile:50: immuclient] Error 1 [jw@cn06 immudb]$

PS: For the time being I want to avoid container-ing, but is of interest in a following step.

dmacvicar commented 3 years ago

@LutzWeischerFujitsu Can you please, in a clean checkout, do just:

make

No sudo, no parallel jobs, etc.

LutzWeischerFujitsu commented 3 years ago

wget, unzip, make, sudo make: [jw@cn06 immudb]$ make fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1619178169"' ./cmd/immudb get "golang.org/x/crypto": found meta tag get.metaImport{Prefix:"golang.org/x/crypto", VCS:"git", RepoRoot:"https://go.googlesource.com/crypto"} at //golang.org/x/crypto?go-get=1 get "golang.org/x/text": found meta tag get.metaImport{Prefix:"golang.org/x/text", VCS:"git", RepoRoot:"https://go.googlesource.com/text"} at //golang.org/x/text?go-get=1 get "google.golang.org/grpc": found meta tag get.metaImport{Prefix:"google.golang.org/grpc", VCS:"git", RepoRoot:"https://github.com/grpc/grpc-go"} at //google.golang.org/grpc?go-get=1 get "google.golang.org/genproto": found meta tag get.metaImport{Prefix:"google.golang.org/genproto", VCS:"git", RepoRoot:"https://github.com/googleapis/go-genproto"} at //google.golang.org/genproto?go-get=1 get "google.golang.org/protobuf": found meta tag get.metaImport{Prefix:"google.golang.org/protobuf", VCS:"git", RepoRoot:"https://go.googlesource.com/protobuf"} at //google.golang.org/protobuf?go-get=1 get "gopkg.in/yaml.v2": found meta tag get.metaImport{Prefix:"gopkg.in/yaml.v2", VCS:"git", RepoRoot:"https://gopkg.in/yaml.v2"} at //gopkg.in/yaml.v2?go-get=1 get "golang.org/x/sys": found meta tag get.metaImport{Prefix:"golang.org/x/sys", VCS:"git", RepoRoot:"https://go.googlesource.com/sys"} at //golang.org/x/sys?go-get=1 get "golang.org/x/net": found meta tag get.metaImport{Prefix:"golang.org/x/net", VCS:"git", RepoRoot:"https://go.googlesource.com/net"} at //golang.org/x/net?go-get=1 go: github.com/fatih/color@v1.9.0: mkdir /usr/local/go/bin/pkg: permission denied make: [Makefile:58: immudb] Error 1 [jw@cn06 immudb]$ sudo make fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). go build -v -ldflags '-s -X "github.com/codenotary/immudb/cmd/version.Version=0.9.2" -X "github.com/codenotary/immudb/cmd/version.Commit=" -X "github.com/codenotary/immudb/cmd/version.BuiltBy=" -X "github.com/codenotary/immudb/cmd/version.BuiltAt=1619178184"' ./cmd/immudb go: github.com/gizak/termui/v3@v3.1.0: reading github.com/gizak/termui/go.mod at revision v3.1.0: unknown revision v3.1.0 make: [Makefile:58: immudb] Error 1 [jw@cn06 immudb]$

dmacvicar commented 3 years ago
go: github.com/fatih/color@v1.9.0: mkdir /usr/local/go/bin/pkg: permission denied
dmacvicar commented 3 years ago

@LutzWeischerFujitsu I am not sure how we can help you further. The last message shows that your environment is trying to install packages into the system wide path. This is not the behavior one expects with go modules.

LutzWeischerFujitsu commented 3 years ago

Solved using v1.0.5.