Opened 2 years ago
Last modified 22 months ago
#65905 assigned defect
pango @1.50.7: error: use of undeclared identifier 'FC_VARIABLE'
Reported by: | jamesstuartgunning (James Gunning) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | bigsur | Cc: | mascguy (Christopher Nielsen), assholehoff (Anton Dahlén) |
Port: | pango |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
% port upgrade outdated
fails on
pango @1.50.7_0+quartz+x11
Relevant chunk of /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/main.log is:
:info:build [39/151] /usr/bin/clang -Ipango/libpangoft2-1.0.0.dylib.p -Ipango -I../pango-1.50.7/pango -I. -I../pango-1.50.7 -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/X11/include -I/opt/X11/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include -fcolor-diagnostics -Wall -Winvalid-pch -std=gnu99 -O2 -g -D_POSIX_C_SOURCE=200809L -D_POSIX_THREAD_SAFE_FUNCTIONS -D_GNU_SOURCE -pipe -Os -Wno-error,-Wimplicit-fallthrough -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DPANGO_ENABLE_DEBUG '-DG_LOG_DOMAIN="Pango"' -DG_LOG_USE_STRUCTURED=1 -DPANGO_COMPILATION '-DSYSCONFDIR="/opt/local/etc"' '-DLIBDIR="/opt/local/lib"' -DPANGO_DISABLE_DEPRECATION_WARNINGS -MD -MQ pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o -MF pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o.d -o pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o -c ../pango-1.50.7/pango/pangofc-fontmap.c :info:build FAILED: pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o :info:build /usr/bin/clang -Ipango/libpangoft2-1.0.0.dylib.p -Ipango -I../pango-1.50.7/pango -I. -I../pango-1.50.7 -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/X11/include -I/opt/X11/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include -fcolor-diagnostics -Wall -Winvalid-pch -std=gnu99 -O2 -g -D_POSIX_C_SOURCE=200809L -D_POSIX_THREAD_SAFE_FUNCTIONS -D_GNU_SOURCE -pipe -Os -Wno-error,-Wimplicit-fallthrough -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DPANGO_ENABLE_DEBUG '-DG_LOG_DOMAIN="Pango"' -DG_LOG_USE_STRUCTURED=1 -DPANGO_COMPILATION '-DSYSCONFDIR="/opt/local/etc"' '-DLIBDIR="/opt/local/lib"' -DPANGO_DISABLE_DEPRECATION_WARNINGS -MD -MQ pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o -MF pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o.d -o pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o -c ../pango-1.50.7/pango/pangofc-fontmap.c :info:build warning: unknown -Werror warning specifier: '-Wno-error,-Wimplicit-fallthrough' [-Wunknown-warning-option] :info:build ../pango-1.50.7/pango/pangofc-fontmap.c:1684:43: error: use of undeclared identifier 'FC_VARIABLE' :info:build FC_VARIABLE, :info:build ^ :info:build ../pango-1.50.7/pango/pangofc-fontmap.c:1728:63: error: use of undeclared identifier 'FC_VARIABLE' :info:build variable = FcPatternGetBool (fontset->fonts[i], FC_VARIABLE, 0, &variable);
It may be a clang issue with not implementing/using -Wno-error,-Wimplicit-fallthrough ?
% /usr/bin/clang -v Apple clang version 13.0.0 (clang-1300.0.29.30) Target: x86_64-apple-darwin20.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Attachments (1)
Change History (14)
comment:1 Changed 2 years ago by jmroot (Joshua Root)
Cc: | mascguy added |
---|---|
Description: | modified (diff) |
Keywords: | pango removed |
Owner: | set to ryandesign |
Port: | pango added |
Status: | new → assigned |
Type: | update → defect |
comment:2 follow-up: 4 Changed 2 years ago by assholehoff (Anton Dahlén)
comment:3 Changed 22 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to jamesstuartgunning:
:info:build warning: unknown -Werror warning specifier: '-Wno-error,-Wimplicit-fallthrough' [-Wunknown-warning-option] :info:build ../pango-1.50.7/pango/pangofc-fontmap.c:1684:43: error: use of undeclared identifier 'FC_VARIABLE' :info:build FC_VARIABLE, :info:build ^ :info:build ../pango-1.50.7/pango/pangofc-fontmap.c:1728:63: error: use of undeclared identifier 'FC_VARIABLE' :info:build variable = FcPatternGetBool (fontset->fonts[i], FC_VARIABLE, 0, &variable);
As far as I can tell FC_VARIABLE
was added in fontconfig 2.13.1 so it should exist. What version of fontconfig do you have installed? Try running:
port -v installed fontconfig /opt/local/bin/fc-cache --version
The version currently in MacPorts is 2.14.1.
Please always attach the main.log file when you file a bug report.
It may be a clang issue with not implementing/using
-Wno-error,-Wimplicit-fallthrough
?
That doesn't matter here. -Wno-error,-Wimplicit-fallthrough
instructs the compiler that, if it generates an implicit fallthrough warning, it should not consider that to be an error. In response, your compiler has warned you that it cannot generate an implicit fallthrough warning, which is fine.
comment:4 Changed 22 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | assholehoff added |
---|---|
Description: | modified (diff) |
Keywords: | bigsur added |
Summary: | pango won't build, issue with clang ? (OSX BigSur, Xcode 13.2.1 ) → pango @1.50.7: error: use of undeclared identifier 'FC_VARIABLE' |
Replying to assholehoff:
I get a similar error (MacPorts 2.8.0, macOS 11.7.1), but no
main.log
is generated.[137/146] /opt/macports/Library/Frameworks/Python.framework/Versions/3.10/bin/meson --internal exe --unpickle /opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/meson-private/meson_exe_g-ir-scanner_16caa670adefb5d3c6c116b67c408f69d6645dc5.dat FAILED: pango/Pango-1.0.gir /opt/macports/Library/Frameworks/Python.framework/Versions/3.10/bin/meson --internal exe --unpickle /opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/meson-private/meson_exe_g-ir-scanner_16caa670adefb5d3c6c116b67c408f69d6645dc5.dat while executing ['/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/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/pango-1.50.7/pango', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/pango', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/pango-1.50.7/.', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/.', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/pango-1.50.7/pango/.', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/pango/.', '--filelist=/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_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/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/pango-1.50.7/.', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/.', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/pango-1.50.7/pango/.', '-I/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/pango/.', '-I/opt/macports/include/glib-2.0', '-I/opt/macports/lib/glib-2.0/include', '-I/opt/local/include', '-I/opt/local/include/fribidi', '-I/opt/local/include/harfbuzz', '-I/opt/local/include/freetype2', '-I/opt/macports/include/libpng16', '-I/opt/macports/include/cairo', '-I/opt/local/include/pixman-1', '-I/opt/local/include/gobject-introspection-1.0', '-I/opt/macports/include', '--cflags-end', '--add-include-path=/opt/local/share/gir-1.0', '-L/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/pango', '--library', 'pango-1.0', '-L/opt/macports/lib', '-L/opt/local/lib', '-L/opt/macports/lib', '--extra-library=m', '-L/opt/macports/lib', '--extra-library=glib-2.0', '--extra-library=intl', '--extra-library=gobject-2.0', '--extra-library=gio-2.0', '-L/opt/local/lib', '--extra-library=fribidi', '--extra-library=harfbuzz', '--extra-library=fontconfig', '--extra-library=freetype', '--extra-library=cairo', '--extra-library=harfbuzz-gobject', '--extra-library=girepository-1.0', '--sources-top-dirs', '/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/pango-1.50.7/', '--sources-top-dirs', '/opt/macports/var/macports/build/_opt_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build/'] --- stdout --- --- stderr --- dyld: Symbol not found: _iconv Referenced from: /usr/lib/libarchive.2.dylib Expected in: /opt/local/lib/libiconv.2.dylib in /usr/lib/libarchive.2.dylib
This is not similar; not related to this ticket. This is a bug in g-ir-scanner
, which is part of the gobject-introspection port. It has been an ongoing problem with gobject-introspection for years; the developers of that software have not responded to our bug report about it. See:
comment:5 Changed 22 months ago by jamesstuartgunning (James Gunning)
% port -v installed fontconfig Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'. The following ports are currently installed: fontconfig @2.14.0_0 requested_variants='' platform='darwin 20' archs='x86_64' date='2022-09-21T16:43:04+1000' fontconfig @2.14.1_0 (active) requested_variants='' platform='darwin 20' archs='x86_64' date='2022-12-29T19:30:07+1100'
/opt/local/bin/fc-cache --version fontconfig version 2.14.1
Changed 22 months ago by jamesstuartgunning (James Gunning)
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/main.log
comment:7 Changed 22 months ago by jamesstuartgunning (James Gunning)
After some fiddling, it seems that -I/opt/local/include/ brings in <fontconfig/fontconfig.h> and it needs to come earlier in the compiler include list. If you can rejig the config so this happens, this might solve things? I'm unsure how to do this. But manually...
%cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_pango/pango/work/build
/usr/bin/clang -I/opt/local/include -Ipango/libpangoft2-1.0.0.dylib.p -Ipango -I../pango-1.50.7/pango -I. -I../pango-1.50.7 -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/X11/include -I/opt/X11/include/cairo -I/opt/local/include/pixman-1 -fcolor-diagnostics -Wall -Winvalid-pch -std=gnu99 -O2 -g -D_POSIX_C_SOURCE=200809L -D_POSIX_THREAD_SAFE_FUNCTIONS -D_GNU_SOURCE -pipe -Os -Wno-error,-Wimplicit-fallthrough -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DPANGO_ENABLE_DEBUG '-DG_LOG_DOMAIN="Pango"' -DG_LOG_USE_STRUCTURED=1 -DPANGO_COMPILATION '-DSYSCONFDIR="/opt/local/etc"' '-DLIBDIR="/opt/local/lib"' -DPANGO_DISABLE_DEPRECATION_WARNINGS -MD -MQ pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o -MF pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o.d -o pango/libpangoft2-1.0.0.dylib.p/pangofc-fontmap.c.o -c ../pango-1.50.7/pango/pangofc-fontmap.c
comment:8 Changed 22 months ago by ryandesign (Ryan Carsten Schmidt)
Ok good, your MacPorts fontconfig is 2.14.1 as it should be, but the references to /opt/X11 in the log could be the problem. I should figure out why those are being used and remove them from the build.
Do you have an /opt/X11 directory? Does it perhaps contain an older fontconfig? Try:
/opt/X11/bin/fc-cache --version
/opt/X11 is typically XQuartz. If you want to continue using XQuartz, make sure you've installed the latest version of it. Alternately, everything that's in XQuartz is also available in MacPorts so you could remove XQuartz and install the corresponding MacPorts ports instead (i.e. sudo port install xorg-server
).
comment:9 Changed 22 months ago by jamesstuartgunning (James Gunning)
Ah, yes, /opt/X11/bin/fc-cache is pointing to a legacy fontconfig 2.12.1 /opt/X11 had originally come from a direct Xquartz install, then I flipped to the Macports build since the Xquartz page seemed less current. I had already port-installed xorg-server, but perhaps something got left behind related to fc-cache? Any suggestions
comment:10 Changed 22 months ago by jamesstuartgunning (James Gunning)
Thanks Ryan. Not sure if /opt/X11 is the problem: for instance if I move it aside (rename it), the build still breaks. Any suggestions welcome..
comment:11 Changed 22 months ago by ryandesign (Ryan Carsten Schmidt)
After moving /opt/X11 aside, you would need to sudo port clean pango
so that it reassesses the situation. Did you do that? If so, and it still fails, please attach the new main.log file.
comment:12 Changed 22 months ago by ryandesign (Ryan Carsten Schmidt)
I do not know why any reference to /opt/X11 would appear in your build because there are no occurrences of /opt/X11 anywhere in the pango source code.
I tried installing XQuartz on my system. I now have /opt/X11 and yet a clean build of pango did not attempt to use anything from /opt/X11 and the build succeeded.
comment:13 Changed 22 months ago by jamesstuartgunning (James Gunning)
I did eventually get past this by installing pango-devel, which seemed to work. I am unconvinced it isn't a spurious incident, but the suggestions above may well help someone else who gets stuck. Thanks very much, Ryan.
I get a similar error (MacPorts 2.8.0, macOS 11.7.1), but no
main.log
is generated.