I don't know if this is the right place to ask, but I have some issue building lablgtk3 with opam 2 on Fedora. ld complains about symbol defined twice.
#=== ERROR while compiling lablgtk3.3.1.0 =====================================#
# context 2.0.6 | linux/x86_64 | ocaml-base-compiler.4.10.0 | https://opam.ocaml.org#539949d2
# path ~/.opam/default/.opam-switch/build/lablgtk3.3.1.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p lablgtk3 -j 7
# exit-code 1
# env-file ~/.opam/log/lablgtk3-162052-674208.env
# output-file ~/.opam/log/lablgtk3-162052-674208.out
### output ###
# [...]
# /usr/bin/ld : src/ml_gtkbin.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkbuilder.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkbutton.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkedit.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkmenu.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkmisc.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkpack.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkrange.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtkstock.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtktext.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# /usr/bin/ld : src/ml_gtktree.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : définitions multiples de « ml_table_extension_events »; src/ml_gdk.o:/home/vlj/.opam/default/.opam-switch/build/lablgtk3.3.1.0/_build/default/src/ml_gdk.h:89 : défini pour la première fois ici
# collect2: erreur: ld a retourné le statut de sortie 1
"défini pour la première fois ici" = first time defined here
Looks like this one: https://github.com/garrigue/lablgtk/issues/112
nice finding !
look like I need to wait for opam to propagate the fix
or use their workaround
thanks !
Last updated: Oct 13 2024 at 01:02 UTC