tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: MacOS issues with devel/glibc2, devel/gobject-introspection, devel/pango




> On Feb 16, 2020, at 11:08 AM, Jonathan Perkin <jperkin%joyent.com@localhost> wrote:
> 
> I don't know why it's failing, perhaps it's been fixed since then?  I
> post regular macOS bulk builds and as you can see from them I don't
> see the same problem.
> 
> The way it should work is the same as we modify all other builds in
> pkgsrc that don't use libtool and require libraries from within the
> work area during build - we LD_LIBRARY_PATH them only for the parts of
> the build that require them.
> 
> It feels like we had this exact conversation not that long ago - I'd
> suggest checking the tech-pkg archives for the previous meson thread.

We more or less did, but there was no resolution and the problem still persists (at least for me).  Thus, I am trying to resurrect the thread so that we can solve the problem.

Just for reference, are your MacOS builds on systems with SIP enabled?  Can you export LD_LIBRARY_PATH into your shell environment?  (I cannot with SIP enabled.)

I think you are correct that pkgsrc uses LD_LIBRARY_PATH when needed.  However, SIP removes that from the environment, so it does not help in situations like this.  I believe that is why I can build these packages with SIP disabled, but not when enabled.  

It may, however, be a bit more complicated.  The glib2 build process is described at https://developer.gnome.org/glib/stable/glib-building.html.  The upstream intention seems to be the following two commands:

	meson _build
	ninja -C _build

When I do the following:

	cd devel/glib2
	bmake extract
	cd work/glib-2.62.3
	meson _build
	ninja -C _build

Everything (including plugin-resources.c, see error below) completes without error.  However, building the same with pkgsrc yields the following error:

[864/1124] Generating plugin-resources.c with a custom command.
FAILED: gio/tests/plugin-resources.c 
/Volumes/NetBSD-boost/NetBSD/pkgsrc-2019Q4/pkgsrc/devel/glib2/work/glib-2.62.3/output/gio/glib-compile-resources --target=gio/tests/plugin-resources.c --sourcedir=/Volumes/NetBSD-boost/NetBSD/pkgsrc-2019Q4/pkgsrc/devel/glib2/work/glib-2.62.3/gio/tests --generate-source --c-name _g_plugin ../gio/tests/test4.gresource.xml
dyld: Library not loaded: @rpath/libgio-2.0.0.dylib
  Referenced from: /Volumes/NetBSD-boost/NetBSD/pkgsrc-2019Q4/pkgsrc/devel/glib2/work/glib-2.62.3/output/gio/glib-compile-resources
  Reason: image not found
ninja: build stopped: subcommand failed.
*** Error code 1

Thus, pkgsrc is doing something different and I certainly am having trouble figuring out what.

I would greatly appreciate help with this, as the same problem seems to break anything that is using meson in this way.

Thank you very much.

Cheers,
Brook



Home | Main Index | Thread Index | Old Index