TL;DR: The duplicate detection works very well, and discovered some pkgsrc packages which are not happy with base system libXft. Which basically forces it to build as a package even for a native X11 install. On Tue 21 Jun 2022 at 06:32:07 -0400, Greg Troxel wrote: > Rhialto <rhialto%falu.nl@localhost> writes: > > > NetBSD/amd64 9.2 in a pkg_comp1 chroot with 9.2. Using native X11. > > > > x11/gtk2 suddenly isn't happy with the built-in Xft and wants to build > > it, which is blocked from happening. Where should I look? > > > > => Full dependency libXft>=2.3.3nb1: NOT found > > => Verifying bin-install for ../../x11/libXft > > Builds for me. What does > pkg-config --modversion xft > say in your chroot? Mine says 2.3.3. > Is your x11-links package ok? I added lots of .info lines to the various makefile fragments, and I found out it was caused by my setting in /etc/mk.conf, which I have there for some time: PREFER.freetype2 = pkgsrc # cairo is ok with base version but pango isn't. PREFER.fontconfig = ${PREFER.freetype2} # cairo is ok with base version but pango isn't. However, there is apparently now a proper check that a package which is marked as builtin (such as libXft) can't depend on one that isn't (which indeed makes sense). And libXft depends on freetype2. So I took out these settings, and now I have two problems: both pango and cairo don't build. pango: It can't find harfbuzz (even though it is installed) then downloads another copy(!!!) and fails to build that: ... Found pkg-config: /tmp/pkgsrc/devel/pango/default/.tools/bin/pkg-config (1.8.0) Run-time dependency glib-2.0 found: YES 2.70.5 Run-time dependency gobject-2.0 found: YES 2.70.5 Run-time dependency gio-2.0 found: YES 2.70.5 Run-time dependency fribidi found: YES 1.0.11 Dependency libthai skipped: feature libthai disabled WARNING: Found CMake '/tmp/pkgsrc/devel/pango/default/.tools/bin/false' but couldn't run it Found CMake: NO Run-time dependency harfbuzz found: NO (tried pkgconfig and cmake) Looking for a fallback subproject for the dependency harfbuzz Cloning into 'harfbuzz'... remote: Enumerating objects: 2978, done. remote: Counting objects: 100% (2978/2978), done. remote: Compressing objects: 100% (1751/1751), done. remote: Total 2978 (delta 1469), reused 1924 (delta 1162), pack-reused 0 Receiving objects: 100% (2978/2978), 18.06 MiB | 5.57 MiB/s, done. Resolving deltas: 100% (1469/1469), done. Executing subproject harfbuzz harfbuzz| Project name: harfbuzz ... harfbuzz| Checking for function "uselocale" : NO harfbuzz| Checking for function "newlocale" : YES harfbuzz| Program gen-hb-version.py found: YES (/tmp/pkgsrc/devel/pango/default/pango-1.50.7/subprojects/harfbuzz/src/gen-hb-version.py) harfbuzz| Configuring hb-version.h with command subprojects/harfbuzz/src/meson.build:1:0: ERROR: Command "/tmp/pkgsrc/devel/pango/default/pango-1.50.7/subprojects/harfbuzz/src/gen-hb-version.py 4.3.0 /tmp/pkgsrc/devel/pango/default/pango-1.50.7/output/subprojects/harfbuzz/src/hb-version.h /tmp/pkgsrc/devel/pango/default/pango-1.50.7/subprojects/harfbuzz/src/hb-version.h.in" failed with status 127. A full log can be found at /tmp/pkgsrc/devel/pango/default/pango-1.50.7/output/meson-logs/meson-log.txt *** Error code 1 Stop. If I set the freetype option back, it fails sooner, because it depeds on libXft, which fails again because "ERROR: Package set is using native X11 component". So the duplicate detection works a bit too well. If I remove the .include "../../meta-pkgs/modular-xorg/avoid-duplicate.mk" from libXft/Makefile, then it gets built as a pkgsrc package. Then pango suddenly finds harfbuzz and builds ok. Cairo also fails, already in the configure phase (something related to fontconfig, it seems): ... Cecking whether cairo's GLX functions feature could be enabled... no (not required by any backend) checking for cairo's WGL functions feature... checking whether cairo's WGL functions feature could be enabled... no (not required by any backend) checking for cairo's script surface backend feature... checking whether cairo's script surface backend feature could be enabled... yes checking for cairo's FreeType font backend feature... checking for FREETYPE... no checking freetype2 libtool version... 23.4.17 - OK checking whether cairo's FreeType font backend feature could be enabled... yes checking for cairo's Fontconfig font backend feature... checking for FONTCONFIG... no checking whether cairo's Fontconfig font backend feature could be enabled... no (requires fontconfig >= 2.2.95) configure: error: Fontconfig font backend feature could not be enabled *** Error code 1 Stop. make[1]: stopped in /usr/pkgsrc/graphics/cairo WARNING: *** Please consider adding c++ to USE_LANGUAGES in the package Makefile. *** Error code 1 Stop. make: stopped in /usr/pkgsrc/graphics/cairo If I set my freetype option back, cairo builds. So I guess that the duplicate detection works very well, and discovered some pkgsrc packages which are not happy with base system libXft. Which basically forces it to build as a package even for a native X11 install. -Olaf. -- ___ "Buying carbon credits is a bit like a serial killer paying someone else to \X/ have kids to make his activity cost neutral." -The BOFH falu.nl@rhialto
Attachment:
signature.asc
Description: PGP signature