Opened 4 months ago

Last modified 2 weeks ago

#70352 assigned defect

gtk3 fails to pass legacy-support include flag

Reported by: barracuda156 Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc: cooljeanius (Eric Gallager)
Port: gtk3, legacy-support, meson

Description

The port uses legacysupport, but the build does not add needed include flags.

Manually adding configure.cppflags-append -I${prefix}/include/LegacySupport works, but I am not sure this is the best solution.

Attachments (1)

main.log (1.5 MB) - added by barracuda156 4 months ago.

Download all attachments as: .zip

Change History (7)

Changed 4 months ago by barracuda156

Attachment: main.log added

comment:1 Changed 4 months ago by fhgwright (Fred Wright)

I believe the legacysupport PortGroup sets up the proper flags for both the include and the library (and the dependency). If you don't use the PortGroup, you'll need to do that "manually".

This isn't an issue with legacy-support itself.

comment:2 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

The gtk3 port does include the legacysupport portgroup.

comment:3 in reply to:  1 Changed 4 months ago by barracuda156

Replying to fhgwright:

I believe the legacysupport PortGroup sets up the proper flags for both the include and the library (and the dependency). If you don't use the PortGroup, you'll need to do that "manually".

This isn't an issue with legacy-support itself.

PG is included, but flag is not passed. I think the build system discards our flags somewhere.

comment:4 Changed 3 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:5 in reply to:  1 Changed 2 weeks ago by barracuda156

Replying to fhgwright:

I believe the legacysupport PortGroup sets up the proper flags for both the include and the library (and the dependency). If you don't use the PortGroup, you'll need to do that "manually".

This isn't an issue with legacy-support itself.

GTK actually does worse than that: not only it fails to pass legacysupport cppflag, but it passes wrong ldflags, adding both static and dynamic libs:

build gtk/gtk-query-immodules-3.0: c_LINKER gtk/gtk-query-immodules-3.0.p/queryimmodules.c.o gtk/gtk-query-immodules-3.0.p/gtkutils.c.o | /opt/local/lib/libMacportsLegacySupport.a /opt/local/lib/libMacportsLegacySupport.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libXcomposite.dylib /opt/local/lib/libXcursor.dylib /opt/local/lib/libXdamage.dylib /opt/local/lib/libXext.dylib /opt/local/lib/libXfixes.dylib /opt/local/lib/libXi.dylib /opt/local/lib/libXinerama.dylib /opt/local/lib/libXrandr.dylib /opt/local/lib/libXrender.dylib /opt/local/lib/libatk-1.0.dylib /opt/local/lib/libatk-bridge-2.0.dylib /opt/local/lib/libcairo-gobject.dylib /opt/local/lib/libcairo.dylib /opt/local/lib/libepoxy.dylib /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib /opt/local/lib/libfribidi.dylib /opt/local/lib/libgdk_pixbuf-2.0.dylib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libharfbuzz.dylib /opt/local/lib/libintl.8.dylib /opt/local/lib/libintl.a /opt/local/lib/libintl.dylib /opt/local/lib/libpango-1.0.dylib /opt/local/lib/libpangocairo-1.0.dylib /opt/local/lib/libpangoft2-1.0.dylib gdk/libgdk-3.0.dylib.p/libgdk-3.0.dylib.symbols gtk/libgtk-3.0.dylib.p/libgtk-3.0.dylib.symbols
 LINK_ARGS = -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names -lMacportsLegacySupport -arch ppc -pipe -Os -fstrict-aliasing -arch ppc -DX_LOCALE -Wl,-rpath,@loader_path/ -Wl,-rpath,@loader_path/../gdk gtk/libgtk-3.0.dylib gdk/libgdk-3.0.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libpangocairo-1.0.dylib /opt/local/lib/libpango-1.0.dylib /opt/local/lib/libharfbuzz.dylib /opt/local/lib/libcairo.dylib /opt/local/lib/libpangoft2-1.0.dylib /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib /opt/local/lib/libfribidi.dylib /opt/local/lib/libcairo-gobject.dylib /opt/local/lib/libgdk_pixbuf-2.0.dylib /opt/local/lib/libatk-1.0.dylib /opt/local/lib/libepoxy.dylib -lm /opt/local/lib/libXi.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libatk-bridge-2.0.dylib -lintl /opt/local/lib/libXrender.dylib /opt/local/lib/libXext.dylib /opt/local/lib/libXcursor.dylib /opt/local/lib/libXdamage.dylib /opt/local/lib/libXfixes.dylib /opt/local/lib/libXcomposite.dylib /opt/local/lib/libXrandr.dylib /opt/local/lib/libXinerama.dylib

Something very wrong with its build system.

comment:6 Changed 2 weeks ago by barracuda156

Port: meson added
Note: See TracTickets for help on using tickets.