Opened 4 years ago
Last modified 6 months ago
#62406 assigned defect
lablgtk2 @2.18.9: error: use of undeclared identifier 'caml_young_end'
Reported by: | bestlem | Owned by: | pmetzger (Perry E. Metzger) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | Cc: | cooljeanius (Eric Gallager) | |
Port: | lablgtk2 |
Description
On macOS 11.2 and macports 2.6.4 this fails to compile.
It looks like it is looking for macOS 11.0 SDK which don't exist. I do get the warning
Warning: The macOS 11.2 SDK does not appear to be installed. Ports may not build correctly. Warning: You can install it as part of the Xcode Command Line Tools package by running `xcode-select --install'.
But I have done all the steps and a manual install of the command line tools
Attachments (3)
Change History (19)
Changed 4 years ago by bestlem
comment:1 Changed 4 years ago by mf2k (Frank Schima)
In the future, please add the port maintainer(s) to Cc (port info --maintainers lablgtk2
), if any.
comment:2 Changed 4 years ago by mf2k (Frank Schima)
Owner: | set to pmetzger |
---|---|
Port: | lablgtk2 added; labgtk2 removed |
Status: | new → assigned |
comment:3 Changed 4 years ago by pmetzger (Perry E. Metzger)
I strongly suspect it's going to take some time to make lablgtk work correctly again.
For the original poster, what is the package you need lablgtk working with? Is it okay if lablgtk3 is made to work and not the gtk2 version?
comment:4 Changed 4 years ago by jmroot (Joshua Root)
The issue appears to be that ocaml is recording the SDK it was built against and trying to use that exact SDK to compile other things.
comment:5 Changed 4 years ago by bestlem
In general I am not using ocaml directly and wanted it for a minor end program I can live without so for me it is not a high priority problem.
But I dod a bit more digging
I was trying to build mldonkey (which probably has other issues #62014) so fixing this probably won't be the only thing. mldonkey does have an issue to move it to gtk3 but I suspect noone is working on it.
Both lablgtk and mldonkey have later builds and from https://github.com/ocaml/opam-repository/issues/14718#issuecomment-558198350 the lablgtk developer develops using macports
Making mldonkey a web only build might be quicker (#27386) and the best way for that.
However given jmroot's comment will all ocaml builds will have this problem - if so that might be worth fixing.
comment:6 Changed 4 years ago by pmetzger (Perry E. Metzger)
The issue appears to be that ocaml is recording the SDK it was built against and trying to use that exact SDK to compile other things.
I have no idea what that means?
comment:7 Changed 4 years ago by kencu (Ken)
This:
clang: warning: no such sysroot directory: '/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk' [-Wmissing-sysroot]
somewhere, somehow, this was recorded in a build script somewhere but it no longer exists:
MacOSX11.0.sdk
comment:8 Changed 4 years ago by pmetzger (Perry E. Metzger)
Perhaps I don't notice such things because I build from source, but generally, that would be the least of the things broken with the lablgtk2 port. It's way way out of date, and it isn't clear that that version of lablgtk is really being seriously maintained any more either, though there's much newer available.
comment:9 Changed 4 years ago by pmetzger (Perry E. Metzger)
BTW, it's not impossible that OCaml is recording the SDK it was built against but I would find that surprising. I can check if that's true.
comment:10 Changed 4 years ago by bestlem
Looking again I note that thius does build under BigSur - but under Homebrew As per recent issue upsteam https://github.com/garrigue/lablgtk/issues/120 The maintainer says it does work and he uses macports (but as a guess not for the ocaml bits)
Thus it is still maintained
I have a newer log after selfupdate (attached) - still I think the same error
:info:build ocamlc.opt -c -ccopt '-DG_DISABLE_ASSERT -DG_DISABLE_CAST_CHECKS -fno-unwind-tables -D_REENTRANT -I/opt/local/include/libglade-2.0 -I/opt/local/include/libxml2 -I/opt/local/include/libgnomecanvas-2.0 -I/opt/local/include/gail-1.0 -I/opt/local/include/libart-2.0 -I/opt/local/include/gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/pango-1.0 -I/opt/local/include/harfbuzz -I/opt/local/include/pango-1.0 -I/opt/local/include/fribidi -I/opt/local/include/cairo -I/opt/local/include/atk-1.0 -I/opt/local/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include/ossp -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/gdk-pixbuf-2.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -imacros ml_domain.h -O -DHAS_GTKQUARTZ' -verbose ml_gdkpixbuf.c :info:build + /usr/bin/clang -arch arm64 -O2 -fno-strict-aliasing -fwrapv -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -arch arm64 -D_FILE_OFFSET_BITS=64 -D_REENTRANT -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -c -DG_DISABLE_ASSERT -DG_DISABLE_CAST_CHECKS -fno-unwind-tables -D_REENTRANT -I/opt/local/include/libglade-2.0 -I/opt/local/include/libxml2 -I/opt/local/include/libgnomecanvas-2.0 -I/opt/local/include/gail-1.0 -I/opt/local/include/libart-2.0 -I/opt/local/include/gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/pango-1.0 -I/opt/local/include/harfbuzz -I/opt/local/include/pango-1.0 -I/opt/local/include/fribidi -I/opt/local/include/cairo -I/opt/local/include/atk-1.0 -I/opt/local/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include/ossp -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/gdk-pixbuf-2.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -imacros ml_domain.h -O -DHAS_GTKQUARTZ -I'/opt/local/lib/ocaml' 'ml_gdkpixbuf.c' :info:build clang: warning: no such sysroot directory: '/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk' [-Wmissing-sysroot] :info:build ml_gdkpixbuf.c:25:10: fatal error: 'string.h' file not found :info:build #include <string.h> :info:build ^~~~~~~~~~ :info:build 1 error generated.
It looks like macports ocamlc.opt is injecting -isysroot into the C compilation
The upstream build instructions use ocaml's dune to build. I tried macports' ocaml-dune but that failed with the same error. SO I think the issue is with our ocaml stack.
As I don't know ocaml I can't look further
comment:11 Changed 4 years ago by bestlem
And today's work was done after a port selfupdate - but that one just missed https://github.com/macports/macports-ports/commit/aa180331953d6c92044553666d74a70b9bc4f4e1 - so another selfupdate
So have another log with different errors
Changed 4 years ago by bestlem
comment:12 Changed 4 years ago by bestlem
And I think it is just now needed to use the latest version 2.18.11 (the app I wanted still has other issues as expected so I have not actually run lablgtk2 yet)
The checksums are
checksums rmd160 f119068f330f0c481a5e9ea3ef4014d04e10141d \ sha256 ff3c551df4e220b0c0fb9a3da6429413bff14f8fc93f4dd6807a35463982c863 \ size 1068587
comment:13 Changed 3 years ago by someuser12
Maybe it is solved by the recent update(s) of lablgtk2 to 2.18.11? (See https://github.com/macports/macports-ports/pull/12436 and https://github.com/macports/macports-ports/pull/12472).
comment:14 follow-up: 15 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | labgtk2 Big Sur → lablgtk2 @2.18.9: error: use of undeclared identifier 'caml_young_end' |
---|
Does this problem still happen with lablgtk2 @2.18.11?
comment:15 Changed 6 months ago by cooljeanius (Eric Gallager)
Replying to ryandesign:
Does this problem still happen with lablgtk2 @2.18.11?
Not seeing this specific problem happening with it, but I am seeing:
ocamlmklib -verbose -ocamlc "ocamlc.opt" -ocamlopt "ocamlopt.opt" -o lablgtk -oc lablgtk2 ml_gdkpixbuf.o ml_gdk.o ml_glib.o ml_gobject.o ml_gpointer.o ml_gvaluecaml.o wrappers.o ml_gtk.o ml_pango.o ml_gtkaction.o ml_gtkbin.o ml_gtkbroken.o ml_gtkbutton.o ml_gtkassistant.o ml_gtkedit.o ml_gtkfile.o ml_gtklist.o ml_gtkmenu.o ml_gtkmisc.o ml_gtkpack.o ml_gtkrange.o ml_gtkstock.o ml_gtktext.o ml_gtktree.o gaux.cmo gpointer.cmo gutf8.cmo glib.cmo gobject.cmo gdkEnums.cmo pangoEnums.cmo gtkEnums.cmo pango.cmo gdk.cmo gdkEvent.cmo gdkKeysyms.cmo gdkPixbuf.cmo gtk.cmo gtkSignal.cmo gtkStock.cmo gtkObject.cmo gtkBaseProps.cmo gtkBinProps.cmo gtkButtonProps.cmo gtkEditProps.cmo gtkListProps.cmo gtkMenuProps.cmo gtkMiscProps.cmo gtkPackProps.cmo gtkRangeProps.cmo gtkTextProps.cmo gtkTreeProps.cmo gtkFileProps.cmo gtkActionProps.cmo gtkBrokenProps.cmo gtkAssistantProps.cmo gtkData.cmo gtkBase.cmo gtkPack.cmo gtkButton.cmo gtkAssistant.cmo gtkMenu.cmo gtkMisc.cmo gtkWindow.cmo gtkList.cmo gtkBin.cmo gtkEdit.cmo gtkRange.cmo gtkText.cmo gtkTree.cmo gtkFile.cmo gtkMain.cmo gtkBroken.cmo gPango.cmo gDraw.cmo gObj.cmo ogtkBaseProps.cmo gData.cmo ogtkBinProps.cmo ogtkButtonProps.cmo ogtkEditProps.cmo ogtkListProps.cmo ogtkMenuProps.cmo ogtkMiscProps.cmo ogtkPackProps.cmo ogtkRangeProps.cmo ogtkTextProps.cmo ogtkTreeProps.cmo ogtkFileProps.cmo ogtkActionProps.cmo ogtkBrokenProps.cmo ogtkAssistantProps.cmo gMain.cmo gContainer.cmo gPack.cmo gButton.cmo gText.cmo gMenu.cmo gMisc.cmo gTree.cmo gList.cmo gFile.cmo gWindow.cmo gAssistant.cmo gBin.cmo gEdit.cmo gRange.cmo gAction.cmo gBroken.cmo gUtil.cmo gToolbox.cmo -L/opt/local/lib -lgtk-quartz-2.0 -lgdk-quartz-2.0 -framework Cocoa -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl + /usr/bin/clang -arch x86_64 -shared -flat_namespace -undefined suppress -Wl,-no_compact_unwind -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -o ./dlllablgtk2.so ml_gdkpixbuf.o ml_gdk.o ml_glib.o ml_gobject.o ml_gpointer.o ml_gvaluecaml.o wrappers.o ml_gtk.o ml_pango.o ml_gtkaction.o ml_gtkbin.o ml_gtkbroken.o ml_gtkbutton.o ml_gtkassistant.o ml_gtkedit.o ml_gtkfile.o ml_gtklist.o ml_gtkmenu.o ml_gtkmisc.o ml_gtkpack.o ml_gtkrange.o ml_gtkstock.o ml_gtktext.o ml_gtktree.o -framework Cocoa -L/opt/local/lib -lgtk-quartz-2.0 -lgdk-quartz-2.0 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl ld: file not found: /usr/lib/libauto.dylib for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [lablgtk.cma] Error 2 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_lablgtk2/lablgtk2/work/lablgtk-2.18.11/src' make: *** [world] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_lablgtk2/lablgtk2/work/lablgtk-2.18.11' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_lablgtk2/lablgtk2/work/lablgtk-2.18.11" && /usr/bin/make -w world Exit code: 2 Error: Failed to build lablgtk2: command execution failed DEBUG: Error code: CHILDSTATUS 73666 2
comment:16 Changed 6 months ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
Log of failed build