Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 896158 - media-libs/harfbuzz-6.0.0 - ../harfbuzz-6.0.0/meson.build:183:4: ERROR: Automatic wrap-based subproject downloading is disabled
Summary: media-libs/harfbuzz-6.0.0 - ../harfbuzz-6.0.0/meson.build:183:4: ERROR: Autom...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-24 05:48 UTC by Martin Mokrejš
Modified: 2023-03-02 01:55 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2023-02-24 05:48:23 UTC
>>> Emerging (1 of 2) media-libs/harfbuzz-6.0.0::gentoo
 * harfbuzz-6.0.0.tar.xz BLAKE2B SHA512 size ;-) ...                                                                          [ ok ]
 * Checking whether python3_11 is suitable ...
 *   >=dev-lang/python-3.11.1-r1:3.11 ...                                                                                     [ !! ]
 * Checking whether python3_10 is suitable ...
 *   >=dev-lang/python-3.10.9-r1:3.10 ...                                                                                     [ !! ]
 * Checking whether python3_9 is suitable ...
 *   >=dev-lang/python-3.9.16-r1:3.9 ...                                                                                      [ ok ]
 * Using python3.9 to build (via PYTHON_COMPAT iteration)
>>> Unpacking source...
>>> Unpacking harfbuzz-6.0.0.tar.xz to /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work
>>> Source unpacked in /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work
>>> Preparing source in /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0 ...
 * Applying harfbuzz-6.0.0-gcc-13.patch ...                                                                                   [ ok ]
>>> Source prepared.
>>> Configuring source in /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0 ...
 * abi_x86_64.amd64: running multilib-minimal_abi_src_configure
meson setup --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/temp/python3.9/pkgconfig:/usr/share/pkgconfig --pkg-config-path /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/temp/python3.9/pkgconfig:/usr/share/pkgconfig --native-file /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/temp/meson.x86_64-pc-linux-gnu.amd64.ini -Db_pch=false -Dwerror=false --buildtype plain -Dcoretext=disabled -Dchafa=disabled -Dglib=enabled -Dgraphite2=enabled -Dicu=enabled -Dgobject=enabled -Dtests=disabled -Dfreetype=enabled -Dcairo=enabled -Ddocs=disabled -Dintrospection=enabled -Dexperimental_api=false /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0 /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0-abi_x86_64.amd64
The Meson build system
Version: 1.0.0
Source dir: /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0
Build dir: /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0-abi_x86_64.amd64
Build type: native build
Project name: harfbuzz
Project version: 6.0.0
C compiler for the host machine: x86_64-pc-linux-gnu-gcc (gcc 12.2.1 "x86_64-pc-linux-gnu-gcc (Gentoo 12.2.1_p20230121-r1 p10) 12.2.1 20230121")
C linker for the host machine: x86_64-pc-linux-gnu-gcc ld.bfd 2.39
C++ compiler for the host machine: x86_64-pc-linux-gnu-g++ (gcc 12.2.1 "x86_64-pc-linux-gnu-g++ (Gentoo 12.2.1_p20230121-r1 p10) 12.2.1 20230121")
C++ linker for the host machine: x86_64-pc-linux-gnu-g++ ld.bfd 2.39
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports link arguments -Bsymbolic-functions: YES 
Compiler for C++ supports arguments -fno-exceptions: YES 
Compiler for C++ supports arguments -fno-rtti: YES 
Compiler for C++ supports arguments -fno-threadsafe-statics: YES 
Compiler for C++ supports arguments -fvisibility-inlines-hidden: YES 
Library m found: YES
Found pkg-config: /usr/bin/x86_64-pc-linux-gnu-pkg-config (1.8.0)
Found CMake: /usr/bin/cmake (3.25.2)
Run-time dependency freetype2 found: NO (tried pkgconfig and cmake)
Run-time dependency freetype found: YES 2.12.1
Run-time dependency glib-2.0 found: YES 2.74.4
Run-time dependency gobject-2.0 found: YES 2.74.4
Run-time dependency graphite2 found: YES 3.0.1
Dependency graphite2 skipped: feature graphite disabled
Run-time dependency icu-uc found: YES 72.1
Run-time dependency cairo found: NO (tried pkgconfig and cmake)
Run-time dependency cairo-ft found: NO (tried pkgconfig and cmake)
Run-time dependency cairo found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency cairo

../harfbuzz-6.0.0/meson.build:183:4: ERROR: Automatic wrap-based subproject downloading is disabled

A full log can be found at /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0-abi_x86_64.amd64/meson-logs/meson-log.txt
 * ERROR: media-libs/harfbuzz-6.0.0::gentoo failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 3336:  Called meson-multilib_src_configure
 *   environment, line 2075:  Called multilib-minimal_src_configure
 *   environment, line 2285:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 2535:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2240:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2238:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  640:  Called multilib-minimal_abi_src_configure
 *   environment, line 2279:  Called multilib_src_configure
 *   environment, line 2760:  Called meson_src_configure
 *   environment, line 2178:  Called die
 * The specific snippet of code:
 *       "${mesonargs[@]}" ) || die
 * 
 * If you need support, post the output of `emerge --info '=media-libs/harfbuzz-6.0.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/harfbuzz-6.0.0::gentoo'`.
 * The complete build log is located at '/mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/temp/build.log'.
 * The ebuild environment file is located at '/mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/temp/environment'.
 * Working directory: '/mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0-abi_x86_64.amd64'
 * S: '/mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0'



# emerge -uN1 thunderbird -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 15.87 s.

[ebuild  N     ] media-libs/harfbuzz-6.0.0:0/6.0.0::gentoo  USE="cairo glib graphite icu introspection truetype -debug -doc -experimental -test" 0 KiB
[ebuild  N     ] mail-client/thunderbird-102.8.0::gentoo  USE="clang dbus hwaccel openh264 pulseaudio sndio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-librnp system-libvpx system-png system-webp wayland wifi -debug -eme-free -hardened -jack -libproxy -lto (-pgo) (-selinux) (-system-python-libs)" L10N="cs en-GB -af -ar -ast -be -bg -br -ca -cak -cy -da -de -dsb -el -en-CA -es-AR -es-ES -es-MX -et -eu -fi -fr -fy -ga -gd -gl -he -hr -hsb -hu -id -is -it -ja -ka -kab -kk -ko -lt -lv -ms -nb -nl -nn -pa -pl -pt-BR -pt-PT -rm -ro -ru -sk -sl -sq -sr -sv -th -tr -uk -uz -vi -zh-CN -zh-TW" 0 KiB


I had to use "USE=-cairo" to get around that.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-02-24 22:20:52 UTC
Please always include emerge --info. Please also include /mnt/nocrypt/var/tmp/portage/portage/media-libs/harfbuzz-6.0.0/work/harfbuzz-6.0.0-abi_x86_64.amd64/meson-logs/meson-log.txt in this instance.

Have you unmerged Harfbuzz or something, leading to a broken Cairo?
Comment 2 Martin Mokrejš 2023-02-28 10:46:18 UTC
Hi Sam,
  I unmerged harfbuzz to emerge it later again as it was causing dependency conflict. I wonder why configure fails badly if it cannot detect working cairo. It does not matter if it was working or broken, I cannot say from the emerge.log what was the culprit. Would the build.log point me to ${W}/harfbuzz-6.0.0-abi_x86_64.amd64/meson-logs/meson-log.txt I would look into it but I couldn't figure out where it was. Something what portage coud do and include in error messages.

  Still, if the cairo dependency is optional the configure check for it should not be fatal and harfbuzz be simply compiled without it's support.

  Isn't there a circular dependency between these two packages?

  Sorry that I do not ave the meson-log.txt, it got overwritten by the successfull compilation use USE=-cairo . I am not sure if it makes sense to reproduce the issue, supposedly by uninstalling some lib used by cairo lib.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-02 01:55:12 UTC
(In reply to Martin Mokrejš from comment #2)
> Hi Sam,

Hi

>   I unmerged harfbuzz to emerge it later again as it was causing dependency
> conflict. 

1. You should never need to unmerge anything. You should depclean things if they aren't needed anymore. If they are needed, you shouldn't need to remove them. It's a common misconception that one "needs" to.

2. You can't do this safely. For example, if Cairo is installed with Freetype support, then you unmerge Freetype, you leave Cairo's pkgconfig files (and libraries) broken, because they mention needing Freetype. Hence the error you got.

> I wonder why configure fails badly if it cannot detect working
> cairo. It does not matter if it was working or broken,

No, it does matter.

Another example of 2. above is bug 830044. Please read the discussion there, especially https://bugs.gentoo.org/830044#c7.

> I cannot say from the
> emerge.log what was the culprit. Would the build.log point me to
> ${W}/harfbuzz-6.0.0-abi_x86_64.amd64/meson-logs/meson-log.txt I would look
> into it but I couldn't figure out where it was. Something what portage coud
> do and include in error messages.
> 
>   Still, if the cairo dependency is optional the configure check for it
> should not be fatal and harfbuzz be simply compiled without it's support.
> 
>   Isn't there a circular dependency between these two packages?
> 

Yes, but you had one installed with support for the other, then yanked it. You can't do that.