When attempting to build the newly-stable grub-2.02b2 for a CoreBoot-based PC Engines APU1C system (headless; serial output only) I get: checking for freetype-config... freetype-config checking ft2build.h usability... yes checking ft2build.h presence... yes checking for ft2build.h... yes configure: error: qemu, powerpc-ieee1275, coreboot and loongson ports need unifont !!! Please attach the following file when seeking support: !!! /var/tmp/portage/sys-boot/grub-2.02_beta2/work/grub-2.02~beta2-coreboot/config.log * ERROR: sys-boot/grub-2.02_beta2::gentoo failed (configure phase): * econf failed * * Call stack: * ebuild.sh, line 93: Called src_configure * environment, line 4030: Called multibuild_parallel_foreach_variant 'grub_configure' * environment, line 3225: Called multibuild_foreach_variant '_multibuild_parallel' 'grub_configure' * environment, line 3168: Called _multibuild_run '_multibuild_parallel' 'grub_configure' * environment, line 3166: Called _multibuild_parallel 'grub_configure' * environment, line 3216: Called grub_configure * environment, line 2633: Called autotools-utils_src_configure * environment, line 762: Called econf '--docdir=/usr/share/doc/grub-2.02_beta2' '--disable-werror' '--program-prefix=' '--libdir=/usr/lib' '--htmldir=/usr/share/doc/grub-2.02_beta2/html' '--disable-mm-debug' '--disable-grub-emu-usb' '--disable-device-mapper' '--disable-grub-mount' '--enable-nls' '--disable-grub-mkfont' '--disable-libzfs' '--with-platform=coreboot' '--program-transform-name=s,grub,grub2,' * phase-helpers.sh, line 584: Called die * The specific snippet of code: * die "econf failed" * * If you need support, post the output of `emerge --info '=sys-boot/grub-2.02_beta2::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-boot/grub-2.02_beta2::gentoo'`. /usr/lib/portage/bin/isolated-functions.sh: line 195: wait: `econf failed': not a pid or valid job spec This occurs regardless of whether USE="efiemu" is set or not. As this is a serial-only headless server, I'd prefer to avoid having to install fonts which will never be seen... # emerge -pqv '=sys-boot/grub-2.02_beta2::gentoo' [ebuild U ] sys-boot/grub-2.02_beta2 [2.00_p5107-r2] USE="efiemu multislot nls -debug -device-mapper -doc (-libzfs) -mount -sdl -static {-test} -truetype (-custom-cflags%)" GRUB_PLATFORMS="coreboot -efi-32 -efi-64 -emu -ieee1275 -multiboot -pc -qemu -qemu-mips -xen% -yeeloong" Filtered "emerge --info '=sys-boot/grub-2.02_beta2::gentoo'": Portage 2.2.8-r1 (default/linux/amd64/13.0/x32, gcc-4.7.3, glibc-2.19-r1, 3.16.0-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.16.0-gentoo-x86_64-AMD_G-T40E_Processor-with-gentoo-2.2 KiB Mem: 2023968 total, 174136 free KiB Swap: 0 total, 0 free Timestamp of tree: Tue, 09 Sep 2014 05:30:01 +0000 ld GNU ld (Gentoo 2.23.2 p1.0) 2.23.2 distcc 3.1 x86_64-pc-linux-gnux32 [disabled] app-shells/bash: 4.2_p45 dev-lang/python: 2.7.7 dev-util/cmake: 2.8.12.2-r1 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.12.4 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.13.4 sys-devel/binutils: 2.23.2 sys-devel/gcc: 4.7.3-r1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.13 (virtual/os-headers) sys-libs/glibc: 2.19-r1 ABI_X86="x32 64" ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" ARCH="amd64" CBUILD="x86_64-pc-linux-gnux32" CFLAGS="-march=native -fomit-frame-pointer -Os -pipe" CFLAGS_amd64="-m64" CFLAGS_x32="-mx32" CFLAGS_x86="-m32" CHOST="x86_64-pc-linux-gnux32" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x32="x86_64-pc-linux-gnux32" CHOST_x86="i686-pc-linux-gnu" CXXFLAGS="-march=native -fomit-frame-pointer -Os -pipe" GRUB_PLATFORMS="coreboot" USE="3dnow 3dnowext acl adns aio amd64 bash-completion berkdb bzip2 caps chroot cli cracklib crypt cxx dbi dri expat fam fontconfig gd gdbm geoip gmp iconv icu idea idn ipv6 ithreads jpeg json libedit libffi lm_sensors lzma lzo mailwrapper mmx mmxext modules multilib ncurses network-cron nls nptl openmp pam pcre perl png python readline rpc session snmp sqlite sse sse2 sse3 ssl ssse3 syslog tcpd threads unicode urandom usb vim-syntax xattr xinetd xml zeroconf zlib"
The best I can do is fixup the dependencies here. Something like: DEPEND="grub_platforms_qemu? ( media-libs/freetype:2 ) grub_platforms_ieee1275? ( media-libs/freetype:2 ) grub_platforms_coreboot? ( media-libs/freetype:2 ) grub_platforms_loongson? ( media-libs/freetype:2 )" If you really want to build grub without freetype installed, you will need to convince the upstream developers. http://www.gnu.org/software/grub/grub-mailinglist.html http://savannah.gnu.org/bugs/?group=grub
Feel free to file a new bug if upstream relaxes their configure check. + 10 Sep 2014; Mike Gilbert <floppym@gentoo.org> grub-2.02_beta2-r1.ebuild, + grub-2.02_beta2.ebuild, grub-9999-r1.ebuild: + Add build-time dep on freetype for coreboot, qemu, ieee1275 and loongson. Bug + 522464 by Stuart Shelton.
(In reply to Mike Gilbert from comment #1) > The best I can do is fixup the dependencies here. Unfortunately, I don't think this fix totally works - I've tried grub-2.02_beta2-r1 (with the freetype deps added) and still hit the same problem. I have 'media-libs/freetype-2.5.3-r1 was built with the following: USE="adobe-cff bzip2 png -X -auto-hinter -bindist -debug -doc -fontforge (-harfbuzz) -infinality -static-libs -utils" ABI_X86="64 x32 -32"' It looks as if the configure script checks the directories /usr/src /usr/share/fonts/X11/misc /usr/share/fonts/unifont /usr/share/fonts/uni /usr/share/fonts/truetype/unifont /usr/share/fonts/misc for a file named unifont.{pcf,pcf.gz,bdf,bdf.gz,rtf,ttf.gz} - but will then reject a located file if the MD5sum matches one of four hard-coded files. Regardless, if enable_build_grub_mkfont is not set, then any font file - even if found - will be rejected. ... so it looks as if GRUB_PLATFORMS="coreboot" (or qemu, powerpc-ieee1275, or loongson) needs to require USE="freetype" (in addition to the new dependencies). Additionally, should unifont be bundled (as now), or should media-fonts/unifont be a dependency? With USE="freetype" manually added for this package, the build did succeed. The affected GRUB_PLATFORMS values should probably auto-select "freetype" for now. P.S. Upstream bug filed.