Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 688998 - x11-libs/cairo-1.16.0-r3 - configure: error: FreeType font backend feature could not be enabled
Summary: x11-libs/cairo-1.16.0-r3 - configure: error: FreeType font backend feature c...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-30 12:03 UTC by Neil Stone
Modified: 2019-07-10 17:27 UTC (History)
1 user (show)

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


Attachments
/tmp/portage/x11-libs/cairo-1.16.0-r3/work/cairo-1.16.0-abi_x86_32.x86/config.log (config.log,140.99 KB, text/plain)
2019-07-01 07:49 UTC, Neil Stone
Details
build log (build.log,24.71 KB, text/plain)
2019-07-01 07:49 UTC, Neil Stone
Details
environment (environment,121.19 KB, text/plain)
2019-07-01 07:49 UTC, Neil Stone
Details
emerge --info (info.log,8.15 KB, text/plain)
2019-07-01 07:50 UTC, Neil Stone
Details
/tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum (.multilib_header_cksum,1.45 KB, text/plain)
2019-07-10 09:59 UTC, Neil Stone
Details
/tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum.new (.multilib_header_cksum.new,1.45 KB, text/plain)
2019-07-10 10:00 UTC, Neil Stone
Details
build log 10-July-2019 (build.log,984.12 KB, text/plain)
2019-07-10 10:02 UTC, Neil Stone
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Neil Stone 2019-06-30 12:03:40 UTC
build.log - https://gist.github.com/0c7617c96f977ff1e0f6580382d14105
environment - https://gist.github.com/d00ace1f9a76f4027ed2e13284cb5d75
emerge --info '=x11-libs/cairo-1.16.0-r3::gentoo' - https://gist.github.com/07ed8673be4a7ce8daf3a9bfba7d94d7
emerge -pqv '=x11-libs/cairo-1.16.0-r3::gentoo' - https://gist.github.com/f0641e3601806e03a26e73d2c650f6a8
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2019-06-30 16:11:04 UTC
(In reply to Neil Stone from comment #0)
> build.log - https://gist.github.com/0c7617c96f977ff1e0f6580382d14105
> environment - https://gist.github.com/d00ace1f9a76f4027ed2e13284cb5d75
> emerge --info '=x11-libs/cairo-1.16.0-r3::gentoo' -
> https://gist.github.com/07ed8673be4a7ce8daf3a9bfba7d94d7
> emerge -pqv '=x11-libs/cairo-1.16.0-r3::gentoo' -
> https://gist.github.com/f0641e3601806e03a26e73d2c650f6a8

Please attach all of those files right here.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2019-06-30 16:12:14 UTC
Also:

!!! Please attach the following file when seeking support:
!!! /tmp/portage/x11-libs/cairo-1.16.0-r3/work/cairo-1.16.0-abi_x86_32.x86/config.log
Comment 3 Neil Stone 2019-07-01 07:49:09 UTC
Created attachment 581590 [details]
/tmp/portage/x11-libs/cairo-1.16.0-r3/work/cairo-1.16.0-abi_x86_32.x86/config.log
Comment 4 Neil Stone 2019-07-01 07:49:30 UTC
Created attachment 581592 [details]
build log
Comment 5 Neil Stone 2019-07-01 07:49:46 UTC
Created attachment 581594 [details]
environment
Comment 6 Neil Stone 2019-07-01 07:50:01 UTC
Created attachment 581596 [details]
emerge --info
Comment 7 Neil Stone 2019-07-01 07:50:36 UTC
[ebuild   R   ] x11-libs/cairo-1.16.0-r3  USE="X glib opengl svg xcb (-aqua) -debug (-gles2) -static-libs -utils -valgrind" ABI_X86="32 (64) (-x32)"
Comment 8 Matt Turner gentoo-dev 2019-07-01 15:29:57 UTC
Looks like pkg-config can't find freetype's pc file. What do the following commands say?

| qlist freetype | grep pc

| ls /usr/lib*/pkgconfig/freetype2.pc

| pkg-config --cflags freetype2
Comment 9 Neil Stone 2019-07-02 07:23:45 UTC
threadripper ~ # qlist freetype | grep pc
/usr/lib64/pkgconfig/freetype2.pc
/usr/lib32/pkgconfig/freetype2.pc

threadripper ~ # ls /usr/lib*/pkgconfig/freetype2.pc
/usr/lib64/pkgconfig/freetype2.pc

threadripper ~ # pkg-config --cflags freetype2
-I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
Comment 10 Matt Turner gentoo-dev 2019-07-02 17:38:29 UTC
(In reply to Neil Stone from comment #9)
> threadripper ~ # qlist freetype | grep pc
> /usr/lib64/pkgconfig/freetype2.pc
> /usr/lib32/pkgconfig/freetype2.pc

Looks like /usr/lib32/pkgconfig/freetype2.pc is supposed to have been installed by portage.

> threadripper ~ # ls /usr/lib*/pkgconfig/freetype2.pc
> /usr/lib64/pkgconfig/freetype2.pc

But here it doesn't seem to exist.

Did you recently migrate from 17.0 to 17.1 profiles? Did you reemerge packages that install files to /usr/lib32? E.g., with emerge -v1a /lib32 /usr/lib32
Comment 11 Neil Stone 2019-07-04 11:49:41 UTC
(In reply to Matt Turner from comment #10)
> (In reply to Neil Stone from comment #9)
> > threadripper ~ # qlist freetype | grep pc
> > /usr/lib64/pkgconfig/freetype2.pc
> > /usr/lib32/pkgconfig/freetype2.pc
> 
> Looks like /usr/lib32/pkgconfig/freetype2.pc is supposed to have been
> installed by portage.
> 
> > threadripper ~ # ls /usr/lib*/pkgconfig/freetype2.pc
> > /usr/lib64/pkgconfig/freetype2.pc
> 
> But here it doesn't seem to exist.
> 
> Did you recently migrate from 17.0 to 17.1 profiles? Did you reemerge
> packages that install files to /usr/lib32? E.g., with emerge -v1a /lib32
> /usr/lib32

Migrated to 17.1 recently, yes

I was sure I did the re-emerge at the end, but I'll give that another shot and see what happens...
Comment 12 Neil Stone 2019-07-04 12:09:21 UTC
So, gave it another run and.... freetype fails to build.


checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for LIBPNG... yes
checking for HARFBUZZ... no
configure: error: harfbuzz support requested but library not found
gmake: *** [/tmp/portage/media-libs/freetype-2.9.1-r3/work/freetype-2.9.1/builds/unix/detect.mk:83: setup] Error 1

!!! Please attach the following file when seeking support:
!!! /tmp/portage/media-libs/freetype-2.9.1-r3/work/freetype-2.9.1-abi_x86_32.x86/config.log
 * ERROR: media-libs/freetype-2.9.1-r3::gentoo failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *               ebuild.sh, line  124:  Called src_configure
 *             environment, line 2835:  Called multilib-minimal_src_configure
 *             environment, line 1995:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *             environment, line 2222:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1925:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1923:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *             environment, line  429:  Called multilib-minimal_abi_src_configure
 *             environment, line 1989:  Called multilib_src_configure
 *             environment, line 2461:  Called econf '--enable-biarch-config' '--enable-freetype-config' '--enable-shared' '--with-bzip2' '--with-harfbuzz' '--with-png' '--disable-static' 'LIBPNG_CFLAGS=-I/usr/include/libpng16' 'LIBPNG_LDFLAGS=-L/usr/lib -lpng16 -lz' 'ac_cv_prog_RC=' 'ac_cv_prog_ac_ct_RC='
 *        phase-helpers.sh, line  718:  Called __helpers_die 'econf failed'
 *   isolated-functions.sh, line  119:  Called die
 * The specific snippet of code:
 *              die "$@"
Comment 13 Matt Turner gentoo-dev 2019-07-04 17:53:22 UTC
I suspect that you need to do 

> emerge -v1a /lib32 /usr/lib32

to re-emerge *all* the libraries in the lib32 directories.
Comment 14 Neil Stone 2019-07-05 22:40:30 UTC
(In reply to Matt Turner from comment #13)
> I suspect that you need to do 
> 
> > emerge -v1a /lib32 /usr/lib32
> 
> to re-emerge *all* the libraries in the lib32 directories.

I did... and I got the error in my last reply :-\
Comment 15 Matt Turner gentoo-dev 2019-07-06 07:28:13 UTC
There's a circular dependency between freetype and harfbuzz, so I would try

USE=-harfbuzz emerge -1 freetype
emerge -1 harfbuzz freetype
Comment 16 Neil Stone 2019-07-09 23:31:32 UTC
Used suggested command, got slot conflict.

threadripper /etc/portage # USE=-harfbuzz emerge -1 freetype -av

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

Calculating dependencies... done!
[ebuild   R    ] media-libs/freetype-2.9.1-r3:2::gentoo  USE="X adobe-cff bzip2 cleartype_hinting png -bindist -debug -doc -fontforge -harfbuzz* -infinality -static-libs -utils" ABI_X86="32 (64) (-x32)" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

media-libs/freetype:2

  (media-libs/freetype-2.9.1-r3:2/2::gentoo, ebuild scheduled for merge) pulled in by
    media-libs/freetype (Argument)

  (media-libs/freetype-2.9.1-r3:2/2::gentoo, installed) pulled in by
    media-libs/freetype:2[harfbuzz] required by (media-video/vlc-3.0.6-r1:0/5-9::gentoo, installed)
                          ^^^^^^^^                                                                                                     


It might be possible to solve this slot collision
by applying all of the following changes:
   - media-libs/freetype-2.9.1-r3 (Change USE: +harfbuzz)

threadripper /etc/portage # 


Had a chat with tdr on IRC... suggestion was to unmerge, as a temp measure, vlc... then merge in freetype without harfbuzz, then merge harfbuzz, then merge freetype (with harfbuzz), then merge vlc...

That worked... however I now have another 'fun' issue with the cairo package...


#########


 * Header files have changed between ABIs.
 * --- /tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum        2019-07-10 00:29:12.677973450 +0100
 * +++ /tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum.new    2019-07-10 00:29:14.037965751 +0100
 * @@ -1,5 +1,5 @@
 *  1697850091 110955 /tmp/portage/x11-libs/cairo-1.16.0-r3/image/usr/include/cairo/cairo.h
 * -2332829257 1460 /tmp/portage/x11-libs/cairo-1.16.0-r3/image/usr/include/cairo/cairo-features.h
 * +1357083925 1458 /tmp/portage/x11-libs/cairo-1.16.0-r3/image/usr/include/cairo/cairo-features.h
 *  3521621196 148 /tmp/portage/x11-libs/cairo-1.16.0-r3/image/usr/include/cairo/cairo-version.h
 *  3380958664 2173 /tmp/portage/x11-libs/cairo-1.16.0-r3/image/usr/include/cairo/cairo-tee.h
 *  1723680466 2436 /tmp/portage/x11-libs/cairo-1.16.0-r3/image/usr/include/cairo/cairo-xlib-xrender.h
 * ERROR: x11-libs/cairo-1.16.0-r3::gentoo failed (install phase):
 *   Header checksum mismatch, aborting.


########
Comment 17 Matt Turner gentoo-dev 2019-07-10 01:42:12 UTC
Please attach these two files:

 * --- /tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum 2019-07-10 00:29:12.677973450 +0100
 * +++ /tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum.new 2019-07-10 00:29:14.037965751 +0100
Comment 18 Matt Turner gentoo-dev 2019-07-10 01:51:45 UTC
And also a new build log.
Comment 19 Neil Stone 2019-07-10 09:59:34 UTC
Created attachment 582350 [details]
/tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum
Comment 20 Neil Stone 2019-07-10 10:00:04 UTC
Created attachment 582352 [details]
/tmp/portage/x11-libs/cairo-1.16.0-r3/temp/.multilib_header_cksum.new
Comment 21 Neil Stone 2019-07-10 10:02:10 UTC
Created attachment 582354 [details]
build log 10-July-2019
Comment 22 Neil Stone 2019-07-10 10:03:26 UTC
A quick diff of the two files suggests

/tmp/portage/x11-libs/cairo-1.16.0-r3/image/usr/include/cairo/cairo-features.h

as the issue... unless I'm reading it wrong?
Comment 23 Matt Turner gentoo-dev 2019-07-10 17:27:36 UTC
(In reply to Neil Stone from comment #21)
> Created attachment 582354 [details]
> build log 10-July-2019

Thanks. Diffing the configure output from the two ABIs, I see:

--- x86	2019-07-10 10:20:05.797019925 -0700
+++ x86_64	2019-07-10 10:19:37.028111075 -0700
@@ -29,7 +29,7 @@
 The following font backends:
   User:          yes (always builtin)
   FreeType:      yes
-  Fontconfig:    no (requires fontconfig >= 2.2.95)
+  Fontconfig:    yes
   Win32:         no (requires a Win32 platform)
   Quartz:        no (disabled, use --enable-quartz to enable)

cairo definitely depends on multilib fontconfig:

>     >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]

So I think you need to re-emerge fontconfig.

I have no idea how your system got into this state. It really seems like the packages in /{,usr/}lib32 have not been rebuilt after the 17.1 profile switch.

This command

> find /var/db/pkg -name CONTENTS -exec grep lib32 {} + | cut -d/ -f5-6 | sort -u

will give you a list of packages that still have files installed to /{,usr/}lib32.

> emerge -v1 /lib32 /usr/lib32

Should be enough to re-emerge them, but if for whatever reason it doesn't, you have the full list of packages.

Since this really isn't a support forum and I'm now 99.9% sure that this isn't caused by a bug in the cairo ebuild, let's mark it as RESOLVED/INVALID. If you need further assistance, the kind people in #gentoo are always there to help (I think you might have already been there).