#67444 closed defect (fixed)

glib2 @2.76.2_1: Tiger builds require updated Meson

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: tiger ppc Cc: evanmiller (Evan Miller)
Port: glib2

Description

Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.76.2" && /opt/local/bin/meson setup --prefix=/opt/local -Ddefault_library=both -Dwarning_level=0 -Ddtrace=false -Dappinfo_backend=generic /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.76.2 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.76.2" && /opt/local/bin/meson setup --prefix=/opt/local -Ddefault_library=both -Dwarning_level=0 -Ddtrace=false -Dappinfo_backend=generic /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.76.2 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build 
The Meson build system
Version: 0.58.2
Source dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.76.2
Build dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build
Build type: native build

meson.build:1:0: ERROR: Meson version is 0.58.2 but project requires >= 0.60.0

A full log can be found at /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/meson-logs/meson-log.txt
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.76.2" && /opt/local/bin/meson setup --prefix=/opt/local -Ddefault_library=both -Dwarning_level=0 -Ddtrace=false -Dappinfo_backend=generic /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.76.2 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build 
Exit code: 1

Change History (15)

comment:1 Changed 18 months ago by mascguy (Christopher Nielsen)

Cc: evanmiller added; mascguy@… removed
Owner: set to mascguy
Status: newassigned
Summary: glib2 @2.76.2_1 does not build on PPC Tiger, Mac OS X 10.4.11, because:glib2 @2.76.2_1: Tiger builds require updated Meson

Evan was kind enough to submit a PR, specifically to update meson for Tiger:

PR 18675 - meson: update to 0.64.1 on Tiger

Can you test with that?

comment:2 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

Probably tomorrow! (Which will be a legal holiday in Germoney.) I started to upgrade boost176, which needs some time…

comment:3 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

I have to correct myself: I cannot. Because I do not know how to access the patch files. The Portfile should not be a problem, port will give me the necessary checksums.

comment:4 in reply to:  3 ; Changed 18 months ago by mascguy (Christopher Nielsen)

Replying to ballapete:

I have to correct myself: I cannot. Because I do not know how to access the patch files. The Portfile should not be a problem, port will give me the necessary checksums.

Assuming you're not comfortable using Git, you can do it from GitHub. Go to the updates for Evan's PR branch, which is the following link (also accessible from the PR itself):

https://github.com/macports/macports-ports/compare/master...evanmiller:macports-ports:meson-tiger-0.64.1

Then you can download each patch individually.

There might be easier ways to do it - presumably there are mucho GUI tools for Git these days - but that's the easiest way I can think of.

comment:5 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

How would it work with git? (I already had to clone, push, merge, diff, add…)

comment:6 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

And pull!

comment:7 in reply to:  5 ; Changed 18 months ago by mascguy (Christopher Nielsen)

Replying to ballapete:

How would it work with git? (I already had to clone, push, merge, diff, add…)

Oh, it's easier then! Clone Evan's repo, then switch to the branch name for the PR:

$ git clone git@github.com:evanmiller/macports-ports.git macports-ports-evanmiller
$ cd macports-ports-evanmiller
$ git switch meson-tiger-0.64.1
$ cp -v -r devel/meson <your-dest-dir>

comment:8 in reply to:  4 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

Replying to mascguy:

Replying to ballapete:

I have to correct myself: I cannot. Because I do not know how to access the patch files. The Portfile should not be a problem, port will give me the necessary checksums.

https://github.com/macports/macports-ports/compare/master...evanmiller:macports-ports:meson-tiger-0.64.1

Browsers on Tiger, TenFourFox, cannot handle that site. And, to be honest, I have no idea how to download the patches on Ventura, copy&paste?

comment:9 in reply to:  7 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

Replying to mascguy:

Replying to ballapete:

How would it work with git? (I already had to clone, push, merge, diff, add…)

Oh, it's easier then! Clone Evan's repo, then switch to the branch name for the PR:

$ git clone git@github.com:evanmiller/macports-ports.git macports-ports-evanmiller

No, this is not easier, this is overkill: 346.10 MiB downloaded.

comment:10 in reply to:  4 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

Replying to mascguy:

https://github.com/macports/macports-ports/compare/master...evanmiller:macports-ports:meson-tiger-0.64.1

Performing this manually by selecting each "file" and then clicking on the download symbol has one problem: One can easily omit an entry! Controlling my downloads I think I have fetched them all, even one too many, patch-meson58-gcc-appleframeworks.diff (still unchanged, and not necessary for Meson 0.64). scp to Tiger OK and installation of these files finished.

Already built! Now testing Meson 0.64.

comment:11 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

port -vdsk test meson produces errors:

Found ninja-1.11.1 at /opt/local/bin/ninja

$ /opt/local/bin/ninja -w dupbuild=err -d explain
stdout:
ninja explain: output meson-test-prereq of phony edge with no inputs doesn't exist
ninja explain: meson-test-prereq is dirty
ninja explain: output meson-benchmark-prereq of phony edge with no inputs doesn't exist
ninja explain: meson-benchmark-prereq is dirty
ninja explain: deps for 'subprojects/sub/libfoo.dylib.p/foo.c.o' are missing
ninja explain: subprojects/sub/libfoo.dylib.p/foo.c.o is dirty
ninja explain: subprojects/sub/libfoo.dylib is dirty
ninja explain: deps for 'app.p/main.c.o' are missing
ninja explain: app.p/main.c.o is dirty
ninja explain: subprojects/sub/libfoo.dylib is dirty
ninja explain: subprojects/sub/libfoo.dylib.p/libfoo.dylib.symbols is dirty
ninja explain: app is dirty
[1/5] Compiling C object subprojects/sub/libfoo.dylib.p/foo.c.o
[2/5] Compiling C object app.p/main.c.o
[3/5] Linking target subprojects/sub/libfoo.dylib
[4/5] Generating symbol file subprojects/sub/libfoo.dylib.p/libfoo.dylib.symbols
WARNING: ['nm'] does not work. Relinking will always happen on source changes.
error: nm: invalid argument --
Usage: nm [-agnopruUmxjlfAP[s segname sectname] [-] [-t format] [[-arch <arch_flag>] ...] [file ...]

[5/5] Linking target app

$ /opt/local/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_meson/meson/work/meson-0.64.1/meson.py devenv -C /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_meson/meson/work/meson-0.64.1/tmpxxroems7 /opt/local/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 '/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_meson/meson/work/meson-0.64.1/test cases/unit/90 devenv/test-devenv.py'
stdout:

$ /opt/local/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_meson/meson/work/meson-0.64.1/meson.py devenv -C /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_meson/meson/work/meson-0.64.1/tmpxxroems7 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_meson/meson/work/meson-0.64.1/tmpxxroems7/app
stdout:
dyld: Library not loaded: @loader_path/libfoo.dylib
  Referenced from: /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_meson/meson/work/meson-0.64.1/tmpxxroems7/app
  Reason: image not found

test_force_fallback_for_nofallback (unittests.allplatformstests.AllPlatformTests) ... ERROR

Stdout:

The problem with /usr/bin/nm vs./opt/local/bin/nm is well-known – and cannot be solved?

Since the X server in which GNU Emacs runs that hosts the test has some problem and is unresponsive I'll have to find access via SSH.

comment:12 Changed 18 months ago by evanmiller (Evan Miller)

I think the test works about as well as we can expect. The Meson patches replace @rpath with @loader_path, which is not the same thing. This is why we need so many DYLD_LIBRARY_PATH workarounds in the Portfiles for Tiger. I'd be more interested in results from compiling ports. I had success with the short list mentioned in the PR.

comment:13 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

I have these ports

at-spi2-atk
at-spi2-core
atk
dav1d
gdk-pixbuf2
glib2
gobject-introspection
gtk3
libepoxy
libxkbcommon
mesa
pango
shared-mime-info

that depend on

PortGroup           meson 1.0

Most of them could be re-built for a test…

comment:14 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

Build of glib2 @2.76.2_1 with meson @0.64.1_0 fails, see here: #67451. Cause are code/configuration of glib.

comment:15 Changed 18 months ago by evanmiller (Evan Miller)

Resolution: fixed
Status: assignedclosed

In 77685f6bf9ff430984905af0c7ee0b2b83fd944b/macports-ports (master):

glib2: fix build on Tiger, remove legacysupport

Closes: #67444
Closes: #67451
See: #67307

Note: See TracTickets for help on using tickets.