Opened 7 months ago
Closed 7 months ago
#69734 closed defect (fixed)
libpixman: Opportunistic use of libraries when building demos
Reported by: | dbl001 (dbl) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.3 |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt) | |
Port: | libpixman |
Description
I'm running MacOS Sonoma 14.4.1 on an INTEL iMac 27". For some reason the -arch is arm64.
:info:build /usr/bin/clang -o demos/composite-test demos/composite-test.p/composite-test.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names -arch arm64 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -pipe -Os -arch arm64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -Wl,-rpath,@loader_path/../pixman -Wl,-rpath,/opt/local/lib demos/libdemo.a test/utils/libtestutils.a pixman/libpixman-1.0.dylib /opt/local/lib/libintl.dylib -L/opt/local/lib -lglib-2.0 -L/opt/local/lib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L/opt/local/lib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L/opt/local/lib -lglib-2.0 -lm :info:build ld: warning: ignoring duplicate libraries: '-latk-1.0', '-lcairo', '-lcairo-gobject', '-lgdk-3', '-lgdk_pixbuf-2.0', '-lgio-2.0', '-lglib-2.0', '-lgobject-2.0', '-lgtk-3', '-lharfbuzz', '-lpango-1.0', '-lpangocairo-1.0' :info:build ld: warning: ignoring file '/opt/local/lib/libglib-2.0.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libgtk-3.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libgdk-3.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libpango-1.0.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libharfbuzz.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libgobject-2.0.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libgio-2.0.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libatk-1.0.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libcairo-gobject.2.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libpangocairo-1.0.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libcairo.2.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build ld: warning: ignoring file '/opt/local/lib/libgdk_pixbuf-2.0.0.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build Undefined symbols for architecture arm64: :info:build "_cairo_fill", referenced from: :info:build _on_draw in libdemo.a[2](gtk-utils.c.o) :info:build "_cairo_image_surface_create_for_data", referenced from: :info:build _on_draw in libdemo.a[2](gtk-utils.c.o) :info:build "_cairo_rectangle", referenced from: :info:build _on_draw in libdemo.a[2](gtk-utils.c.o) :info:build "_cairo_set_source_surface", referenced from: :info:build _on_draw in libdemo.a[2](gtk-utils.c.o) :info:build "_cairo_surface_destroy", referenced from: :info:build _on_draw in libdemo.a[2](gtk-utils.c.o) :info:build "_g_assertion_message_expr", referenced from: :info:build _reader in composite-test.c.o :info:build "_g_object_unref", referenced from: :info:build _main in composite-test.c.o :info:build _pixman_image_from_file in libdemo.a[2](gtk-utils.c.o) :info:build "_g_signal_connect_data", referenced from: :info:build _main in composite-test.c.o :info:build _show_image in libdemo.a[2](gtk-utils.c.o) :info:build _show_image in libdemo.a[2](gtk-utils.c.o) :info:build "_g_strdup", referenced from: :info:build _show_image in libdemo.a[2](gtk-utils.c.o) :info:build "_gdk_pixbuf_get_height", referenced from: :info:build _pixman_image_from_file in libdemo.a[2](gtk-utils.c.o) :info:build "_gdk_pixbuf_get_n_channels", referenced from: :info:build _pixman_image_from_file in libdemo.a[2](gtk-utils.c.o) :info:build "_gdk_pixbuf_get_pixels", referenced from: :info:build _pixman_image_from_file in libdemo.a[2](gtk-utils.c.o) :info:build _pixbuf_from_argb32 in libdemo.a[2](gtk-utils.c.o) :info:build "_gdk_pixbuf_get_rowstride", referenced from: :info:build _pixman_image_from_file in libdemo.a[2](gtk-utils.c.o) :info:build _pixbuf_from_argb32 in libdemo.a[2](gtk-utils.c.o) :info:build "_gdk_pixbuf_get_width", referenced from: :info:build _pixman_image_from_file in libdemo.a[2](gtk-utils.c.o) :info:build "_gdk_pixbuf_new", referenced from: :info:build _pixbuf_from_argb32 in libdemo.a[2](gtk-utils.c.o) :info:build "_gdk_pixbuf_new_from_file", referenced from: :info:build _pixman_image_from_file in libdemo.a[2](gtk-utils.c.o) :info:build "_gtk_box_pack_start", referenced from: :info:build _main in composite-test.c.o :info:build _main in composite-test.c.o :info:build "_gtk_container_add", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_image_new_from_pixbuf", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_init", referenced from: :info:build _main in composite-test.c.o :info:build _show_image in libdemo.a[2](gtk-utils.c.o) :info:build "_gtk_label_new", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_main", referenced from: :info:build _main in composite-test.c.o :info:build _show_image in libdemo.a[2](gtk-utils.c.o) :info:build "_gtk_main_quit", referenced from: :info:build _main in composite-test.c.o :info:build _show_image in libdemo.a[2](gtk-utils.c.o) :info:build "_gtk_scrolled_window_add_with_viewport", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_scrolled_window_new", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_scrolled_window_set_policy", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_table_attach_defaults", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_table_new", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_vbox_new", referenced from: :info:build _main in composite-test.c.o :info:build "_gtk_widget_show", referenced from: :info:build _main in composite-test.c.o :info:build _main in composite-test.c.o :info:build _main in composite-test.c.o
Attachments (1)
Change History (5)
Changed 7 months ago by dbl001 (dbl)
comment:1 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|---|
Owner: | set to mascguy |
Status: | new → assigned |
Summary: | :info:build Undefined symbols for architecture arm64: → libpixman +universal: Undefined symbols for architecture arm64: |
comment:2 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Summary: | libpixman +universal: Undefined symbols for architecture arm64: → libpixman: Opportunistic use of libraries when building demos |
---|
Actually, what's weird here is that libpixman is complaining about the wrong architecture in libraries belonging to ports that are not dependencies of libpixman: atk, cairo, gdk-pixbuf2, glib2, gtk3, harfbuzz, pango—ports that can't be dependencies of libpixman since libpixman is a dependency of cairo already. libpixman shouldn't be using those. It looks like this is happening when libpixman is building its demos. So the port should be changed not to build the demos.
comment:3 Changed 7 months ago by Christopher Nielsen <mascguy@…>
comment:4 Changed 7 months ago by Christopher Nielsen <mascguy@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
Replying to dbl001:
Because you have requested the +universal variant, which means build for multiple architectures. On Sonoma, it means x86_64 and arm64, and in this port it happens to build them separately.
And apparently the +universal variant doesn't work right in this port anymore.
If you don't have a desire to build arm64 on your Intel Mac, don't use the +universal variant.