[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#505693: FTBFS with GCC 4.4: missing #include; wrong #elif



Package: texlive-bin
Version: 2007.dfsg.2-4
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-4.4
Tags: patch

Your package fails to build with the upcoming GCC 4.4.  Version 4.4
has not been released yet but I'm building with a snapshot in order
to find errors and give people an advance warning.

Problem 1) GCC 4.4 cleaned up some more C++ headers.  You always have
to #include headers directly and cannot rely for things to be included
indirectly.

Problem 2) You're using #elif where you meant #else.

You can reproduce this problem with gcc-snapshot from unstable.


> Automatic build of texlive-bin_2007.dfsg.2-4 on em64t by sbuild/amd64 0.53
...
> generating dependency information for ../../../../libs/icu-xetex/layoutex/LXUtilities.cpp
> generating dependency information for ../../../../libs/icu-xetex/layoutex/RunArrays.cpp
> generating dependency information for ../../../../libs/icu-xetex/layoutex/ParagraphLayout.cpp
> ../../../../libs/icu-xetex/layoutex/ParagraphLayout.cpp:748:6: error: #elif with no expression
> make[3]: Leaving directory `/build/tbm/texlive-bin-2007.dfsg.2/build/source/Work/libs/icu-xetex/layoutex'
> make[3]: Entering directory `/build/tbm/texlive-bin-2007.dfsg.2/build/source/Work/libs/icu-xetex/layoutex'
> generating dependency information for ../../../../libs/icu-xetex/layoutex/ParagraphLayout.cpp
> ../../../../libs/icu-xetex/layoutex/ParagraphLayout.cpp:748:6: error: #elif with no expression
> g++ -D_REENTRANT -I../../../../libs/icu-xetex/layoutex -I../../../../libs/icu-xetex/layoutex/unicode -I../../../../libs/icu-xetex/layoutex/.. -I../common -I../../../../libs/icu-xetex/common -D_REENTRANT  -DU_LAYOUTEX_IMPLEMENTATION -g -O2  -c   -o ParagraphLayout.ao ../../../../libs/icu-xetex/layoutex/ParagraphLayout.cpp
> ../../../../libs/icu-xetex/layoutex/ParagraphLayout.cpp:748:6: error: #elif with no expression
> make[3]: *** [ParagraphLayout.ao] Error 1
> make[3]: Leaving directory `/build/tbm/texlive-bin-2007.dfsg.2/build/source/Work/libs/icu-xetex/layoutex'
> make[2]: *** [all-recursive] Error 2

--- source/libs/teckit/source/Compiler.cpp~	2008-11-14 12:52:09.000000000 +0000
+++ source/libs/teckit/source/Compiler.cpp	2008-11-14 12:52:16.000000000 +0000
@@ -29,6 +29,7 @@
 
 #include "Compiler.h"
 
+#include <cstdio>
 #include <iostream>
 #include <iomanip>
 #include <algorithm>
--- source/libs/icu-xetex/layoutex/ParagraphLayout.cpp~	2008-11-14 12:49:18.000000000 +0000
+++ source/libs/icu-xetex/layoutex/ParagraphLayout.cpp	2008-11-14 12:49:24.000000000 +0000
@@ -745,7 +745,7 @@
 
     return nullLanguageCode;
 }
-#elif
+#else
 
 // TODO - dummy implementation for right now...
 le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)

-- 
Martin Michlmayr
http://www.cyrius.com/



Reply to: