#68945 closed defect (fixed)

at-spi2-core @2.38.0: error building universal libatspi.0.dylib': found architecture 'x86_64', required architecture 'arm64'

Reported by: kencu (Ken) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: universal arm64 Cc:
Port: at-spi2-core

Description

[129/130] env PKG_CONFIG_PATH=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/meson-uninstalled PKG_CONFIG=/opt/local/bin/pkg-config CC=/usr/bin/clang /opt/local/bin/g-ir-scanner --quiet --no-libtool --namespace=Atspi --nsversion=2.0 --warn-all --output atspi/Atspi-2.0.gir --c-include=atspi/atspi.h --pkg-export=atspi-2 --quiet -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/atspi -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/atspi -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/registryd -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/registryd --filelist=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/atspi/libatspi.0.dylib.p/Atspi_2.0_gir_filelist --include=DBus-1.0 --include=GLib-2.0 --include=GObject-2.0 --symbol-prefix=atspi --identifier-prefix=Atspi --cflags-begin -D_POSIX_C_SOURCE=200809L -D_DEFAULT_SOURCE -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/registryd -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/registryd -I/opt/local/include/dbus-1.0 -I/opt/local/lib/dbus-1.0/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include '-DG_LOG_DOMAIN="dbind"' -I/opt/local/include/gobject-introspection-1.0 -I/opt/local/include --cflags-end -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. --add-include-path=/opt/local/share/gir-1.0 --add-include-path=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. --add-include-path=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. -L/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/atspi --library atspi -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib --extra-library=dbus-1 --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=intl --extra-library=X11 --extra-library=Xtst --extra-library=Xi --extra-library=girepository-1.0 --sources-top-dirs /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/ --sources-top-dirs /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/
FAILED: atspi/Atspi-2.0.gir 
env PKG_CONFIG_PATH=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/meson-uninstalled PKG_CONFIG=/opt/local/bin/pkg-config CC=/usr/bin/clang /opt/local/bin/g-ir-scanner --quiet --no-libtool --namespace=Atspi --nsversion=2.0 --warn-all --output atspi/Atspi-2.0.gir --c-include=atspi/atspi.h --pkg-export=atspi-2 --quiet -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/atspi -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/atspi -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/registryd -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/registryd --filelist=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/atspi/libatspi.0.dylib.p/Atspi_2.0_gir_filelist --include=DBus-1.0 --include=GLib-2.0 --include=GObject-2.0 --symbol-prefix=atspi --identifier-prefix=Atspi --cflags-begin -D_POSIX_C_SOURCE=200809L -D_DEFAULT_SOURCE -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/registryd -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/registryd -I/opt/local/include/dbus-1.0 -I/opt/local/lib/dbus-1.0/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include '-DG_LOG_DOMAIN="dbind"' -I/opt/local/include/gobject-introspection-1.0 -I/opt/local/include --cflags-end -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. --add-include-path=/opt/local/share/gir-1.0 --add-include-path=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/. --add-include-path=/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/. -L/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/atspi --library atspi -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib --extra-library=dbus-1 --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=intl --extra-library=X11 --extra-library=Xtst --extra-library=Xi --extra-library=girepository-1.0 --sources-top-dirs /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/at-spi2-core-2.38.0-x86_64/ --sources-top-dirs /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/
ld: warning: ignoring duplicate libraries: '-lglib-2.0', '-lgobject-2.0', '-lintl'
ld: warning: ignoring file '/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_gnome_at-spi2-core/at-spi2-core/work/build-x86_64/atspi/libatspi.0.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: Undefined symbols:
  _atspi_accessible_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_action_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_application_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_cache_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_collection_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_collection_match_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_collection_sort_order_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_collection_tree_traversal_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_component_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_component_layer_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_coord_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_device_event_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_device_listener_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_document_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_editable_text_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_event_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_event_listener_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_event_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_hyperlink_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_hypertext_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_image_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_key_definition_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_key_event_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_key_listener_sync_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_key_synth_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_locale_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_match_rule_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_modifier_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_object_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_point_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_range_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_rect_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_relation_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_relation_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_role_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_scroll_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_selection_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_state_set_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_state_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_table_cell_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_table_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_text_boundary_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_text_clip_type_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_text_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_text_granularity_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_text_range_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
  _atspi_value_get_type, referenced from:
      _GI_GET_TYPE_FUNCS_ in Atspi-2.0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Attachments (1)

main.log (285.1 KB) - added by kencu (Ken) 11 months ago.

Download all attachments as: .zip

Change History (7)

Changed 11 months ago by kencu (Ken)

Attachment: main.log added

comment:1 Changed 11 months ago by kencu (Ken)

it seems like this is not working:

# uses g-ir-scanner, which uses $CC from env
if {${universal_possible} && [variant_isset universal]} {
    foreach arch ${configure.universal_archs} {
        lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
        lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
    }
} else {
    build.env-append       "CC=${configure.cc} ${configure.cc_archflags}"
    destroot.env-append    "CC=${configure.cc} ${configure.cc_archflags}"
}

presumably this has been fixed somewhere, otherwise every port that uses g-ir-scanner would be broken building universal

comment:2 Changed 11 months ago by kencu (Ken)

so far this is proving to be a pain to fix.

I tried the gobject_introspection PG, but no bueno. Hacking into the meson.build files has not worked so far either.

maybe the compiler wrapper PG might work.

comment:3 Changed 11 months ago by kencu (Ken)

I think the problem might be this commit:

https://github.com/mesonbuild/meson/commit/bf44120a4f272652f98c607bd05065e8a0492d3a

meson is setting CC in the run environment for g-ir-scanner before we can modify it to use our "CC with archflags" version.

Let me try reverting that commit in meson...

comment:4 Changed 11 months ago by kencu (Ken)

yes, that fixes it. Commenting this out in gnome.py, and everything works properly again:

        cc_exelist = state.environment.coredata.compilers.host['c'].get_exelist()
#        run_env.set('CC', [quote_arg(x) for x in cc_exelist], ' ')

comment:6 Changed 11 months ago by Ken <21211439+kencu@…>

Resolution: fixed
Status: assignedclosed

In 5e10cdc7cb7a7b97eec76062d3188e29bdd456dd/macports-ports (master):

py311-meson: fix g-ir-scanner calls (https://github.com/macports/macports-ports/pull/21894)

meson added a commit to set CC in the environement
https://github.com/mesonbuild/meson/commit/bf44120a4f272652f98c607bd05065e8a0492d3a

however, this interfers with MacPorts setting CC in the environment,
often with modifications (added arch flags, for example) and so
universal building was broken

revert the essence of the meson commit, which leaves CC pristine
in the environment, for MacPorts to modify

closes: #68945

Note: See TracTickets for help on using tickets.