Opened 3 years ago

Closed 2 years ago

#64264 closed defect (fixed)

glib2 fails to build for ppc+ppc64 on Leopard: add depends_skip_archcheck-append python310 to Portfile

Reported by: barracuda156 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: PowerPC, Leopard, ppc64 Cc:
Port: glib2

Description (last modified by barracuda156)

This is for ppc64 only:

[674/1023] /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-resources --target=gio/tests/test.gresource --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6/gio/tests --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/tests ../glib-2.62.6/gio/tests/test.gresource.xml
FAILED: gio/tests/test.gresource 
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-resources --target=gio/tests/test.gresource --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6/gio/tests --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/tests ../glib-2.62.6/gio/tests/test.gresource.xml
dyld: Symbol not found: _UCNV_TO_U_CALLBACK_STOP_67
  Referenced from: /opt/local/lib/libxml2.2.dylib
  Expected in: dynamic lookup

../glib-2.62.6/gio/tests/test.gresource.xml: Child process killed by signal 5.
[675/1023] /usr/bin/gcc-4.2 -Igio/tests/libresourceplugin.dylib.p -Igio/tests -I../glib-2.62.6/gio/tests -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igmodule -I../glib-2.62.6/gmodule -Igobject -I../glib-2.62.6/gobject -Igio -I../glib-2.62.6/gio -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc64 -MD -MQ gio/tests/libresourceplugin.dylib.p/resourceplugin.c.o -MF gio/tests/libresourceplugin.dylib.p/resourceplugin.c.o.d -o gio/tests/libresourceplugin.dylib.p/resourceplugin.c.o -c ../glib-2.62.6/gio/tests/resourceplugin.c
[676/1023] /usr/bin/gcc-4.2 -Igio/gdbus.p -Igio -I../glib-2.62.6/gio -Igmodule -I../glib-2.62.6/gmodule -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igobject -I../glib-2.62.6/gobject -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc64 '-DG_LOG_DOMAIN="GLib-GIO"' -DGIO_COMPILATION '-DGIO_MODULE_DIR="/opt/local/lib/gio/modules"' -fvisibility=hidden -MD -MQ gio/gdbus.p/gdbus-tool.c.o -MF gio/gdbus.p/gdbus-tool.c.o.d -o gio/gdbus.p/gdbus-tool.c.o -c ../glib-2.62.6/gio/gdbus-tool.c
[677/1023] /usr/bin/gcc-4.2 -Igio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p -Igio/tests/gdbus-object-manager-example -I../glib-2.62.6/gio/tests/gdbus-object-manager-example -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igmodule -I../glib-2.62.6/gmodule -Igobject -I../glib-2.62.6/gobject -Igio -I../glib-2.62.6/gio -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc64 '-DG_LOG_DOMAIN="GLib-GIO"' '-DTEST_SERVICES="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/tests/services"' '-DGLIB_MKENUMS="gobject/glib-mkenums"' '-DGLIB_COMPILE_SCHEMAS="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-schemas"' -UG_DISABLE_ASSERT -MD -MQ gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p/meson-generated_.._objectmanager-gen.c.o -MF gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p/meson-generated_.._objectmanager-gen.c.o.d -o gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p/meson-generated_.._objectmanager-gen.c.o -c gio/tests/gdbus-object-manager-example/objectmanager-gen.c
ninja: build stopped: subcommand failed.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build" && /opt/local/bin/ninja -j4 --verbose -v 
Exit code: 1
Error: Failed to build glib2: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port glib2 failed

Universal build fails much earlier:

--->  Configuring glib2
--->  Configuring glib2 for architecture ppc64
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6-ppc64" && /opt/local/bin/meson --prefix=/opt/local -Ddefault_library=both -Dwarning_level=0 -Ddtrace=false -Dappinfo_backend=generic /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6-ppc64 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build-ppc64 --cross-file=ppc64-darwin 
Could not find any valid candidate for cross files: ppc64-darwin

ERROR: Cannot find specified cross file: ppc64-darwin
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6-ppc64" && /opt/local/bin/meson --prefix=/opt/local -Ddefault_library=both -Dwarning_level=0 -Ddtrace=false -Dappinfo_backend=generic /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6-ppc64 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build-ppc64 --cross-file=ppc64-darwin 
Exit code: 1
Error: Failed to configure glib2: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port glib2 failed
36-225:gcc-7.5.0 svacchanda$ sudo port -v install glib2 -universal
Error: Requested variants "+x11" do not match those the build was started with: "+universal+x11".
Error: Please use the same variants again, or run 'port clean glib2' first to remove the existing partially completed build.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port glib2 failed

And for ppc-only:

[663/1023] /usr/bin/gcc-4.2  -o gio/gio gio/gio.p/gio-tool.c.o gio/gio.p/gio-tool-cat.c.o gio/gio.p/gio-tool-copy.c.o gio/gio.p/gio-tool-info.c.o gio/gio.p/gio-tool-list.c.o gio/gio.p/gio-tool-mime.c.o gio/gio.p/gio-tool-mkdir.c.o gio/gio.p/gio-tool-monitor.c.o gio/gio.p/gio-tool-mount.c.o gio/gio.p/gio-tool-move.c.o gio/gio.p/gio-tool-open.c.o gio/gio.p/gio-tool-rename.c.o gio/gio.p/gio-tool-remove.c.o gio/gio.p/gio-tool-save.c.o gio/gio.p/gio-tool-set.c.o gio/gio.p/gio-tool-trash.c.o gio/gio.p/gio-tool-tree.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-framework,CoreFoundation -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch ppc -pipe -Os -Wno-deprecated-declarations -arch ppc -Wl,-rpath,@loader_path/ -Wl,-rpath,@loader_path/../glib -Wl,-rpath,@loader_path/../gobject -Wl,-rpath,@loader_path/../gmodule gio/libgio-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib glib/libglib-2.0.0.dylib gobject/libgobject-2.0.0.dylib -lintl
[664/1023] /usr/bin/gcc-4.2  -o gio/gresource gio/gresource.p/gresource-tool.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-framework,CoreFoundation -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch ppc -pipe -Os -Wno-deprecated-declarations -arch ppc -Wl,-rpath,@loader_path/ -Wl,-rpath,@loader_path/../glib -Wl,-rpath,@loader_path/../gobject -Wl,-rpath,@loader_path/../gmodule gio/libgio-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib glib/libglib-2.0.0.dylib gobject/libgobject-2.0.0.dylib -lintl
[665/1023] /usr/bin/gcc-4.2 -Igio/gsettings.p -Igio -I../glib-2.62.6/gio -Igmodule -I../glib-2.62.6/gmodule -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igobject -I../glib-2.62.6/gobject -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc '-DG_LOG_DOMAIN="GLib-GIO"' -DGIO_COMPILATION '-DGIO_MODULE_DIR="/opt/local/lib/gio/modules"' -fvisibility=hidden -MD -MQ gio/gsettings.p/gsettings-tool.c.o -MF gio/gsettings.p/gsettings-tool.c.o.d -o gio/gsettings.p/gsettings-tool.c.o -c ../glib-2.62.6/gio/gsettings-tool.c
[666/1023] /usr/bin/gcc-4.2 -Igio/glib-compile-schemas.p -Igio -I../glib-2.62.6/gio -Igmodule -I../glib-2.62.6/gmodule -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igobject -I../glib-2.62.6/gobject -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc -MD -MQ gio/glib-compile-schemas.p/glib-compile-schemas.c.o -MF gio/glib-compile-schemas.p/glib-compile-schemas.c.o.d -o gio/glib-compile-schemas.p/glib-compile-schemas.c.o -c ../glib-2.62.6/gio/glib-compile-schemas.c
[667/1023] /usr/bin/gcc-4.2  -o gio/gio-querymodules gio/gio-querymodules.p/gio-querymodules.c.o gio/gio-querymodules.p/giomodule-priv.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-framework,CoreFoundation -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch ppc -pipe -Os -Wno-deprecated-declarations -arch ppc -Wl,-rpath,@loader_path/ -Wl,-rpath,@loader_path/../glib -Wl,-rpath,@loader_path/../gobject -Wl,-rpath,@loader_path/../gmodule gio/libgio-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib glib/libglib-2.0.0.dylib gobject/libgobject-2.0.0.dylib -lintl
[668/1023] /usr/bin/gcc-4.2  -o gio/glib-compile-schemas gio/glib-compile-schemas.p/gvdb_gvdb-builder.c.o gio/glib-compile-schemas.p/glib-compile-schemas.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-framework,CoreFoundation -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch ppc -pipe -Os -Wno-deprecated-declarations -arch ppc -Wl,-rpath,@loader_path/ -Wl,-rpath,@loader_path/../glib -Wl,-rpath,@loader_path/../gobject -Wl,-rpath,@loader_path/../gmodule gio/libgio-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib glib/libglib-2.0.0.dylib gobject/libgobject-2.0.0.dylib -lintl
[669/1023] /usr/bin/gcc-4.2  -o gio/gsettings gio/gsettings.p/gsettings-tool.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-framework,CoreFoundation -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch ppc -pipe -Os -Wno-deprecated-declarations -arch ppc -Wl,-rpath,@loader_path/ -Wl,-rpath,@loader_path/../glib -Wl,-rpath,@loader_path/../gobject -Wl,-rpath,@loader_path/../gmodule gio/libgio-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib glib/libglib-2.0.0.dylib gobject/libgobject-2.0.0.dylib -lintl
[670/1023] /usr/bin/gcc-4.2 -Igio/glib-compile-resources.p -Igio -I../glib-2.62.6/gio -Igmodule -I../glib-2.62.6/gmodule -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igobject -I../glib-2.62.6/gobject -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc '-DG_LOG_DOMAIN="GLib-GIO"' -DGIO_COMPILATION '-DGIO_MODULE_DIR="/opt/local/lib/gio/modules"' -fvisibility=hidden -MD -MQ gio/glib-compile-resources.p/glib-compile-resources.c.o -MF gio/glib-compile-resources.p/glib-compile-resources.c.o.d -o gio/glib-compile-resources.p/glib-compile-resources.c.o -c ../glib-2.62.6/gio/glib-compile-resources.c
../glib-2.62.6/gio/glib-compile-resources.c: In function ‘parse_resource_file’:
../glib-2.62.6/gio/glib-compile-resources.c:596: warning: dereferencing type-punned pointer will break strict-aliasing rules
../glib-2.62.6/gio/glib-compile-resources.c:596: warning: dereferencing type-punned pointer will break strict-aliasing rules
../glib-2.62.6/gio/glib-compile-resources.c: In function ‘main’:
../glib-2.62.6/gio/glib-compile-resources.c:1065: warning: dereferencing type-punned pointer will break strict-aliasing rules
[671/1023] /usr/bin/gcc-4.2  -o gio/glib-compile-resources gio/glib-compile-resources.p/gvdb_gvdb-builder.c.o gio/glib-compile-resources.p/glib-compile-resources.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-framework,CoreFoundation -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch ppc -pipe -Os -Wno-deprecated-declarations -arch ppc -Wl,-rpath,@loader_path/ -Wl,-rpath,@loader_path/../glib -Wl,-rpath,@loader_path/../gobject -Wl,-rpath,@loader_path/../gmodule gio/libgio-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib glib/libglib-2.0.0.dylib gobject/libgobject-2.0.0.dylib -lintl
[672/1023] /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-resources --target=gio/tests/test_resources2.c --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6/gio/tests --generate --c-name _g_test2 --manual-register ../glib-2.62.6/gio/tests/test3.gresource.xml
[673/1023] /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-resources --target=gio/tests/plugin-resources.c --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6/gio/tests --generate-source --c-name _g_plugin ../glib-2.62.6/gio/tests/test4.gresource.xml
[674/1023] /usr/bin/gcc-4.2 -Igio/tests/gdbus-overflow.p -Igio/tests -I../glib-2.62.6/gio/tests -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igmodule -I../glib-2.62.6/gmodule -Igobject -I../glib-2.62.6/gobject -Igio -I../glib-2.62.6/gio -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc '-DG_LOG_DOMAIN="GLib-GIO"' '-DTEST_SERVICES="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/tests/services"' '-DGLIB_MKENUMS="gobject/glib-mkenums"' '-DGLIB_COMPILE_SCHEMAS="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-schemas"' -UG_DISABLE_ASSERT -MD -MQ gio/tests/gdbus-overflow.p/gdbus-overflow.c.o -MF gio/tests/gdbus-overflow.p/gdbus-overflow.c.o.d -o gio/tests/gdbus-overflow.p/gdbus-overflow.c.o -c ../glib-2.62.6/gio/tests/gdbus-overflow.c
[675/1023] /usr/bin/gcc-4.2 -Igio/tests/libresourceplugin.dylib.p -Igio/tests -I../glib-2.62.6/gio/tests -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igmodule -I../glib-2.62.6/gmodule -Igobject -I../glib-2.62.6/gobject -Igio -I../glib-2.62.6/gio -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc -MD -MQ gio/tests/libresourceplugin.dylib.p/meson-generated_.._plugin-resources.c.o -MF gio/tests/libresourceplugin.dylib.p/meson-generated_.._plugin-resources.c.o.d -o gio/tests/libresourceplugin.dylib.p/meson-generated_.._plugin-resources.c.o -c gio/tests/plugin-resources.c
[676/1023] /usr/bin/gcc-4.2  -o gio/tests/gdbus-overflow gio/tests/gdbus-overflow.p/gdbus-overflow.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-framework,CoreFoundation -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch ppc -pipe -Os -Wno-deprecated-declarations -arch ppc -Wl,-rpath,@loader_path/../../glib -Wl,-rpath,@loader_path/../../gmodule -Wl,-rpath,@loader_path/../../gobject -Wl,-rpath,@loader_path/.. glib/libglib-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib gobject/libgobject-2.0.0.dylib gio/libgio-2.0.0.dylib -lintl
[677/1023] /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-resources --target=gio/tests/test.gresource --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6/gio/tests --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/tests ../glib-2.62.6/gio/tests/test.gresource.xml
FAILED: gio/tests/test.gresource 
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-resources --target=gio/tests/test.gresource --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.62.6/gio/tests --sourcedir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/tests ../glib-2.62.6/gio/tests/test.gresource.xml
dyld: Symbol not found: _UCNV_TO_U_CALLBACK_STOP_67
  Referenced from: /opt/local/lib/libxml2.2.dylib
  Expected in: dynamic lookup

../glib-2.62.6/gio/tests/test.gresource.xml: Child process killed by signal 5.
[678/1023] /usr/bin/gcc-4.2 -Igio/tests/libresourceplugin.dylib.p -Igio/tests -I../glib-2.62.6/gio/tests -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igmodule -I../glib-2.62.6/gmodule -Igobject -I../glib-2.62.6/gobject -Igio -I../glib-2.62.6/gio -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc -MD -MQ gio/tests/libresourceplugin.dylib.p/resourceplugin.c.o -MF gio/tests/libresourceplugin.dylib.p/resourceplugin.c.o.d -o gio/tests/libresourceplugin.dylib.p/resourceplugin.c.o -c ../glib-2.62.6/gio/tests/resourceplugin.c
[679/1023] /usr/bin/gcc-4.2 -Igio/gdbus.p -Igio -I../glib-2.62.6/gio -Igmodule -I../glib-2.62.6/gmodule -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igobject -I../glib-2.62.6/gobject -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc '-DG_LOG_DOMAIN="GLib-GIO"' -DGIO_COMPILATION '-DGIO_MODULE_DIR="/opt/local/lib/gio/modules"' -fvisibility=hidden -MD -MQ gio/gdbus.p/gdbus-tool.c.o -MF gio/gdbus.p/gdbus-tool.c.o.d -o gio/gdbus.p/gdbus-tool.c.o -c ../glib-2.62.6/gio/gdbus-tool.c
[680/1023] /usr/bin/gcc-4.2 -Igio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p -Igio/tests/gdbus-object-manager-example -I../glib-2.62.6/gio/tests/gdbus-object-manager-example -I. -I../glib-2.62.6 -Iglib -I../glib-2.62.6/glib -Igmodule -I../glib-2.62.6/gmodule -Igobject -I../glib-2.62.6/gobject -Igio -I../glib-2.62.6/gio -I/opt/local/include -std=gnu99 -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes -Wunused -Wno-unused-parameter -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=format=2 -Werror=implicit-function-declaration -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -pipe -Os -fstrict-aliasing -Wno-deprecated-declarations -arch ppc '-DG_LOG_DOMAIN="GLib-GIO"' '-DTEST_SERVICES="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/tests/services"' '-DGLIB_MKENUMS="gobject/glib-mkenums"' '-DGLIB_COMPILE_SCHEMAS="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build/gio/glib-compile-schemas"' -UG_DISABLE_ASSERT -MD -MQ gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p/meson-generated_.._objectmanager-gen.c.o -MF gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p/meson-generated_.._objectmanager-gen.c.o.d -o gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.dylib.p/meson-generated_.._objectmanager-gen.c.o -c gio/tests/gdbus-object-manager-example/objectmanager-gen.c
ninja: build stopped: subcommand failed.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build" && /opt/local/bin/ninja -j4 --verbose -v 
Exit code: 1
Error: Failed to build glib2: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port glib2 failed

UPD. It builds for ppc, but only after libxml2+universal is deactivated and ppc-only variant is activated.

Attachments (1)

main_universal_Leo.log (277.8 KB) - added by barracuda156 3 years ago.

Download all attachments as: .zip

Change History (26)

comment:1 Changed 3 years ago by barracuda156

Description: modified (diff)
Summary: glib2 fails for ppc64 and ppc+ppc64glib2 fails for PowerPC (ppc, ppc64 and universal)

comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Status: newassigned

I'm sorry, I don't know what to do about it.

The glib2 port is many major versions behind. I plan to update it, one major version at a time, gradually, over the course of the coming weeks. (You can already try the glib2-devel port for one major version newer.) Once we're at the current version, if the problem remains, I can bring it up with the developers, or you can bring it up with them.

comment:3 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

I won't be updating glib2 to newer major versions yet after all, since I've found a comment that doing so might break something about gimp2, but I haven't found out any more about that yet.

You're reporting two separate issues in this ticket:

  1. single-arch ppc and ppc64 builds fail with dyld: Symbol not found: _UCNV_TO_U_CALLBACK_STOP_67 Referenced from: /opt/local/lib/libxml2.2.dylib. _UCNV_TO_U_CALLBACK_STOP_67 is supposed to be provided by icu 67, I think. What's the output of port -v installed icu libxml2 and lipo -info /opt/local/lib/lib{icudata,icui18n,icuuc,xml2}.dylib and otool -L /opt/local/lib/lib{icudata,icui18n,icuuc,xml2}.dylib? I want to make sure that libxml2 and icu are installed for the right architectures and that libxml2 does link with the icu libraries.
  2. universal ppc ppc64 builds fail with Cannot find specified cross file: ppc64-darwin. This relates to the fact that glib2, along with countless other projects, have decided for some reason to switch to the immature new meson build system which has some trouble with universal builds. See #59864, #62498. I don't have a solution for you. Complain to the developers of glib2 for switching to a build system that doesn't work. Complain to the developers of meson for introducing a build system that doesn't work. If you have a solution, please provide it. Maybe it is as simple as creating a "cross file", whatever that is, for ppc64-darwin, if you can figure out how and where to do that.

comment:4 in reply to:  3 ; Changed 3 years ago by barracuda156

Replying to ryandesign:

  1. universal ppc ppc64 builds fail with Cannot find specified cross file: ppc64-darwin. This relates to the fact that glib2, along with countless other projects, have decided for some reason to switch to the immature new meson build system which has some trouble with universal builds. See #59864, #62498. I don't have a solution for you. Complain to the developers of glib2 for switching to a build system that doesn't work. Complain to the developers of meson for introducing a build system that doesn't work. If you have a solution, please provide it. Maybe it is as simple as creating a "cross file", whatever that is, for ppc64-darwin, if you can figure out how and where to do that.

Thank you for pointing that out, I will try to find a solution re meson.

As for the first issue, trying to build icu as universal asks for universal llvm-3.3, which fails. I spent this night trying to fix that, but no success so far. Link for others' ref: #64253

Output:

36-225:~ svacchanda$ port -v installed icu libxml2
The following ports are currently installed:
  icu @67.1_4 (active) requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T08:24:11+0800'
  libxml2 @2.9.12_1 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T12:25:12+0800'
  libxml2 @2.9.12_1+universal (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2021-12-22T08:28:30+0800'
36-225:~ svacchanda$ lipo -info /opt/local/lib/lib{icudata,icui18n,icuuc,xml2}.dylib
Architectures in the fat file: /opt/local/lib/libxml2.dylib are: ppc64 ppc7400 
Non-fat file: /opt/local/lib/libicudata.dylib is architecture: ppc
Non-fat file: /opt/local/lib/libicui18n.dylib is architecture: ppc7400
Non-fat file: /opt/local/lib/libicuuc.dylib is architecture: ppc7400
36-225:~ svacchanda$ otool -L /opt/local/lib/lib{icudata,icui18n,icuuc,xml2}.dylib
/opt/local/lib/libicudata.dylib:
	/opt/local/lib/libicudata.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
/opt/local/lib/libicui18n.dylib:
	/opt/local/lib/libicui18n.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/opt/local/lib/libicuuc.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/opt/local/lib/libicudata.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.24.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
/opt/local/lib/libicuuc.dylib:
	/opt/local/lib/libicuuc.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/opt/local/lib/libicudata.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.24.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
/opt/local/lib/libxml2.dylib:
	/opt/local/lib/libxml2.2.dylib (compatibility version 12.0.0, current version 12.12.0)
	/opt/local/lib/libicui18n.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/opt/local/lib/libicuuc.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/opt/local/lib/libicudata.67.dylib (compatibility version 67.0.0, current version 67.1.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
	/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/opt/local/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.5.0)
	/opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

Last edited 3 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:5 in reply to:  4 ; Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

On my Catalina system I see _UCNV_TO_U_CALLBACK_STOP_67 being defined by the libicuuc.dylib library. Do you see the same on your system?

$ nm -gU /opt/local/lib/libicuuc.dylib |grep UCNV_TO_U_CALLBACK_STOP
00000000000138f4 T _UCNV_TO_U_CALLBACK_STOP_67
Last edited 3 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:6 in reply to:  4 ; Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to barracuda156:

As for the first issue, trying to build icu as universal asks for universal llvm-3.3

I wouldn't have expected that. The icu portfile makes no mention of llvm nor specific compiler requirements, other than including the clang_dependency portgroup, which just means that icu is a dependency of some versions of clang, which means that MacPorts may not choose those newer clang compilers to compile icu since that would be a circular dependency.

What's the dependency chain leading from icu to llvm-3.3? The output of port rdeps icu should show us. On my Catalina system, icu depends on no other ports, but that may be different on other system versions, especially earlier systems.

clang doesn't work on PowerPC, so if the port is thinking it should be building with some version of clang on PowerPC, that would be wrong...

comment:7 in reply to:  4 ; Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to barracuda156:

36-225:~ svacchanda$ port -v installed icu libxml2
The following ports are currently installed:
  icu @67.1_4 (active) requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T08:24:11+0800'
  libxml2 @2.9.12_1 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T12:25:12+0800'
  libxml2 @2.9.12_1+universal (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2021-12-22T08:28:30+0800'

Please retry building glib2 for ppc after activating libxml2 @2.9.12_1. You cannot use libxml2 @2.9.12_1+universal because it depends on icu being installed universal, which it isn't.

comment:8 in reply to:  6 Changed 3 years ago by barracuda156

Replying to ryandesign:

Replying to barracuda156:

As for the first issue, trying to build icu as universal asks for universal llvm-3.3

I wouldn't have expected that. The icu portfile makes no mention of llvm nor specific compiler requirements, other than including the clang_dependency portgroup, which just means that icu is a dependency of some versions of clang, which means that MacPorts may not choose those newer clang compilers to compile icu since that would be a circular dependency.

What's the dependency chain leading from icu to llvm-3.3? The output of port rdeps icu should show us. On my Catalina system, icu depends on no other ports, but that may be different on other system versions, especially earlier systems.

Apparently the linker is the issue, as it did not build universal due to llvm not building universal:

36-225:~ svacchanda$ port rdeps icu
The following ports are dependencies of icu @67.1_4+universal:
  python27
    xz
      libiconv
        gperf
      gettext
        libtextstyle
          ncurses
        gettext-runtime
        gettext-tools-libs
    pkgconfig
    bzip2
    db48
    expat
    libedit
    libffi
      expect
        automake
          autoconf
            m4
        tcl
      dejagnu
    sqlite3
      zlib
    openssl11
      perl5
        perl5.28
          gdbm
            readline
    python_select
    python2_select
  gcc7
    cctools
      libunwind-headers
    gmp
    isl
    ld64
      ld64-127
        libmacho-headers
        llvm-3.3
          llvm_select
    libmpc
      mpfr
    gcc_select
    libgcc
      libgcc7

clang doesn't work on PowerPC, so if the port is thinking it should be building with some version of clang on PowerPC, that would be wrong...

ld64 wants llvm, whether 3.3 or 3.4.

comment:9 in reply to:  5 Changed 3 years ago by barracuda156

Replying to ryandesign:

On my Catalina system I see _UCNV_TO_U_CALLBACK_STOP_67 being defined by the libicuuc.dylib library. Do you see the same on your system?

$ nm -gU /opt/local/lib/libicuuc.dylib |grep UCNV_TO_U_CALLBACK_STOP
00000000000138f4 T _UCNV_TO_U_CALLBACK_STOP_67
36-225:~ svacchanda$ nm -gU /opt/local/lib/libicuuc.dylib |grep UCNV_TO_U_CALLBACK_STOP
00015d14 T _UCNV_TO_U_CALLBACK_STOP_67

comment:10 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Try installing ld64 without the universal variant. Its Portfile declares installs_libs no so this should be fine.

comment:11 in reply to:  7 ; Changed 3 years ago by barracuda156

Replying to ryandesign:

Replying to barracuda156:

36-225:~ svacchanda$ port -v installed icu libxml2
The following ports are currently installed:
  icu @67.1_4 (active) requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T08:24:11+0800'
  libxml2 @2.9.12_1 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T12:25:12+0800'
  libxml2 @2.9.12_1+universal (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2021-12-22T08:28:30+0800'

Please retry building glib2 for ppc after activating libxml2 @2.9.12_1. You cannot use libxml2 @2.9.12_1+universal because it depends on icu being installed universal, which it isn't.

I have deactivated icu, and then trying to install it does not ask for llvm. However icu fails to configure for ppc64:

--->  Configuring icu for architecture ppc64
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/icu/source-ppc64" && ./configure --prefix=/opt/local --disable-layoutex --disable-samples --enable-static 
checking for ICU version numbers... release 67.1, library 67.1, unicode version 13.0
checking build system type... powerpc-apple-darwin9.8.0
checking host system type... powerpc-apple-darwin9.8.0
checking whether to build debug libraries... no
checking whether to build release libraries... yes
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... configure: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/icu/source-ppc64':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/icu/source-ppc64" && ./configure --prefix=/opt/local --disable-layoutex --disable-samples --enable-static 
Exit code: 1
Error: Failed to configure icu: consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/icu/source-ppc64/config.log
Error: Failed to configure icu: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port icu failed

I reported the issue earlier: #64260

Last edited 3 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:12 in reply to:  11 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to barracuda156:

Replying to ryandesign:

Replying to barracuda156:

36-225:~ svacchanda$ port -v installed icu libxml2
The following ports are currently installed:
  icu @67.1_4 (active) requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T08:24:11+0800'
  libxml2 @2.9.12_1 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T12:25:12+0800'
  libxml2 @2.9.12_1+universal (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2021-12-22T08:28:30+0800'

Please retry building glib2 for ppc after activating libxml2 @2.9.12_1. You cannot use libxml2 @2.9.12_1+universal because it depends on icu being installed universal, which it isn't.

I have deactivated icu, and then trying to install it does not ask for llvm. However icu fails to configure for ppc64:

What I meant was try just building glib2 for ppc first, not for ppc64 nor universal, after activating the non-universal ppc-only libxml2.

comment:13 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Oh wait, you said in your original report:

It builds for ppc, but only after libxml2+universal is deactivated and ppc-only variant is activated.

Great. So that tells us that the libxml2 +universal that you built without icu +universal after subverting MacPorts arch checking code was indeed not working, so you should uninstall that libxml2 +universal and we need to focus on getting icu to build universal first.

comment:14 in reply to:  13 Changed 3 years ago by barracuda156

Replying to ryandesign:

Oh wait, you said in your original report:

It builds for ppc, but only after libxml2+universal is deactivated and ppc-only variant is activated.

Great. So that tells us that the libxml2 +universal that you built without icu +universal after subverting MacPorts arch checking code was indeed not working, so you should uninstall that libxml2 +universal and we need to focus on getting icu to build universal first.

Thank you. I can confirm that glib2 builds for ppc-32 after activating libxml2 ppc-32 on 10.5.8.

36-225:~ svacchanda$ port -v installed glib2
The following ports are currently installed:
  glib2 @2.62.6_2+x11 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T12:28:22+0800'
  glib2 @2.64.6_0+x11 (active) requested_variants='' platform='darwin 9' archs='ppc' date='2021-12-29T16:07:42+0800'

(For some reason the same fails on 10.6 PPC, but that's my problem to fix that.)

Could you advise me what to do about universal icu? Both gcc6 and gcc7 seem to be broken on Macports for ppc64. Apple gcc fails to build icu universal either.

Version 0, edited 3 years ago by barracuda156 (next)

comment:15 in reply to:  13 Changed 3 years ago by barracuda156

Replying to ryandesign:

and we need to focus on getting icu to build universal first.

Is there a way to specify an external compiler to build icu? I have gcc10 now that can build ppc64 binaries, but outside Macports. Alternatively, if there is a way to set external compiler globally for Macports, I could do that temporarily to build ports that require newer gcc (so do not build as universal).

comment:16 in reply to:  13 ; Changed 3 years ago by barracuda156

Replying to ryandesign:

Oh wait, you said in your original report:

It builds for ppc, but only after libxml2+universal is deactivated and ppc-only variant is activated.

Great. So that tells us that the libxml2 +universal that you built without icu +universal after subverting MacPorts arch checking code was indeed not working, so you should uninstall that libxml2 +universal and we need to focus on getting icu to build universal first.

Okay, so now we have icu and libxml2 as +universal thanks to gcc10-bootstrap port:

36-72:~ svacchanda$ port -v installed icu
The following ports are currently installed:
  icu @67.1_4 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2022-02-03T18:54:44+0800'
  icu @67.1_4+universal (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2022-03-08T06:02:44+0800'
36-72:~ svacchanda$ port -v installed libxml2
The following ports are currently installed:
  libxml2 @2.9.12_1 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T12:25:12+0800'
  libxml2 @2.9.12_1+universal requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2021-12-22T08:28:30+0800'
  libxml2 @2.9.13_0 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2022-03-03T04:18:59+0800'
  libxml2 @2.9.13_0+universal (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2022-03-08T06:06:56+0800'

And yet glib2 still fails to build as +universal:

/usr/bin/gnutar: glib-2.64.6: implausibly old time stamp 1970-01-01 08:00:00
--->  Applying patches to glib2
--->  Applying libintl.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/libintl.patch'
patching file glib/gi18n-lib.h
patching file glib/gi18n.h
--->  Applying implicit.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/implicit.patch'
patching file meson.build
--->  Applying patch-gio-tests-meson.build.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-gio-tests-meson.build.diff'
patching file gio/tests/meson.build
--->  Applying patch-glib-gmain.c.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-glib-gmain.c.diff'
patching file glib/gmain.c
--->  Applying patch-glib_gunicollate.c.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-glib_gunicollate.c.diff'
patching file glib/gunicollate.c
--->  Applying patch-gio_xdgmime_xdgmime.c.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-gio_xdgmime_xdgmime.c.diff'
patching file gio/xdgmime/xdgmime.c
--->  Applying patch-gio_gdbusprivate.c.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-gio_gdbusprivate.c.diff'
patching file gio/gdbusprivate.c
--->  Applying patch-get-launchd-dbus-session-address.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-get-launchd-dbus-session-address.diff'
patching file gio/gdbusaddress.c
--->  Applying patch-gmodule-gmodule-dl.c.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-gmodule-gmodule-dl.c.diff'
patching file gmodule/gmodule-dl.c
--->  Applying patch-meson_build-meson_options-appinfo.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-meson_build-meson_options-appinfo.diff'
patching file gio/giomodule.c
Hunk #1 succeeded at 50 (offset 3 lines).
Hunk #2 succeeded at 1095 (offset 6 lines).
Hunk #3 succeeded at 1229 (offset 9 lines).
patching file meson_options.txt
patching file gio/meson.build
Hunk #1 succeeded at 404 (offset -9 lines).
patching file meson.build
Hunk #1 succeeded at 2148 (offset 92 lines).
--->  Applying patch-meson-build-python-path.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-meson-build-python-path.diff'
patching file meson.build
Hunk #1 succeeded at 2084 with fuzz 1 (offset 92 lines).
--->  Applying patch-meson_build-atomic-test-older-clang-versions.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-meson_build-atomic-test-older-clang-versions.diff'
patching file meson.build
Hunk #1 succeeded at 1714 (offset 90 lines).
--->  Applying universal.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/universal.patch'
patching file glib/glibconfig.h.in
patching file meson.build
Hunk #1 succeeded at 1667 (offset 83 lines).
--->  Applying patch-glib2-findfolders-before-SL.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-glib2-findfolders-before-SL.diff'
patching file glib/gosxutils.m
--->  Applying patch-glib2-allow-frexpl-test-to-pass.diff
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/glib2/files/patch-glib2-allow-frexpl-test-to-pass.diff'
patching file glib/gnulib/gl_cv_func_frexpl_works/meson.build
--->  Patching meson.build: s|@PYTHON@|/opt/local/bin/python3.10|
--->  Patching gdbusprivate.c: s|@PREFIX@|/opt/local|g
--->  Patching xdgmime.c: s|@PREFIX@|/opt/local|g
--->  Patching gi18n-lib.h: s|@PREFIX@|/opt/local|g
--->  Patching gi18n.h: s|@PREFIX@|/opt/local|g
--->  Patching gdbusaddress.c: s|@PREFIX@|/opt/local|g
--->  Patching gutils.c: s|data_dirs = "/usr|data_dirs = "/opt/local/share:/usr|g
--->  Patching gutils.c: s|path = "/bin|path = "/opt/local/bin:/bin|g
--->  Patching gspawn.c: s|path = "/bin|path = "/opt/local/bin:/bin|g
--->  Configuring glib2
--->  Configuring glib2 for architecture ppc
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6-ppc" && /opt/local/bin/meson --prefix=/opt/local -Ddefault_library=both -Dwarning_level=0 -Ddtrace=false -Dappinfo_backend=generic /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6-ppc /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build-ppc --cross-file=ppc-darwin 
Could not find any valid candidate for cross files: ppc-darwin

ERROR: Cannot find specified cross file: ppc-darwin
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6-ppc" && /opt/local/bin/meson --prefix=/opt/local -Ddefault_library=both -Dwarning_level=0 -Ddtrace=false -Dappinfo_backend=generic /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/glib-2.64.6-ppc /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/work/build-ppc --cross-file=ppc-darwin 
Exit code: 1
Last edited 3 years ago by barracuda156 (previous) (diff)

Changed 3 years ago by barracuda156

Attachment: main_universal_Leo.log added

comment:17 Changed 3 years ago by barracuda156

Summary: glib2 fails for PowerPC (ppc, ppc64 and universal)glib2 fails to build for ppc+ppc64 on Leopard

comment:18 Changed 3 years ago by kencu (Ken)

so I came up with the cross file plan we use, but I never added ppc or ppc64 to the mix as nobody needed it, it seemed.

why don’t you check out the ones I made, then come up the two PPC ones needed.

once you have them working, perhaps PR that.

the current ones are here:

https://github.com/macports/macports-ports/tree/master/devel/meson/files/cross

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:19 in reply to:  18 Changed 3 years ago by barracuda156

Replying to kencu:

so I came up with the cross file plan we use, but I never added ppc or ppc64 to the mix as nobody needed it, it seemed. why don’t you check out the ones I made, then come up the two PPC ones needed. once you have them working, perhaps PR that.

Thank you! I will try this.

comment:20 in reply to:  16 ; Changed 3 years ago by kencu (Ken)

Replying to barracuda156:

Okay, so now we have icu and libxml2 as +universal thanks to gcc10-bootstrap port:

Just so you realize, when you do things like this, your installation becomes markedly different than everyone else's. So therefore -- you are on your own to fix up your issues, as nobody has any chance of duplicating it.

You may think it is very similar, but I think you have seen after all these months that even subtle differences in one part can have extensive ramifications elsewhere.

comment:21 in reply to:  20 Changed 3 years ago by barracuda156

Replying to kencu:

Just so you realize, when you do things like this, your installation becomes markedly different than everyone else's. So therefore -- you are on your own to fix up your issues, as nobody has any chance of duplicating it. You may think it is very similar, but I think you have seen after all these months that even subtle differences in one part can have extensive ramifications elsewhere.

Yes, absolutely. I do not expect tailored solutions been offered, but advices from you, Ryan and others are really helpful.

  1. S. If no one objects, please keep relevant tickets open, in the worst case at least they remind me that some problems are unsolved, so I return to those and report on progress.

I don't know yet how to try committing something, by the way. I have some fixes which are perhaps uncontroversial (say, for Leopard) and easy to implement. Then hopefully some more significant (well, as long as PPC is significant for someone at all) fixes on the way – libvpx, libsdl2, ghc.

comment:22 Changed 3 years ago by kencu (Ken)

It's completely time for you to sort out how to make a PR for a simple fix. It's easy enough. It's all written up here:

https://guide.macports.org/chunked/project.github.html

comment:23 in reply to:  18 Changed 3 years ago by barracuda156

Replying to kencu:

so I came up with the cross file plan we use, but I never added ppc or ppc64 to the mix as nobody needed it, it seemed.

why don’t you check out the ones I made, then come up the two PPC ones needed.

once you have them working, perhaps PR that.

the current ones are here:

https://github.com/macports/macports-ports/tree/master/devel/meson/files/cross

Took awhile to get back to this, and your solution worked! I added cross-files, and got glib2 built as +universal:

36-109:~ svacchanda$ port -v installed glib2
The following ports are currently installed:
  glib2 @2.62.6_2+x11 requested_variants='-universal' platform='darwin 9' archs='ppc' date='2021-12-22T12:28:22+0800'
  glib2 @2.64.6_0+x11 requested_variants='' platform='darwin 9' archs='ppc' date='2021-12-29T16:07:42+0800'
  glib2 @2.64.6_1+universal+x11 (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2022-04-06T02:12:47+0800'
  glib2 @2.64.6_1+x11 requested_variants='-universal' platform='darwin 9' archs='ppc64' date='2022-03-08T06:30:55+0800'

I had to add this to Portfile though: depends_skip_archcheck-append python310 Because Pythons remain broken, as of now: https://trac.macports.org/ticket/64916

Last edited 3 years ago by barracuda156 (previous) (diff)

comment:24 Changed 3 years ago by barracuda156

Summary: glib2 fails to build for ppc+ppc64 on Leopardglib2 fails to build for ppc+ppc64 on Leopard: add depends_skip_archcheck-append python310 to Portfile

comment:25 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.