Opened 3 years ago

Closed 3 years ago

#63584 closed defect (fixed)

pango uses not right compiler

Reported by: catap (Kirill A. Korinsky) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: i0ntempest, evanmiller (Evan Miller), cooljeanius (Eric Gallager)
Port: pango

Description

My system has installed no_default_gcc from https://trac.macports.org/wiki/UsingTheRightCompiler#testing.

When I've tried to upgrade pango it fails as:

:info:build [114/151] /usr/bin/clang  -o pango/libpangoxft-1.0.0.dylib pango/libpangoxft-1.0.0.dylib.p/pangoxft-font.c.o pango/libpangoxft-1.0.0.dylib.p/pangoxft-fontmap.c.o pango/libpangoxft-1.0.0.dylib.p/pangoxft-render.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -shared -install_name @rpath/libpangoxft-1.0.0.dylib -compatibility_version 4801 -current_version 4801.9.0 -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -pipe -Os -Wno-error,-Wimplicit-fallthrough -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -Wl,-rpath,@loader_path/ -Wl,-rpath,/opt/local/lib pango/libpango-1.0.0.dylib pango/libpangoft2-1.0.0.dylib -lm /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/libfribidi.dylib /opt/local/lib/libharfbuzz.dylib /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib /opt/local/lib/libXrender.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libXft.dylib -framework CoreFoundation -framework ApplicationServices /opt/local/lib/libcairo.dylib /opt/local/lib/libharfbuzz-gobject.dylib
:info:build [115/151] /usr/bin/clang  -o tests/test-ot-tags tests/test-ot-tags.p/test-ot-tags.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -pipe -Os -Wno-error,-Wimplicit-fallthrough -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -Wl,-rpath,@loader_path/../pango -Wl,-rpath,/opt/local/lib pango/libpangoft2-1.0.0.dylib pango/libpango-1.0.0.dylib -lm /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/libfribidi.dylib /opt/local/lib/libharfbuzz.dylib /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib /opt/local/lib/libXrender.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libXft.dylib -framework CoreFoundation -framework ApplicationServices /opt/local/lib/libcairo.dylib /opt/local/lib/libharfbuzz-gobject.dylib
:info:build [116/151] /usr/bin/clang  -o pango/libpangocairo-1.0.0.dylib pango/libpangocairo-1.0.0.dylib.p/pangocairo-context.c.o pango/libpangocairo-1.0.0.dylib.p/pangocairo-font.c.o pango/libpangocairo-1.0.0.dylib.p/pangocairo-fontmap.c.o pango/libpangocairo-1.0.0.dylib.p/pangocairo-render.c.o pango/libpangocairo-1.0.0.dylib.p/pangocairo-fcfont.c.o pango/libpangocairo-1.0.0.dylib.p/pangocairo-fcfontmap.c.o pango/libpangocairo-1.0.0.dylib.p/pangocoretext.c.o pango/libpangocairo-1.0.0.dylib.p/pangocoretext-fontmap.c.o pango/libpangocairo-1.0.0.dylib.p/pangocairo-coretextfont.c.o pango/libpangocairo-1.0.0.dylib.p/pangocairo-coretextfontmap.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -shared -install_name @rpath/libpangocairo-1.0.0.dylib -compatibility_version 4801 -current_version 4801.9.0 -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -pipe -Os -Wno-error,-Wimplicit-fallthrough -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -Wl,-rpath,@loader_path/ -Wl,-rpath,/opt/local/lib pango/libpango-1.0.0.dylib pango/libpangoft2-1.0.0.dylib -lm /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/libfribidi.dylib /opt/local/lib/libharfbuzz.dylib /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib /opt/local/lib/libXrender.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libXft.dylib -framework CoreFoundation -framework ApplicationServices /opt/local/lib/libcairo.dylib /opt/local/lib/libharfbuzz-gobject.dylib
:info:build [117/151] /opt/local/bin/g-ir-scanner --no-libtool --namespace=Pango --nsversion=1.0 --warn-all --output pango/Pango-1.0.gir --c-include=pango/pango.h --quiet -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/pango -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/pango/. --filelist=/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango/libpango-1.0.0.dylib.p/Pango_1.0_gir_filelist --include=HarfBuzz-0.0 --include=GObject-2.0 --include=cairo-1.0 --symbol-prefix=pango --identifier-prefix=Pango --pkg-export=pango --cflags-begin -D_POSIX_C_SOURCE=200809L -D_POSIX_THREAD_SAFE_FUNCTIONS -D_GNU_SOURCE -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/pango/. -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/fribidi -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/ossp -I/opt/local/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include/gobject-introspection-1.0 -I/opt/local/include --cflags-end --add-include-path=/opt/local/share/gir-1.0 -L/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango --library pango-1.0 -L/opt/local/lib -L/opt/local/lib --extra-library=m -L/opt/local/lib --extra-library=glib-2.0 --extra-library=intl --extra-library=gobject-2.0 --extra-library=gio-2.0 --extra-library=fribidi --extra-library=harfbuzz --extra-library=fontconfig --extra-library=freetype --extra-library=Xrender --extra-library=X11 --extra-library=Xft --extra-library=cairo --extra-library=harfbuzz-gobject --extra-library=girepository-1.0 --sources-top-dirs /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/subprojects/ --sources-top-dirs /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/subprojects/
:info:build FAILED: pango/Pango-1.0.gir 
:info:build /opt/local/bin/g-ir-scanner --no-libtool --namespace=Pango --nsversion=1.0 --warn-all --output pango/Pango-1.0.gir --c-include=pango/pango.h --quiet -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/pango -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/pango/. --filelist=/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango/libpango-1.0.0.dylib.p/Pango_1.0_gir_filelist --include=HarfBuzz-0.0 --include=GObject-2.0 --include=cairo-1.0 --symbol-prefix=pango --identifier-prefix=Pango --pkg-export=pango --cflags-begin -D_POSIX_C_SOURCE=200809L -D_POSIX_THREAD_SAFE_FUNCTIONS -D_GNU_SOURCE -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango/. -I/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/pango/. -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/fribidi -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/ossp -I/opt/local/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include/gobject-introspection-1.0 -I/opt/local/include --cflags-end --add-include-path=/opt/local/share/gir-1.0 -L/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango --library pango-1.0 -L/opt/local/lib -L/opt/local/lib --extra-library=m -L/opt/local/lib --extra-library=glib-2.0 --extra-library=intl --extra-library=gobject-2.0 --extra-library=gio-2.0 --extra-library=fribidi --extra-library=harfbuzz --extra-library=fontconfig --extra-library=freetype --extra-library=Xrender --extra-library=X11 --extra-library=Xft --extra-library=cairo --extra-library=harfbuzz-gobject --extra-library=girepository-1.0 --sources-top-dirs /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/pango-1.48.9/subprojects/ --sources-top-dirs /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/subprojects/
:info:build cc -o /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/tmp-introspecto9est4g1/Pango-1.0 /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/tmp-introspecto9est4g1/Pango-1.0.o -L. -Wl,-rpath,. -L/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango -Wl,-rpath,/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango -lpango-1.0 -lm -lglib-2.0 -lintl -lgobject-2.0 -lgio-2.0 -lfribidi -lharfbuzz -lfontconfig -lfreetype -lXrender -lX11 -lXft -lcairo -lharfbuzz-gobject -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl
:info:build cc: Error: You should be using ${configure.cc}
:info:build See https://trac.macports.org/wiki/UsingTheRightCompiler
:info:build linking of temporary binary failed: Command '['cc', '-o', '/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/tmp-introspecto9est4g1/Pango-1.0', '/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/tmp-introspecto9est4g1/Pango-1.0.o', '-L.', '-Wl,-rpath,.', '-L/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango', '-Wl,-rpath,/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build/pango', '-lpango-1.0', '-lm', '-lglib-2.0', '-lintl', '-lgobject-2.0', '-lgio-2.0', '-lfribidi', '-lharfbuzz', '-lfontconfig', '-lfreetype', '-lXrender', '-lX11', '-lXft', '-lcairo', '-lharfbuzz-gobject', '-lgirepository-1.0', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lglib-2.0', '-lintl']' returned non-zero exit status 1.
:info:build [118/151] /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/meson --internal symbolextractor /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build pango/libpangocairo-1.0.0.dylib pango/libpangocairo-1.0.0.dylib pango/libpangocairo-1.0.0.dylib.p/libpangocairo-1.0.0.dylib.symbols 
:info:build [119/151] /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/meson --internal symbolextractor /opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build pango/libpangoxft-1.0.0.dylib pango/libpangoxft-1.0.0.dylib pango/libpangoxft-1.0.0.dylib.p/libpangoxft-1.0.0.dylib.symbols 
:info:build ninja: build stopped: subcommand failed.
:info:build Command failed:  cd "/opt/local/var/macports/build/_Users_catap_src_macports-ports_x11_pango/pango/work/build" && /opt/local/bin/ninja -j12 -v 
:info:build Exit code: 1

Change History (9)

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

Owner: set to mascguy
Port: pango added
Status: newassigned

This happens because the pango port uses gobject-introspection and it no longer (as of [90a23d95aea607835f72aab573ee21f9609cab64/macports-ports]) uses the gobject introspection portgroup that has previously taken care of setting the right compiler for the gobject introspection parts. I have not checked recently but last time I looked the gobject introspection portgroup did not support projects that use meson. The portgroup should be enhanced to support meson and then the port should go back to using it. Alternately, the strategy used by every other port that uses meson and gobject introspection could be used: the code to tell gobject introspection about the right compiler can be copied into the pango port.

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

Cc: i0ntempest evanmiller added

Yes, we still need to resolve this. Ideally we'd prefer to not copy-pasta the logic into the port, but we also don't want this to block our users.

Zhenfu/Evan/Anyone, thoughts/opinions?

comment:3 Changed 3 years ago by evanmiller (Evan Miller)

Do we have a working example of the copy pasta?

comment:4 in reply to:  3 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to evanmiller:

Do we have a working example of the copy pasta?

I'd just grep the portfile tree, assuming the recipe is essentially the same across ports.

comment:5 in reply to:  3 Changed 3 years ago by catap (Kirill A. Korinsky)

Replying to evanmiller:

Do we have a working example of the copy pasta?

atk port for example.

comment:6 Changed 3 years ago by evanmiller (Evan Miller)

Here is the copy pasta for anyone interested, looks relatively straightforward

# gobject-introspection 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}"
}

comment:7 Changed 3 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:8 Changed 3 years ago by Christopher Nielsen <mascguy@…>

In 41a3452555f1866b17622b7f1dc43167ae0c865f/macports-ports (master):

pango-devel: update with gobject-introspection logic

See: #63584

comment:9 Changed 3 years ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 579ee73e1f26002b6813f36310804890ecc71771/macports-ports (master):

pango-devel: update with gobject-introspection logic

Closes: #63584

Note: See TracTickets for help on using tickets.