Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 519934 - >=media-libs/freetype-2.5.3-r1[fontforge]: cvdebug.c:62:33: fatal error: internal/internal.h: No such file or directory
Summary: >=media-libs/freetype-2.5.3-r1[fontforge]: cvdebug.c:62:33: fatal error: inte...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Ben de Groot (RETIRED)
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2014-08-14 18:29 UTC by Dani Church
Modified: 2016-05-30 07:09 UTC (History)
4 users (show)

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


Attachments
freetype-2.5.3-r1.ebuild (freetype-2.5.3-r1.ebuild,5.19 KB, text/plain)
2014-08-14 18:30 UTC, Dani Church
Details
freetype-2.5.5 build log (build.log,125.81 KB, text/plain)
2015-02-10 16:55 UTC, Dani Church
Details
fontforge-20120731-r1 build log (build.log,222.19 KB, text/plain)
2015-02-10 16:56 UTC, Dani Church
Details
Patch to freetype-2.5.5.ebuild to fix issue (freetype-fontforge-fix.patch,654 bytes, patch)
2015-02-10 16:57 UTC, Dani Church
Details | Diff
Patch to freetype-2.6.2.ebuild to fix issue again (freetype-2.6.2.ebuild.patch,654 bytes, patch)
2016-01-20 01:34 UTC, Dani Church
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dani Church 2014-08-14 18:29:11 UTC
The freetype include structure changed recently to remove a layer of the directory hierarchy: http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/include/internal?id=fae382076409db198dfbff36ac4cbb97b05b30a1

As a result, the freetype ebuild now tries to copy the fontforge-required headers from an invalid directory, and so fontforge is unable to compile with the truetype debugger enabled.

This can be fixed by editing the freetype ebuild to copy header files from "include/internal" rather than "include/freetype/internal" in multilib_src_install_all().

Reproducible: Always

Steps to Reproduce:
1. Emerge freetype with the fontforge USE flag enabled
2. Emerge fontforge with the truetype-debugger USE flag enabled
Actual Results:  
fontforge compilation fails with the error message:

cvdebug.c:62:33: fatal error: internal/internal.h: No such file or directory
 #  include <internal/internal.h>


Expected Results:  
fontforge should compile properly

Portage 2.2.12 (python 2.7.8-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.3, glibc-2.19-r1, 3.15.0-gentoo x86_64)
=================================================================
System uname: Linux-3.15.0-gentoo-x86_64-AMD_FX-tm-8320_Eight-Core_Processor-with-gentoo-2.2
KiB Mem:    16400956 total,   8612500 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Wed, 13 Aug 2014 22:45:01 +0000
ld GNU ld (GNU Binutils) 2.24
app-shells/bash:          4.2_p47
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.8, 3.3.5-r1, 3.4.1
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.14.1
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo roslin x-portage
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL AdobeFlash-11.x skype-4.0.0.7-copyright googleearth Google-TOS google-chrome"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -ftracer -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native -ftracer -ggdb"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.lug.udel.edu/pub/gentoo/ http://mirror.datapipe.net/gentoo http://gentoo.osuosl.org/ http://mirrors.rit.edu/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9 -l8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/roslin /usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avx berkdb bluetooth branding bs2b bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr ecdsa emboss encode exif faac fam ffmpeg firefox flac fma3 fma4 fontforge fortran gdbm gif gimp gpm gtk iconv icu infinality ipv6 jit jpeg lcms ldap ldns libass libnotify lzma lzo mad minizip mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl nsplugin ogg opencl opengl openmp openvg pam pango pcre pdf png policykit ppds python qt3support qt4 readline scanner sdl session spell sqlite sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssse3 startup-notification svg tcpd theora threads tiff truetype udev udisks unicode upnp upower usb vaapi vdpau vim-syntax vorbis wxwidgets x264 xcb xcomposite xinerama xml xrandr xscreensaver xv xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" SANE_BACKENDS="net epson epson2" USERLAND="GNU" VIDEO_CARDS="fglrx radeon r600" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Dani Church 2014-08-14 18:30:55 UTC
Created attachment 382904 [details]
freetype-2.5.3-r1.ebuild

Working ebuild for freetype.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2014-08-15 08:09:38 UTC
Please attach the entire build log to this bug report.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2014-08-15 08:10:04 UTC
Comment on attachment 382904 [details]
freetype-2.5.3-r1.ebuild

--- freetype-2.5.3-r1.ebuild    2014-08-04 12:19:42.407871052 +0200
+++ -   2014-08-15 10:09:52.524834398 +0200
@@ -148,7 +148,7 @@
                # Probably fontforge needs less but this way makes things simplier...
                einfo "Installing internal headers required for fontforge"
                local header
-               find src/truetype include/freetype/internal -name '*.h' | \
+               find src/truetype include/internal -name '*.h' | \
                while read header; do
                        mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
                        cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
Comment 4 Barry Schwartz 2014-11-19 22:15:45 UTC
As a developer for the FontForge fork Sorts Mill Tools, I am encountering the same problem in my development work. (I do not employ USE=fontforge in other ebuilds, myself.)
Comment 5 Dani Church 2015-02-10 16:54:17 UTC
This is still an issue.  Attaching build logs for freetype and fontforge.
Comment 6 Dani Church 2015-02-10 16:55:18 UTC
Created attachment 396102 [details]
freetype-2.5.5 build log
Comment 7 Dani Church 2015-02-10 16:56:26 UTC
Created attachment 396104 [details]
fontforge-20120731-r1 build log
Comment 8 Dani Church 2015-02-10 16:57:13 UTC
Created attachment 396106 [details, diff]
Patch to freetype-2.5.5.ebuild to fix issue
Comment 9 David W Noon 2015-08-04 00:29:39 UTC
I am still seeing this error with media-gfx/fontforge-20150430.
Comment 10 Dani Church 2016-01-20 01:33:22 UTC
The freetype upstream, not being able to make up their minds, have changed the include structure to restore the freetype/ layer of the include hierarchy: http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/include/freetype/internal?id=392cf22f8a5a281b8ebc56bf932e66da78f66410

As a result, our recent freetype ebuilds are failing again in exactly the same way as before.  The fix is to revert the change from attachment 396106 [details, diff].
Comment 11 Dani Church 2016-01-20 01:34:26 UTC
Created attachment 423396 [details, diff]
Patch to freetype-2.6.2.ebuild to fix issue again
Comment 12 Mikael Magnusson 2016-04-09 17:41:08 UTC
What if you just did
find src/truetype include/internal include/freetype/internal -name '*.h'
and it should be safe at least for a while?
Comment 13 Dani Church 2016-04-10 19:51:34 UTC
(In reply to Mikael Magnusson from comment #12)
> What if you just did
> find src/truetype include/internal include/freetype/internal -name '*.h'
> and it should be safe at least for a while?

Unless they make a habit of switching their sourcetree around a lot, I think that's probably overengineering for a problem that doesn't exist.
Comment 14 Pacho Ramos gentoo-dev 2016-05-28 10:58:06 UTC
what is the state of this with 2.6.3-r1?
Comment 15 Dani Church 2016-05-30 06:40:47 UTC
(In reply to Pacho Ramos from comment #14)
> what is the state of this with 2.6.3-r1?

Needs the same patch as 2.6.2, from comment #11.
Comment 16 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2016-05-30 07:09:13 UTC
commit 5b6d98096fe22f5fe9cec1eb6194fcb9147b650b
Author: Lars Wendler <polynomial-c@gentoo.org>
Date:   Mon May 30 09:07:49 2016

    media-libs/freetype: Fixed header installation  for fontforge (#519934)
    
    Package-Manager: portage-2.2.28
    Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>


Fixed in =media-libs/freetype-2.6.3-r1. Sorry for the long wait.