From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= Subject: bug#30518: teeworlds fails on core-updates due to freetype-update (and contains files to be snipped) Date: Sun, 18 Feb 2018 21:46:36 +0100 Message-ID: <20180218214636.006a7f6d@alma-ubu> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42801) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1enVrV-0002IF-Qb for bug-guix@gnu.org; Sun, 18 Feb 2018 15:47:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1enVrS-0004Om-L0 for bug-guix@gnu.org; Sun, 18 Feb 2018 15:47:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:42326) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1enVrS-0004O5-Gy for bug-guix@gnu.org; Sun, 18 Feb 2018 15:47:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1enVrS-0004EF-A7 for bug-guix@gnu.org; Sun, 18 Feb 2018 15:47:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42672) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1enVr8-0002Ef-Hb for bug-guix@gnu.org; Sun, 18 Feb 2018 15:46:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1enVr5-0003Od-EX for bug-guix@gnu.org; Sun, 18 Feb 2018 15:46:42 -0500 Received: from m4s11.vlinux.de ([83.151.27.109]:51456 helo=bjoernhoefling.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1enVr4-0003Ky-Vt for bug-guix@gnu.org; Sun, 18 Feb 2018 15:46:39 -0500 Received: from alma-ubu (pD951FC9C.dip0.t-ipconnect.de [217.81.252.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by bjoernhoefling.de (Postfix) with ESMTPSA id 1ABD5409A9 for ; Sun, 18 Feb 2018 21:46:37 +0100 (CET) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 30518@debbugs.gnu.org I thought of looking closer at some core-updates failures and looked at this evaluation: https://hydra.gnu.org/eval/109914?full=3D1&compare=3D109912 Randomly I stumbled over a failing teeworlds: https://hydra.gnu.org/job/gnu/core-updates/teeworlds-0.6.4.x86_64-linux The currently latest build is: https://hydra.gnu.org/build/2437799 The last lines of the build are this: src/engine/client/text.cpp: In member function =E2=80=98void CTextRender::R= enderSetup(CFont*, int)=E2=80=99: src/engine/client/text.cpp:425:46: error: =E2=80=98FT_Set_Pixel_Sizes=E2=80= =99 was not declared in this scope FT_Set_Pixel_Sizes(pFont->m_FtFace, 0, size); ^ src/engine/client/text.cpp: In member function =E2=80=98float CTextRender::= Kerning(CFont*, int, int)=E2=80=99: src/engine/client/text.cpp:431:76: error: =E2=80=98FT_Get_Kerning=E2=80=99 = was not declared in this scope FT_Get_Kerning(pFont->m_FtFace, Left, Right, FT_KERNING_DEFAULT, &Kernin= g); = ^ src/engine/client/text.cpp: In member function =E2=80=98virtual void CTextR= ender::Init()=E2=80=99: src/engine/client/text.cpp:459:32: error: =E2=80=98FT_Init_FreeType=E2=80= =99 was not declared in this scope FT_Init_FreeType(&m_FTLibrary); ^ src/engine/client/text.cpp: In member function =E2=80=98virtual CFont* CTex= tRender::LoadFont(const char*)=E2=80=99: src/engine/client/text.cpp:470:70: error: =E2=80=98FT_New_Face=E2=80=99 was= not declared in this scope if(FT_New_Face(m_FTLibrary, pFont->m_aFilename, 0, &pFont->m_FtFace)) ^ bam: ret=3D256 g++ -Wall -fno-exceptions -fno-exceptions -Wall `sdl-confi= g --cflags` `freetype-config --cflags` -O2 -c -DCONF_RELEASE -I "src" -I "o= ther/freetype/include" -o objs/engine/client/text.o src/engine/client/text= .cpp bam: 'objs/engine/client/text.o' error 256 bam: error: a build step failed phase `build' failed after 19.3 seconds builder for `/gnu/store/lv3mx8580296yfs7cr30aha05c7n77g6-teeworlds-0.6.4.dr= v' failed with exit code 1 @ build-failed /gnu/store/lv3mx8580296yfs7cr30aha05c7n77g6-teeworlds-0.6.4.= drv - 1 builder for `/gnu/store/lv3mx8580296yfs7cr30aha05c7n77g6-teeworlds-= 0.6.4.drv' failed with exit code 1 That looks like freetype. And yes, in 5bb20a25078f79429a015c928a5d0c0efabef25e freetype was updated from 2.8 to 2.8.1. Since then, the build is broken. With the latest core-updates, I can reproduce the error. When I then revert the freetype version to 2.8, I can locally build and run teeworlds properly. I then saw the two commits 48342a04ada2df164df08c2532a2c424564da36f 7c291296955ed926377810cb61e251a808f98717 that are fixing freetype-related problems in other packages by adding pkg-config as a native-input. When I try that with teeworlds and freetype 2.8.1 (i.e. latest core-updates), teeworlds build is working fine again. So far, so good. That's a one-liner patch I could supply.=20 But I also noticed that there are directories other/freetype and other/sdl, which contain Windows DLLs and freetype/sdl headers. I tried to snip them away entirely and tried to substite* the imports in 'bam.lua': diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 51f158d93..327a12edb 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4608,7 +4608,10 @@ small robot living in the nano world, repair its mak= er.") '(begin (for-each delete-file-recursively '("src/engine/external/wavpack/" - "src/engine/external/zlib/")) + "src/engine/external/zlib/" + "other/freetype" + "other/sdl" +)) #t)) (patches (search-patches "teeworlds-use-latest-wavpack.patch")))) @@ -4638,7 +4641,10 @@ small robot living in the nano world, repair its mak= er.") "if true then") (("wavpack =3D .*") "wavpack =3D {} -settings.link.libs:Add(\"wavpack\")\n")) +settings.link.libs:Add(\"wavpack\")\n") + (("^Import.*other/sdl/sdl.lua.*") "\n") + (("^Import.*other/freetype/freetype.lua.*") "\n") +) (substitute* "src/engine/client/sound.cpp" (("#include ") "#include ")) But that failed. I finally managed to substitute* all SDL/freetype related entried from bam.lua, but then the compile fails because SLD.h is no longer found. Here, my knowledge of/interest in bam is at its end. So: 1) Anybody volunteering for totally snipping away the SDL/freetype externals? 1a) If not, we should at least snip away the DLLs and apply the pkg-config patch. 2) Unrelated: Are there more candidates in core-updates that fail and have a freetype dependency? How can we figure that out? Bj=C3=B6rn