Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

fail to build on debian11 (arm64)

Aperta
#551 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
debian, linux, ocaml

Direzione di ricerca

Inizia riproducendo la build di ocaml-base-compiler 4.07.0 su Debian 11 arm64 usando il comando opam indicato. Esamina byterun/backtrace.c, byterun/backtrace_prim.c e i target di Makefile alle righe 208 e 389 in relazione alla definizione duplicata di caml_debug_info. Il lavoro è completato quando la build del compilatore termina senza l’errore del linker.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

[...]
- /usr/bin/ld: backtrace.pic.o:/home/pi/.opam/4.07.0/.opam-switch/build/ocaml-base-compiler.4.07.0/byterun/backtrace.c:31: multiple definition of `caml_debug_info'; backtrace_prim.pic.o:/home/pi/.opam/4.07.0/.opam-switch/build/ocaml-base-compiler.4.07.0/byterun/backtrace_prim.c:47: first defined here
- collect2: error: ld returned 1 exit status
- make[1]: *** [Makefile:208: libcamlrun_shared.so] Error 1
- make[1]: Leaving directory '/home/pi/.opam/4.07.0/.opam-switch/build/ocaml-base-compiler.4.07.0/byterun'
- make: *** [Makefile:389: coldstart] Error 2
[ERROR] The compilation of ocaml-base-compiler failed at "/home/pi/.opam/opam-init/hooks/sandbox.sh build make world".

#=== ERROR while compiling ocaml-base-compiler.4.07.0 =========================#
# context     2.0.8 | linux/arm64 |  | file:///home/pi/vpnkit/repo/darwin
# path        ~/.opam/4.07.0/.opam-switch/build/ocaml-base-compiler.4.07.0
# command     ~/.opam/opam-init/hooks/sandbox.sh build make world
# exit-code   2
# env-file    /tmp/opam-pi-14142/ocaml-base-compiler-14142-48c407.env
# output-file /tmp/opam-pi-14142/ocaml-base-compiler-14142-48c407.out
### output ###
# [...]
# gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -o spacetime.pic.o spacetime.c
# gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -o afl.pic.o afl.c
# gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -o unix.pic.o unix.c
# gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -o bigarray.pic.o bigarray.c
# gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -o main.pic.o main.c
# rm -f libcamlrun_pic.a && ar rc libcamlrun_pic.a  interp.pic.o misc.pic.o stacks.pic.o fix_code.pic.o startup_aux.pic.o startup.pic.o freelist.pic.o major_gc.pic.o minor_gc.pic.o memory.pic.o alloc.pic.o roots.pic.o globroots.pic.o fail.pic.o signals.pic.o signals_byt.pic.o printexc.pic.o backtrace_prim.pic.o backtrace.pic.o compare.pic.o ints.pic.o floats.pic.o str.pic.o array.pic.o io.pic.o[...]
# gcc -shared -o libcamlrun_shared.so interp.pic.o misc.pic.o stacks.pic.o fix_code.pic.o startup_aux.pic.o startup.pic.o freelist.pic.o major_gc.pic.o minor_gc.pic.o memory.pic.o alloc.pic.o roots.pic.o globroots.pic.o fail.pic.o signals.pic.o signals_byt.pic.o printexc.pic.o backtrace_prim.pic.o backtrace.pic.o compare.pic.o ints.pic.o floats.pic.o str.pic.o array.pic.o io.pic.o extern.pic.o [...]
# /usr/bin/ld: backtrace.pic.o:/home/pi/.opam/4.07.0/.opam-switch/build/ocaml-base-compiler.4.07.0/byterun/backtrace.c:31: multiple definition of `caml_debug_info'; backtrace_prim.pic.o:/home/pi/.opam/4.07.0/.opam-switch/build/ocaml-base-compiler.4.07.0/byterun/backtrace_prim.c:47: first defined here
# collect2: error: ld returned 1 exit status
# make[1]: *** [Makefile:208: libcamlrun_shared.so] Error 1
# make[1]: Leaving directory '/home/pi/.opam/4.07.0/.opam-switch/build/ocaml-base-compiler.4.07.0/byterun'
# make: *** [Makefile:389: coldstart] Error 2



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions were aborted
│ ∗ install ocaml 4.07.0
└─
┌─ The following actions failed
│ λ build ocaml-base-compiler 4.07.0
└─
┌─ The following changes have been performed (the rest was aborted)
│ ∗ install base-bigarray base
│ ∗ install base-threads  base
│ ∗ install base-unix     base
└─
# Run eval $(opam env) to update the current shell environment
Switch initialisation failed: clean up? ('n' will leave the switch partially installed) [Y/n] y
'opam init -v -n --comp=4.07.0 --switch=4.07.0 local repo/darwin' failed.
make: *** [Makefile:27: /home/pi/vpnkit/_build/opam] Error 31

opam version: 2.0.8
installed ocaml version: 4.11.1

Lingua principale
OCaml
Stelle
1.2k
Fork
213
Merge medio
20m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di moby/vpnkit

Tutte le issue di moby/vpnkit

Issue simili

Altre issue su Build System

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.