FATAL: ThreadSanitizer: unsupported VMA range FATAL: Found 39 - Supported 48 / go: added github.com/docker/docker v23.0.4+incompatible

1,400 views
Skip to first unread message

Mario Marietto

unread,
Apr 24, 2023, 7:17:25 PM4/24/23
to golang-nuts

Hello.

I'm playing with the jetson nano. I've just installed ubuntu 22.04 (for arm64) on top of it. Nvidia says that nothing will work on 22.04 and it is totally unsupported. Well,I'm trying to make it supported :) ; the first problem is related to Docker,because it worked on ubuntu 18.04 and 20.04 but not with ubutnu 22.04 (neither removing and purging it and reinstalling it through snap)


# docker run -it --entrypoint "/bin/bash" ubuntu:20.04 docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: bpf_prog_query (BPF_CGROUP_DEVICE) failed: function not implemented: unknown. ERRO[0002] error waiting for container: context canceled

To overcome this error,I'm trying to compile go and Docker from the source code. This is what I did,following a tutorial that I found :


https://gist.github.com/cwgem/c913c80dcb8eeef38abc30ff3abf1750


and what happened :


root@marietto-nano:/home/marietto/Scaricati# sha256sum go1.10.3.linux-amd64.tar.gz

fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035 go1.10.3.linux-amd64.tar.gz

root@marietto-nano:/home/marietto/Scaricati# mv go go1.10.3

root@marietto-nano:/home/marietto/Scaricati/go_git/src# mv /home/marietto/go /home/marietto/go1.10.3

root@marietto-nano:/home/marietto/Scaricati/go_git/src#

mv /root/go /root/go1.10.3


root@marietto-nano:/home/marietto/Scaricati# nano /root/.profile

# set PATH so it includes user's private bin directories

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

GOROOT_BOOTSTRAP="$HOME/go1.10.3"

export PATH export GOROOT_BOOTSTRAP


root@marietto-nano:/home/marietto/Scaricati# nano /home/marietto/.profile

# set PATH so it includes user's private bin directories

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

GOROOT_BOOTSTRAP="$HOME/go1.10.3" export PATH export GOROOT_BOOTSTRAP

export PATH

export GOROOT_BOOTSTRAP


root@marietto-nano:/home/marietto/Scaricati# source /home/marietto/.profile

root@marietto-nano:/home/marietto/Scaricati# source /root/.profile

root@marietto-nano:/home/marietto/Scaricati# git clone https://go.googlesource.com/go go_git

Cloning in 'go_git' in corso...

remote: Finding sources: 100% (20/20)

remote: Total 569744 (delta 454605), reused 569740 (delta 454605)

Getting objects: 100% (569744/569744), 332.85 MiB | 7.30 MiB/s, done.

Delta Resolutions: 100% (454605/454605), done.

Updating files: 100% (12325/12325), done.


root@marietto-nano:/home/marietto/Scaricati# cd go_git


root@marietto-nano:/home/marietto/Scaricati/go_git# git branch -a

* master

remotes/origin/HEAD -> origin/master

remotes/origin/dev.boringcrypto remotes/origin/dev.boringcrypto.go1.10

remotes/origin/dev.boringcrypto.go1.11 remotes/origin/dev.boringcrypto.go1.12

remotes/origin/dev.boringcrypto.go1.13 remotes/origin/dev.boringcrypto.go1.14

remotes/origin/dev.boringcrypto.go1.15 remotes/origin/dev.boringcrypto.go1.16

remotes/origin/dev.boringcrypto.go1.17 remotes/origin/dev.boringcrypto.go1.18

remotes/origin/dev.boringcrypto.go1.8 remotes/origin/dev.boringcrypto.go1.9

remotes/origin/dev.cc remotes/origin/dev.cmdgo remotes/origin/dev.debug

remotes/origin/dev.fuzz remotes/origin/dev.garbage


root@marietto-nano:/home/marietto/Scaricati/go_git# cd src

root@marietto-nano:/home/marietto/Scaricati/go_git/src# bash all.bash


WARNING: /root/go1.10.3/bin/go does not exist, found /usr/bin/go from env

WARNING: set /usr/lib/go-1.18 as GOROOT_BOOTSTRAP

Building Go cmd/dist using /usr/lib/go-1.18. (go1.18.1 linux/arm64)

Building Go toolchain1 using /usr/lib/go-1.18.

Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.

Building Go toolchain2 using go_bootstrap and Go toolchain1.

Building Go toolchain3 using go_bootstrap and Go toolchain2.

Building packages and commands for linux/arm64.


##### Test execution environment.

# GOARCH: arm64

# CPU:

# GOOS: linux

# OS Version: Linux 4.9.299+

#0 SMP PREEMPT Wed Mar 29 14:22:17 CEST 2023 aarch64


##### Testing packages.

ok archive/tar 1.019s

ok archive/zip 0.376s

ok bufio 0.185s

ok bytes 0.606s

ok compress/bzip2 0.183s

ok compress/flate 3.087s

ok compress/gzip 11.042s

ok compress/lzw 0.032s

ok compress/zlib 0.063s

ok container/heap 0.020s

ok container/list 0.020s

ok container/ring 0.017s

ok context 0.040s

ok crypto 0.010s

ok crypto/aes 0.073s

ok crypto/cipher 0.043s

ok crypto/des 0.024s

ok crypto/dsa 0.012s

ok crypto/ecdh 0.162s

ok crypto/ecdsa 0.109s

ok crypto/ed25519 0.386s

ok crypto/elliptic 0.033s

ok crypto/hmac 0.011s

ok crypto/internal/alias 0.007s

ok crypto/internal/bigmod 0.773s

ok crypto/internal/boring 0.007s

ok crypto/internal/boring/bcache 1.052s

ok crypto/internal/edwards25519 27.176s

ok crypto/internal/edwards25519/field 23.933s

ok crypto/internal/nistec 0.640s

ok crypto/internal/nistec/fiat 0.008s [no tests to run]

ok crypto/md5 0.014s

ok crypto/rand 0.161s

ok crypto/rc4 0.100s

ok crypto/rsa 2.383s

ok crypto/sha1 0.015s

ok crypto/sha256 0.025s

ok crypto/sha512 0.013s

ok crypto/subtle 0.540s

ok crypto/tls 2.196s

ok crypto/x509 1.871s

ok database/sql 0.450s

ok database/sql/driver 0.010s

ok debug/buildinfo 0.026s

ok debug/dwarf 0.110s

ok debug/elf 0.919s

ok debug/gosym 0.098s

ok debug/macho 0.113s

ok debug/pe 0.090s

ok debug/plan9obj 0.015s

ok embed 0.015s [no tests to run]

ok embed/internal/embedtest 0.012s

ok encoding/ascii85 0.014s

ok encoding/asn1 0.013s

ok encoding/base32 0.062s

ok encoding/base64 0.016s

ok encoding/binary 0.013s

ok encoding/csv 0.031s

ok encoding/gob 13.220s

ok encoding/hex 0.014s

ok encoding/json 0.550s

ok encoding/pem 1.785s

ok encoding/xml 0.205s

ok errors 0.030s

ok expvar 0.013s

ok flag 0.055s

ok fmt 0.369s

ok go/ast 0.014s

ok go/build 10.279s

ok go/build/constraint 0.013s

ok go/constant 0.014s

ok go/doc 0.249s

ok go/doc/comment 6.088s

ok go/format 0.020s

ok go/importer 0.982s

ok go/internal/gccgoimporter 0.050s

ok go/internal/gcimporter 5.610s

ok go/internal/srcimporter 35.102s

ok go/parser 0.868s

ok go/printer 0.868s

ok go/scanner 0.012s

ok go/token 0.064s

ok go/types 21.038s

ok hash 0.015s

ok hash/adler32 0.020s

ok hash/crc32 0.037s

ok hash/crc64 0.011s

ok hash/fnv 0.011s

ok hash/maphash 0.305s

ok html 0.015s

ok html/template 0.353s

ok image 0.274s

ok image/color 0.056s

ok image/draw 0.323s

ok image/gif 0.698s

ok image/jpeg 0.667s

ok image/png 1.424s

ok index/suffixarray 0.743s

ok internal/abi 0.150s

ok internal/buildcfg 0.009s

ok internal/coverage/cformat 0.007s

ok internal/coverage/cmerge 0.010s

ok internal/coverage/pods 0.014s

ok internal/coverage/slicereader 0.007s

ok internal/coverage/slicewriter 0.008s

ok internal/coverage/test 0.034s

ok internal/cpu 0.013s

ok internal/dag 0.011s

ok internal/diff 0.029s

ok internal/fmtsort 0.008s

ok internal/fuzz 0.037s

ok internal/godebug 0.008s

ok internal/godebugs 0.018s

ok internal/intern 0.926s

ok internal/itoa 0.008s

ok internal/poll 0.375s

ok internal/profile 0.010s

ok internal/reflectlite 0.314s

ok internal/safefilepath 0.010s

ok internal/saferio 0.060s

ok internal/singleflight 0.039s

ok internal/testenv 0.012s

ok internal/trace 0.200s

ok internal/types/errors 1.176s

ok internal/unsafeheader 0.009s

ok internal/xcoff 0.059s

ok internal/zstd 0.711s

ok io 0.056s

ok io/fs 1.090s

ok io/ioutil 0.017s

ok log 0.014s ok log/slog 0.042s

ok log/slog/internal/benchmarks 0.009s

ok log/slog/internal/buffer 0.012s

ok log/syslog 1.245s

ok maps 0.007s

ok math 0.028s

ok math/big 6.714s

ok math/bits 0.022s

ok math/cmplx 0.013s

ok math/rand 0.353s

ok mime 0.036s

ok mime/multipart 2.745s

ok mime/quotedprintable 0.088s

ok net 20.086s

ok net/http 48.023s

ok net/http/cgi 1.692s

ok net/http/cookiejar 0.031s

ok net/http/fcgi 0.157s

ok net/http/httptest 0.324s

ok net/http/httptrace 0.012s

ok net/http/httputil 1.079s

ok net/http/internal 0.011s

ok net/http/internal/ascii 0.007s

ok net/http/pprof 4.066s

ok net/internal/socktest 0.009s

ok net/mail 0.017s

ok net/netip 1.247s

ok net/rpc 0.074s

ok net/rpc/jsonrpc 0.020s

ok net/smtp 0.062s

ok net/textproto 0.058s

ok net/url 0.024s

ok os 2.059s

ok os/exec 0.761s

ok os/exec/internal/fdtest 0.007s

ok os/signal 3.467s

ok os/user 0.017s

ok path 0.010s

ok path/filepath 0.136s

ok plugin 0.011s

ok reflect 1.708s

ok regexp 2.140s

ok regexp/syntax 2.998s

ok runtime 266.650s

ok runtime/cgo 0.015s

ok runtime/coverage 0.013s

ok runtime/debug 0.138s

ok runtime/internal/atomic 0.119s

ok runtime/internal/math 0.007s

ok runtime/internal/sys 0.020s

ok runtime/internal/syscall 0.012s

ok runtime/metrics 0.015s

ok runtime/pprof 16.329s

ok runtime/trace 6.822s

ok slices 0.013s

ok sort 0.367s

ok strconv 3.053s

ok strings 0.504s

ok sync 0.988s

ok sync/atomic 2.411s

ok syscall 15.254s

ok testing 1.578s

ok testing/fstest 0.027s

ok testing/iotest 0.043s

ok testing/quick 0.176s

ok text/scanner 0.021s

ok text/tabwriter 0.014s

ok text/template 0.155s

ok text/template/parse 0.022s

ok time 2.941s

ok unicode 0.022s

ok unicode/utf16 0.009s

ok unicode/utf8 0.019s

ok cmd/addr2line 3.318s

ok cmd/api 58.340s

ok cmd/asm/internal/asm 4.603s

ok cmd/asm/internal/lex 0.023s

ok cmd/compile/internal/abt 0.076s

ok cmd/compile/internal/amd64 0.012s

ok cmd/compile/internal/base 0.009s

ok cmd/compile/internal/compare 0.010s

ok cmd/compile/internal/dwarfgen 1.320s

ok cmd/compile/internal/importer 4.484s

ok cmd/compile/internal/ir 0.008s

ok cmd/compile/internal/logopt 0.135s

ok cmd/compile/internal/loopvar 164.457s

ok cmd/compile/internal/noder 0.018s

ok cmd/compile/internal/reflectdata 0.025s [no tests to run]

ok cmd/compile/internal/ssa 209.373s

ok cmd/compile/internal/syntax 0.184s

ok cmd/compile/internal/test 38.700s

ok cmd/compile/internal/typecheck 1.457s

ok cmd/compile/internal/types 0.009s

ok cmd/compile/internal/types2 16.398s

ok cmd/covdata 0.019s

ok cmd/cover 5.778s

ok cmd/dist 0.011s

ok cmd/distpack 0.031s

ok cmd/doc 0.787s

ok cmd/fix 25.885s

ok cmd/go 406.466s

ok cmd/go/internal/auth 0.014s

ok cmd/go/internal/cache 0.944s

ok cmd/go/internal/fsys 0.147s

ok cmd/go/internal/generate 0.066s

ok cmd/go/internal/get 0.049s

ok cmd/go/internal/imports 0.065s

ok cmd/go/internal/load 0.044s

ok cmd/go/internal/lockedfile 0.349s

ok cmd/go/internal/lockedfile/internal/filelock 0.062s

ok cmd/go/internal/modconv 0.049s

ok cmd/go/internal/modfetch 0.055s

ok cmd/go/internal/modfetch/codehost 0.056s

ok cmd/go/internal/modfetch/zip_sum_test 0.055s

ok cmd/go/internal/modindex 0.692s

ok cmd/go/internal/modload 0.063s

ok cmd/go/internal/mvs 0.052s

ok cmd/go/internal/par 0.057s

ok cmd/go/internal/str 0.010s

ok cmd/go/internal/test 0.091s

ok cmd/go/internal/vcs 0.046s

ok cmd/go/internal/vcweb 0.055s

ok cmd/go/internal/vcweb/vcstest 21.772s

ok cmd/go/internal/web 0.042s

ok cmd/go/internal/work 0.356s

ok cmd/gofmt 0.209s

ok cmd/internal/archive 2.605s

ok cmd/internal/buildid 0.752s

ok cmd/internal/cov 1.761s

ok cmd/internal/dwarf 0.029s

ok cmd/internal/edit 0.033s

ok cmd/internal/goobj 0.031s

ok cmd/internal/moddeps 14.159s

ok cmd/internal/notsha256 0.043s

ok cmd/internal/obj 4.576s

ok cmd/internal/obj/arm64 0.223s

ok cmd/internal/obj/ppc64 0.506s

ok cmd/internal/obj/riscv 0.143s

ok cmd/internal/obj/s390x 0.027s

ok cmd/internal/obj/x86 36.489s

ok cmd/internal/objabi 0.027s

ok cmd/internal/pkgpath 0.164s

ok cmd/internal/pkgpattern 0.027s

ok cmd/internal/quoted 0.019s

ok cmd/internal/src 0.023s

ok cmd/internal/test2json 1.262s

ok cmd/link 82.646s

ok cmd/link/internal/benchmark 0.033s

ok cmd/link/internal/ld 32.614s

ok cmd/link/internal/loader 0.085s

ok cmd/nm 7.889s

ok cmd/objdump 14.599s

ok cmd/pack 1.070s

ok cmd/pprof 2.253s

ok cmd/trace 0.289s

ok cmd/vet 39.242s


##### os/user with tag osusergo

ok os/user 0.063s

##### hash/maphash purego implementation

ok hash/maphash 0.616s

##### GOMAXPROCS=2 runtime -cpu=1,2,4 -quick

ok runtime 99.012s

##### Testing without libgcc.

ok net 0.089s

ok os/user 0.060s

##### internal linking of -buildmode=pie

ok reflect 2.358s

ok os/user 0.053s

##### sync -cpu=10

ok sync 1.449s

##### Testing race detector

FATAL: ThreadSanitizer: unsupported VMA range

FATAL: Found 39 - Supported 48

FAIL runtime/race 0.049s

FAIL 2023/04/22 14:04:07 Failed: exit status 1

skipped due to unsupported VMA

FATAL: ThreadSanitizer: unsupported VMA range

FATAL: Found 39 - Supported 48

FAIL flag 0.053s

FATAL: ThreadSanitizer: unsupported VMA range

FATAL: Found 39 - Supported 48

FAIL os/exec 0.052s

FAIL 2023/04/22 14:06:00 Failed: exit status 1

go tool dist: FAILED


root@marietto-nano:/home/marietto/Scaricati/go_git/src# mkdir ~/docker_build

root@marietto-nano:/home/marietto/Scaricati/go_git/src# nano /home/marietto/.profile


GOROOT_BOOTSTRAP="/home/ubuntu/go1.10.3"

GOROOT=$HOME/go_git

GOPATH=$HOME/docker_build

# set PATH so it includes user's private bin directories

PATH="$HOME/bin:$HOME/.local/bin:$PATH:$GOROOT/bin:$GOPATH/bin"

export PATH

export GOROOT_BOOTSTRAP

export GOROOT

export GOPATH


root@marietto-nano:/home/marietto/Scaricati/go_git/src# exit

exit

marietto@marietto-nano:~$ source /home/marietto/.profile

marietto@marietto-nano:~/Scaricati$ cp -r go_git /home/marietto

marietto@marietto-nano:~/Scaricati$ source /home/marietto/.profile

marietto@marietto-nano:~/Scaricati$ go version

go version go1.18.1 linux/arm64


marietto@marietto-nano:/home/marietto/go_git/src$ go get golang.org/x/tools/cmd/godoc

go: downloading golang.org/x/tools v0.8.0

go: downloading golang.org/x/sys v0.7.0

go: downloading github.com/yuin/goldmark v1.4.13

go: downloading golang.org/x/mod v0.10.0

go: downloading golang.org/x/net v0.9.1-0.20230410173003-9001ca7de9d7

go: downloading golang.org/x/crypto v0.5.1-0.20230203195927-310bfa40f1e4

go: downloading golang.org/x/text v0.9.0

go: added github.com/yuin/goldmark v1.4.13

go: upgraded golang.org/x/mod v0.8.0 => v0.10.0

go: upgraded golang.org/x/tools v0.6.0 => v0.8.0


marietto@marietto-nano:~/go_git/src$ go get -d github.com/docker/docker


go: downloading github.com/docker/docker v23.0.4+incompatible

go: added github.com/docker/docker v23.0.4+incompatible


marietto@marietto-nano:~/go_git/src$ mkdir ~/docker_utils

marietto@marietto-nano:~/go_git/src$ cd ~/docker_build/src/github.com/docker/docker/hack/dockerfile/install

bash: cd: /home/marietto/docker_build/src/github.com/docker/docker/hack/dockerfile/install: File or directory not found


root@marietto-nano:/home/marietto/go_git/src# find / -name github.com


/root/go/pkg/mod/cache/download/github.com

/root/go/pkg/mod/github.com

/home/marietto/docker_build/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com

/home/marietto/docker_build/pkg/mod/cache/download/github.com

/home/marietto/docker_build/pkg/mod/github.com

/home/marietto/Scaricati/go1.10.3/pkg/linux_amd64/cmd/vendor/github.com

/home/marietto/Scaricati/go1.10.3/src/cmd/vendor/github.com

/home/marietto/Scaricati/go_git/src/cmd/vendor/github.com

/home/marietto/go1.10.3/pkg/mod/cache/download/github.com

/home/marietto/go1.10.3/pkg/mod/github.com

/home/marietto/go_git/src/cmd/vendor/github.com

find: ‘/run/user/1000/doc’: Access Denied

find: ‘/run/user/1000/gvfs’: Access Denied

/usr/lib/go-1.18/pkg/linux_arm64/cmd/vendor/github.com

/usr/share/go-1.18/src/cmd/vendor/github.com


I think that these errors :


FATAL: ThreadSanitizer: unsupported VMA range FATAL: Found 39 - Supported 48 go: downloading github.com/docker/docker v23.0.4+incompatible go: added github.com/docker/docker v23.0.4+incompatible


prevents the creation of this directory :


"/home/marietto/docker_build/src/github.com/docker/docker/hack/dockerfile"


and I can't continue the configuration. What should I do ?

Ian Lance Taylor

unread,
Apr 24, 2023, 7:54:06 PM4/24/23
to Mario Marietto, golang-nuts
On Mon, Apr 24, 2023 at 4:17 PM Mario Marietto <mariet...@gmail.com> wrote:


> root@marietto-nano:/home/marietto/Scaricati/go_git/src# bash all.bash

Running all.bash builds the Go toolchain and standard library and runs
all the tests.


> I think that these errors :
>
>
> FATAL: ThreadSanitizer: unsupported VMA range FATAL: Found 39 - Supported 48 go: downloading github.com/docker/docker v23.0.4+incompatible go: added github.com/docker/docker v23.0.4+incompatible

This is a test failure, but not a very interesting one. It means that
the race detector isn't working for some reason, but the race detector
is a nice feature, not an essential one.

I suggest that instead of running all.bash that you run make.bash.
That will build the toolchain but not bother running the tests. The
tests mostly pass already.



> prevents the creation of this directory :
>
>
> "/home/marietto/docker_build/src/github.com/docker/docker/hack/dockerfile"

I don't know how that is connected to the error message.

Ian

Mario Marietto

unread,
Apr 24, 2023, 8:25:04 PM4/24/23
to Ian Lance Taylor, golang-nuts
root@marietto-nano:/home/marietto/Scaricati/go_git/src# bash make.bash

WARNING: /home/marietto/go1.10.3/bin/go does not exist, found /usr/bin/go from env
WARNING: set /usr/lib/go-1.18 as GOROOT_BOOTSTRAP
Building Go cmd/dist using /usr/lib/go-1.18. (go1.18.1 linux/arm64)
Building Go toolchain1 using /usr/lib/go-1.18.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/arm64.
---
Installed Go for linux/arm64 in /home/marietto/Scaricati/go_git
Installed commands in /home/marietto/Scaricati/go_git/bin
*** You need to add /home/marietto/Scaricati/go_git/bin to your PATH.

It seems that everything is going well right now. What should I do next to compile and build docker ? Can you tell me at which exact point of the tutorial I should restart ? (this is the tutorial that I'm following :


Thanks again.
--
Mario.

Ian Lance Taylor

unread,
Apr 24, 2023, 8:35:19 PM4/24/23
to Mario Marietto, golang-nuts
On Mon, Apr 24, 2023 at 5:24 PM Mario Marietto <mariet...@gmail.com> wrote:
>
> root@marietto-nano:/home/marietto/Scaricati/go_git/src# bash make.bash
>
> WARNING: /home/marietto/go1.10.3/bin/go does not exist, found /usr/bin/go from env
> WARNING: set /usr/lib/go-1.18 as GOROOT_BOOTSTRAP
> Building Go cmd/dist using /usr/lib/go-1.18. (go1.18.1 linux/arm64)
> Building Go toolchain1 using /usr/lib/go-1.18.
> Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
> Building Go toolchain2 using go_bootstrap and Go toolchain1.
> Building Go toolchain3 using go_bootstrap and Go toolchain2.
> Building packages and commands for linux/arm64.
> ---
> Installed Go for linux/arm64 in /home/marietto/Scaricati/go_git
> Installed commands in /home/marietto/Scaricati/go_git/bin
> *** You need to add /home/marietto/Scaricati/go_git/bin to your PATH.
>
> It seems that everything is going well right now. What should I do next to compile and build docker ? Can you tell me at which exact point of the tutorial I should restart ? (this is the tutorial that I'm following :
>
> https://gist.github.com/cwgem/c913c80dcb8eeef38abc30ff3abf1750

I've never tried this myself and I have no idea whether it works. But
where those instructions say "all.bash", just run "make.bash" and keep
following the instructions as though you ran "all.bash".

Ian

Mario Marietto

unread,
Apr 25, 2023, 9:13:03 AM4/25/23
to Ian Lance Taylor, golang-nuts
Hello to everyone.

I've restarted the tutorial from the beginning and I'm trying to accomplish the next step,as indicated where he says :

"Note containerd by default installs as static in the install script. Due to that failing (most likely needs musl to properly compile statically) I instead decided to install it as dynamic, meaning it needed to be one-offed"

According with the tutorial I've created the script called compile_docker_utils.sh and I have set it +x and I ran it :

compile_docker_utils.sh

PREFIX="$HOME/docker_utils" ./install.sh containerd dynamic
for package in "runc vndr"
do
 PREFIX="$HOME/docker_utils" ./install.sh $package
done
 

This is what happens :

+ RM_GOPATH=0
+ TMP_GOPATH=
+ : /home/marietto/docker_utils
+ '[' -z '' ']'
++ mktemp -d
+ export GOPATH=/tmp/tmp.ZhgEkEF3Ly
+ GOPATH=/tmp/tmp.ZhgEkEF3Ly
+ RM_GOPATH=1
+ case "$(go env GOARCH)" in
++ go env GOARCH
+ export GO_BUILDMODE=-buildmode=pie
+ GO_BUILDMODE=-buildmode=pie
++ dirname ./install.sh
+ dir=.
+ bin=containerd
+ shift
+ '[' '!' -f ./containerd.installer ']'
+ . ./containerd.installer
++ set -e
++ : v1.6.20
+ install_containerd dynamic
+ echo 'Install containerd version v1.6.20'
Install containerd version v1.6.20
+ git clone https://github.com/containerd/containerd.git /tmp/tmp.ZhgEkEF3Ly/src/github.com/containerd/containerd
Clone in '/tmp/tmp.ZhgEkEF3Ly/src/github.com/containerd/containerd' in corso...
remote: Enumerating objects: 111847, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (159/159), done.
remote: Total 111847 (delta 147), reused 237 (delta 126), pack-reused 111559
Ricezione degli oggetti: 100% (111847/111847), 94.08 MiB | 6.21 MiB/s, fatto.
Risoluzione dei delta: 100% (70427/70427), fatto.
Aggiornamento dei file in corso: 100% (5268/5268), fatto.
+ cd /tmp/tmp.ZhgEkEF3Ly/src/github.com/containerd/containerd
+ git checkout -q v1.6.20
+ export 'BUILDTAGS=netgo osusergo static_build'
+ BUILDTAGS='netgo osusergo static_build'
+ export EXTRA_FLAGS=-buildmode=pie
+ EXTRA_FLAGS=-buildmode=pie
+ export 'EXTRA_LDFLAGS=-extldflags "-fno-PIC -static"'
+ EXTRA_LDFLAGS='-extldflags "-fno-PIC -static"'
+ '[' dynamic = dynamic ']'
+ export BUILDTAGS=
+ BUILDTAGS=
+ export EXTRA_FLAGS=
+ EXTRA_FLAGS=
+ export EXTRA_LDFLAGS=
+ EXTRA_LDFLAGS=
+ make
+ bin/ctr
go: no such tool "compile"
make: *** [Makefile:249: bin/ctr] Errore 2
+ RM_GOPATH=0
+ TMP_GOPATH=
+ : /home/marietto/docker_utils
+ '[' -z '' ']'
++ mktemp -d
+ export GOPATH=/tmp/tmp.exqHoLQLtJ
+ GOPATH=/tmp/tmp.exqHoLQLtJ
+ RM_GOPATH=1
+ case "$(go env GOARCH)" in
++ go env GOARCH
+ export GO_BUILDMODE=-buildmode=pie
+ GO_BUILDMODE=-buildmode=pie
++ dirname ./install.sh
+ dir=.
+ bin=runc
+ shift
+ '[' '!' -f ./runc.installer ']'
+ . ./runc.installer
++ set -e
++ : v1.1.5
+ install_runc proxy tini tomlv vndr
+ RUNC_BUILDTAGS=seccomp
+ echo 'Install runc version v1.1.5 (build tags: seccomp)'
Install runc version v1.1.5 (build tags: seccomp)
+ git clone https://github.com/opencontainers/runc.git /tmp/tmp.exqHoLQLtJ/src/github.com/opencontainers/runc
Clone in '/tmp/tmp.exqHoLQLtJ/src/github.com/opencontainers/runc' in corso...
remote: Enumerating objects: 38294, done.
remote: Counting objects: 100% (77/77), done.
remote: Compressing objects: 100% (59/59), done.
remote: Total 38294 (delta 23), reused 59 (delta 18), pack-reused 38217
Ricezione degli oggetti: 100% (38294/38294), 18.24 MiB | 4.57 MiB/s, fatto.
Risoluzione dei delta: 100% (25163/25163), fatto.
+ cd /tmp/tmp.exqHoLQLtJ/src/github.com/opencontainers/runc
+ git checkout -q v1.1.5
+ '[' -z proxy ']'
+ target=proxy
+ make BUILDTAGS=seccomp proxy
make: ***  No rule to make target «proxy».  Stop.


The same happens with tini,tomlv,vndr. Are these components fundamentals for running docker ? Why won't it compile them ? Is there another method to install them ? Thanks.

--
Mario.

Mario Marietto

unread,
Apr 25, 2023, 11:52:09 AM4/25/23
to Ian Lance Taylor, golang-nuts
Hello to everyone.

I've restarted the tutorial from the beginning and I've saved every command issued :

$ cd /home/marietto
$ wget https://dl.google.com/go/go1.20.3.linux-arm64.tar.gz
$ tar -xf archive.tar.gz
$ mv go go1.20.3

$ nano /home/marietto/.profile

PATH="$HOME/bin:$HOME/.local/bin:$PATH"
GOROOT_BOOTSTRAP="$HOME/go1.20.3"
export PATH
export GOROOT_BOOTSTRAP

$ source /home/marietto/.profile

$ git clone https://go.googlesource.com/go go_git

Clone in 'go_git' in corso...
remote: Finding sources: 100% (10/10)
remote: Total 570024 (delta 454760), reused 570018 (delta 454760)
Ricezione degli oggetti: 100% (570024/570024), 333.21 MiB | 6.12 MiB/s, fatto.
Risoluzione dei delta: 100% (454760/454760), fatto.
Aggiornamento dei file in corso: 100% (12328/12328), fatto.

$ cd go_git
$ git branch -a


* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/release-branch.go1
  remotes/origin/release-branch.go1.1
  remotes/origin/release-branch.go1.10
  remotes/origin/release-branch.go1.11
  remotes/origin/release-branch.go1.12
  remotes/origin/release-branch.go1.13
  remotes/origin/release-branch.go1.14
  remotes/origin/release-branch.go1.15
  remotes/origin/release-branch.go1.16
  remotes/origin/release-branch.go1.17
  remotes/origin/release-branch.go1.18
  remotes/origin/release-branch.go1.19
  remotes/origin/release-branch.go1.2
  remotes/origin/release-branch.go1.20
  remotes/origin/release-branch.go1.3
  remotes/origin/release-branch.go1.4
  remotes/origin/release-branch.go1.5
  remotes/origin/release-branch.go1.6
  remotes/origin/release-branch.go1.7
  remotes/origin/release-branch.go1.8
  remotes/origin/release-branch.go1.9

$ cd /home/marietto/go_git/src
$ bash make.bash

Building Go cmd/dist using /home/marietto/go1.20.3. (go1.20.3 linux/arm64)
Building Go toolchain1 using /home/marietto/go1.20.3.

Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/arm64.
---
Installed Go for linux/arm64 in /home/marietto/go_git
Installed commands in /home/marietto/go_git/bin

marietto@marietto-nano:~/go_git/src$ sudo nano /home/marietto/.profile

GOROOT_BOOTSTRAP="/home/marietto/go1.20.3"
GOROOT=$HOME/go_git
GOPATH=$HOME/docker_build

PATH="$HOME/bin:$HOME/.local/bin:$PATH:$GOROOT/bin:$GOPATH/bin"

export PATH
export GOROOT_BOOTSTRAP
export GOROOT
export GOPATH

$ go version
go version go1.20.3 linux/arm64

marietto@marietto-nano:~/go_git/src$ go get golang.org/x/tools/cmd/godoc


go: downloading golang.org/x/tools v0.8.0
go: downloading golang.org/x/sys v0.7.0
go: downloading github.com/yuin/goldmark v1.4.13
go: downloading golang.org/x/mod v0.10.0
go: downloading golang.org/x/net v0.9.1-0.20230410173003-9001ca7de9d7
go: downloading golang.org/x/crypto v0.5.1-0.20230203195927-310bfa40f1e4
go: downloading golang.org/x/text v0.9.0
go: added github.com/yuin/goldmark v1.4.13
go: upgraded golang.org/x/mod v0.8.0 => v0.10.0
go: upgraded golang.org/x/tools v0.6.0 => v0.8.0

marietto@marietto-nano:~/go_git/src$ godoc --help
bash: godoc: command not found

$ sudo find / -name godoc

/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/cmd/godoc
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/godoc

marietto@marietto-nano:~/go_git/src$ ls -lah $GOPATH

totale 12K
drwxrwxr-x  3 marietto marietto 4,0K apr 25 17:22 .
drwxr-xr-x 27 marietto marietto 4,0K apr 25 17:01 ..
drwxrwxr-x  4 marietto marietto 4,0K apr 25 17:22 pkg

marietto@marietto-nano:~/go_git/src$ echo $GOPATH
/home/marietto/docker_build

$ sudo find /home/marietto/docker_build -name src

/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/cmd/bundle/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/cmd/guru/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/cmd/fiximports/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/cmd/callgraph/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/assign/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/loopclosure/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/structtag/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/ifaceassert/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/pkgfact/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/atomicalign/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/tests/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/buildssa/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/sortslice/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/asmdecl/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/testinggoroutine/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/bools/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/errorsas/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/framepointer/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/atomic/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/shift/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/fieldalignment/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/stringintconv/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/nilness/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/lostcancel/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/unusedwrite/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/httpresponse/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/nilfunc/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/usesgenerics/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/printf/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/findcall/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/timeformat/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/buildtag/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/deepequalerrors/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/sigchanyzer/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/composite/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/unmarshal/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/cgocall/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/directive/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/copylock/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/stdmethods/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/reflectvaluecompare/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/unusedresult/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/unsafeptr/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/unreachable/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/shadow/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/analysis/passes/ctrlflow/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/ssa/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/ssa/interp/testdata/src
/home/marietto/docker_build/pkg/mod/golang.org/x/to...@v0.8.0/go/callgraph/vta/testdata/src

$ sudo find /home/marietto/docker_build -name bin
nothing.

Something is not going well with this command :

$ go get golang.org/x/tools/cmd/godoc

and I suspect that's not my fault. My journey ends here ? No,please,help me. Thanks.
--
Mario.

Brian Candler

unread,
Apr 25, 2023, 12:16:02 PM4/25/23
to golang-nuts
You're following out-of-date instructions. godoc is now "go doc".

Mario Marietto

unread,
Apr 25, 2023, 12:21:27 PM4/25/23
to Brian Candler, golang-nuts
like this ?


go: module golang.org/x/tools@upgrade found (v0.8.0), but does not contain package golang.org/x/tools/cmd/go
go: malformed module path "doc": missing dot in first path element




--
You received this message because you are subscribed to a topic in the Google Groups "golang-nuts" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golang-nuts/Ggit4eu0RWo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/e4ad316f-7a7c-4d8d-b161-7f1f929a2447n%40googlegroups.com.


--
Mario.

Brian Candler

unread,
Apr 25, 2023, 12:26:21 PM4/25/23
to golang-nuts
No, like "go doc --help" instead of "godoc --help"

Mario Marietto

unread,
Apr 25, 2023, 12:30:54 PM4/25/23
to Brian Candler, golang-nuts
Ok. So,the real error is not with godoc / go doc,but with the next command to issue :

marietto@marietto-nano:~/go_git/src$ go get -d github.com/docker/docker
go: downloading github.com/docker/docker v23.0.4+incompatible
go: added github.com/docker/docker v23.0.4+incompatible

marietto@marietto-nano:~/go_git/src$ go doc --help
go: inconsistent vendoring in /home/marietto/go_git/src:
       github.com/docker/doc...@v23.0.4+incompatible: is explicitly required in go.mod, but not marked as explicit in v
endor/modules.txt
       github.com/yuin/gold...@v1.4.13: is explicitly required in go.mod, but not marked as explicit in vendor/modules
.txt
       golang.org/x/m...@v0.10.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
       golang.org/x/to...@v0.8.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt

       To ignore the vendor directory, use -mod=readonly or -mod=mod.
       To sync the vendor directory, run:
               go mod vendor
go: inconsistent vendoring in /home/marietto/go_git/src:
       github.com/docker/doc...@v23.0.4+incompatible: is explicitly required in go.mod, but not marked as explicit in v
endor/modules.txt
       github.com/yuin/gold...@v1.4.13: is explicitly required in go.mod, but not marked as explicit in vendor/modules
.txt
       golang.org/x/m...@v0.10.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
       golang.org/x/to...@v0.8.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt

       To ignore the vendor directory, use -mod=readonly or -mod=mod.
       To sync the vendor directory, run:
               go mod vendor
Usage of [go] doc:
       go doc
       go doc <pkg>
       go doc <sym>[.<methodOrField>]
       go doc [<pkg>.]<sym>[.<methodOrField>]
       go doc [<pkg>.][<sym>.]<methodOrField>
       go doc <pkg> <sym>[.<methodOrField>]
For more information run
       go help doc

Flags:
 -C dir
       change to dir before running command
 -all
       show all documentation for package
 -c    symbol matching honors case (paths not affected)
 -cmd
       show symbols with package docs even if package is a command
 -short
       one-line representation for each symbol
 -src
       show source code for symbol
 -u    show unexported symbols as well as exported
exit status 2



--
Mario.

Mario Marietto

unread,
Apr 25, 2023, 12:47:30 PM4/25/23
to Brian Candler, golang-nuts
I don't understand where the real error is. According with the tutorial I should have this path :
 

instead,I have this one :



I don't know if it is good or not,since I read "doc...@v23.0.4+incompatible".
--
Mario.

Brian Candler

unread,
Apr 25, 2023, 1:13:14 PM4/25/23
to golang-nuts
Like I said, those instructions are woefully out of date. Whilst the Go language has a compatibility guarantee for code written in Go, this does not apply to the tooling, which is subject to change over time.  One of the major changes was the introduction of Go modules.

If you want to bring that tutorial up to date, I guess the best person to work with would be the author of the tutorial. If your objective is to build Docker on a new platform, then maybe you should engage with the Docker project - who presumably already have suitable up-to-date recipes for building Docker (which could also be used to update the tutorial). If you want to learn how the Go tooling works, then starting from a broken and out-of-date tutorial is definitely a baptism of fire :-)

If I understand you correctly, you say that the snap package of docker works on your Arm/Linux host under Ubuntu 18.04 and 20.04 but not 22.04. Have you tried reporting *specifically* what problem you see, to wherever you got the snap from? That would be Ubuntu Launchpad if it's a snap package from Canonical's default snap store.  It's possibly some sort of kernel-level or cgroup incompatibility, in which case rebuilding Docker itself isn't going to help.

One other thought: Go has a very good story around cross-compilation. You should be able to compile Arm binaries on an x86_64 machine, i.e. you don't need to run the compiler on the target itself. Whether Docker's build system (e.g. Makefiles) make use of that, I don't know.

Mario Marietto

unread,
Apr 25, 2023, 1:47:44 PM4/25/23
to Brian Candler, golang-nuts
---> If you want to bring that tutorial up to date, I guess the best person to work with would be the author of the tutorial.

I emailed him,but he didn't respond. There is no guarantee that the author of an old tutorial will reply to email messages. Rarely happens if the tutorials are old.

---> If your objective is to build Docker on a new platform, then maybe you should engage with the Docker project.

What's a new platform ? Is the Jetson nano a new platform ? Anyway,the point is that I don't know where the error is. If it comes from the go modules (as it seems to me,according to what you are explaining),you are the predestined and at the docker forum will tell me that I should come exactly where I am.

---> Have you tried reporting *specifically* what problem you see, to wherever you got the snap from? That would be Ubuntu Launchpad if it's a snap package from Canonical's default snap store. 

I suspect that the Ubuntu Launchpad developers will jump me to the nvidia forum,since the error happens on ubuntu 22.04 which runs on their board. And here is where the monkey falls. Yes because nVidia supports only the old Ubuntu 18.04 and they will give no help with the 22.04.

---> It's possibly some sort of kernel-level or cgroup incompatibility, in which case rebuilding Docker itself isn't going to help.

I have already checked this. I've installed Ubuntu 20.04 on the Jetson nano using the same kernel that I'm using on the 22.04 and docker worked. So,it's not a kernel fault. Based on my (little) experience the error is due to some component in the Ubuntu 22.04 userland,maybe tied with the GPU drivers used by nVidia for Ubuntu 18.04.



--
Mario.

TheDiveO

unread,
Apr 25, 2023, 3:17:52 PM4/25/23
to golang-nuts
Please do not install Docker as a snap, as this fundamentally breaks several parts of Docker. This is a well known limitation of snap. Simply install from the Docker repository, instructions are on the Docker website.

Building Docker is complicated, as it predates Go modules and still has no fully working mod (there's actually a vendoring mog that somehow gets swapped in). If anything, build from moby/moby as this is now the official source repo for building Moby (Docker). This is complicated and the documentation warns any ambitious adventurer to expect a very bumpy ride. Well, they phrase it differently.

The pseudo version tag you're seeing is fine, at least in principle. I see it also finally now when building Docker plugins.

Mario Marietto

unread,
Apr 25, 2023, 3:56:13 PM4/25/23
to TheDiveO, golang-nuts
Hello.

I've got this file :


from the moby repository : https://github.com/moby/moby

but I don't know what to do next. I don't see the instructions there. Can you point me to the right tutorial ? thanks.



--
Mario.

Mario Marietto

unread,
Apr 25, 2023, 4:05:57 PM4/25/23
to TheDiveO, golang-nuts
I've just discovered something that I find interesting. When I have removed and purged docker with the following command :

sudo apt-get purge -y docker.io

It told me if I wanted to remove these packages :

docker.io* nvidia-docker2*

Look at the package called "nvidia-docker2" ; it may mean that there exists a customized version of docker created by nvidia ?
Also look at the versions of the docker packages installed on the jetson nano :

# dpkg -l | grep -i docker
 
ii  docker                                        1.5-2                                       all           transitional package
ii  docker.io                                    20.10.21-0ubuntu1~22.04.2   arm64     Linux container runtime
ii  nvidia-docker2                           2.8.0-1                                     all           nvidia-docker CLI wrapper
ii  wmdocker                                  1.5-2                                        arm64    System tray for KDE3/GNOME2

docker --version
Docker version 20.10.21, build 20.10.21-0ubuntu1~22.04.2


Do you see something unusual ? maybe you will help me to understand if I should refer to nvidia to fix the problem (anyway I can't do that,because they don't support ubuntu 22.04 on the jetson nano).
 
--
Mario.

TheDiveO

unread,
Apr 26, 2023, 1:00:42 PM4/26/23
to golang-nuts
Watch out for the difference between the -- in my experience often terrible and "stable" yet outdated -- docker.io packages and the
docker-ce packages, see also https://docs.docker.com/engine/install/ubuntu/ There’s also a license difference regarding the no-redistribution unless you build the packages yourself. Usually not a concern unless you distribute your own devices with your own distro on top of Debian, Ubuntu, ...

Now, throwing in Nvidia into the mix isn't exactly helping things, as it seems to be totally unclear as to how they are wrapping things in order to allow GPU access from Docker contains. From the few things I've seen it appears to be a container runtime shim (as opposed to a container engine!) that wraps runc with some Nvidia "magic". But there might be other things going on, but this is almost impossible to diagnose with Nvidia's stance regarding OpenSource. But the Nvidia support should be able to help you with their own Hardware and recommended SW setup.
Reply all
Reply to author
Forward
0 new messages