#1010686 golang-github-boltdb-bolt: ftbfs issue on riscv64 arch

#1010686#5
Date:
2022-05-07 05:02:13 UTC
From:
To:
Dear Maintainer,

In fact the reported bug does not match as the title describes, but
it was found while trying to fix ftbfs issue on riscv64.

Basically these packages that depend on golang-github-boltdb-bolt
have ftbfs issue on riscv64(maybe include other arch):

```
vimer@dev:~$  build-rdeps golang-github-boltdb-bolt-dev
[sudo] password for vimer:
WARNING: dose-extra >= 4.0 is not installed. Falling back to old unreliable behaviour.
Reverse Build-depends in main:
------------------------------

nomad
golang-github-blevesearch-bleve
influxdb
snapd
vuls
golang-github-hashicorp-raft-boltdb
golang-github-micromdm-scep
```

Those packages list that have ftbfs issue on riscv64 is here:
https://udd.debian.org/cgi-bin/ftbfs.cgi?arch=riscv64

If learn more about golang-github-boltdb-bolt-bolt, we will notice the upstream is
public archive: https://github.com/boltdb/bolt but the other repo that forked from
it is active:  https://github.com/etcd-io/bbolt. And the bblot has supported many arch

I am doing to ask the relative package's upstream to swtich to bblot but i do not
this is enough. Can the go-*-bolt package swtich to bblot also? If do so,
it will fix many ftbfs issues as early as possible.

BR,
Bo

#1010686#10
Date:
2022-05-10 03:53:47 UTC
From:
To:
These package's upstream had switched to bbolt:
* golang-github-blevesearch-bleve
* influxdb
* golang-github-hashicorp-raft-boltdb

So can these packages dependencs switch from golang-github-boltdb-bolt-dev to
golang-github-coreos-bbolt?

The snapd package's upstream import bolt that was maintained by snap project:
https://github.com/snapcore/bolt. It seems to support riscv64 also.

These packages is switching to bblot:
* nomad
* vuls
* golang-github-micromdm-scep

BR,
Bo

#1010686#15
Date:
2022-05-12 13:04:58 UTC
From:
To:
The golang-github-hashicorp-raft-boltdb upstream developers created a v2 version to use bbolt, but their v2 code still uses the original version which depends on boltdb [1]. I wrote an issue on their github page in January [2] but no actions have been taken. For golang, the upstream code's dependency on raft-boltdb has to be completely removed for the package to build with riscv.

I currently get FTBFS for riscv with golang-github-boltdb-bolt (1.3.1-7) and golang-github-hashicorp-raft-boltdb (0.0~git20171010.6e5ba93-3). golang-github-coreos-bbolt (1.3.5-1) successfully builds as expected.

I agree this bbolt and boltdb issue should be fixed, as there are packages like consul and nomad that also depend on it.

Yes if none of the other package dependencies depend on golang-github-boltdb-bolt-dev which would still cause a FTBFS.

Below is the error message consistently seen with this FTBFS during dh_auto_build.

github.com/boltdb/bolt
# github.com/boltdb/bolt
src/github.com/boltdb/bolt/bolt_unix.go:62:14: [maxMapSize]byte used as value
src/github.com/boltdb/bolt/bolt_unix.go:62:15: undefined: maxMapSize
src/github.com/boltdb/bolt/bucket.go:135:15: undefined: brokenUnaligned
src/github.com/boltdb/bolt/db.go:101:12: [maxMapSize]byte used as value
src/github.com/boltdb/bolt/db.go:101:13: undefined: maxMapSize
src/github.com/boltdb/bolt/db.go:317:12: undefined: maxMapSize
src/github.com/boltdb/bolt/db.go:335:10: undefined: maxMapSize
src/github.com/boltdb/bolt/db.go:336:8: undefined: maxMapSize
src/github.com/boltdb/bolt/freelist.go:169:18: [maxAllocSize]pgid used as value
src/github.com/boltdb/bolt/freelist.go:169:19: undefined: maxAllocSize
src/github.com/boltdb/bolt/freelist.go:169:18: too many errors


[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004303
[2] https://github.com/hashicorp/raft-boltdb/issues/27

Ileana Dumitrescu