[Pkg-scicomp-devel] Bug#504831: FTBFS with GCC 4.4: #elif used instead of #else

Martin Michlmayr tbm at cyrius.com
Fri Nov 7 15:49:31 UTC 2008


Package: opencv
Version: 1.0.0-6.1
User: debian-gcc at 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.

GCC 4.4 will introduce better checks in the preprocessor.  The problem
is pretty obvious: you're using a #elif without any condition when
you really want a #else.

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

> Automatic build of opencv_1.0.0-6.1 on em64t by sbuild/amd64 0.53
...
> /bin/sh ../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I../../cxcore/include -I../..  -DNDEBUG  -fno-strict-aliasing  -Wall -g -fopenmp -O2 -g -MT cxalloc.lo -MD -MP -MF .deps/cxalloc.Tpo -c -o cxalloc.lo cxalloc.cpp
>  g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I../../cxcore/include -I../.. -DNDEBUG -fno-strict-aliasing -Wall -g -fopenmp -O2 -g -MT cxalloc.lo -MD -MP -MF .deps/cxalloc.Tpo -c cxalloc.cpp  -fPIC -DPIC -o .libs/cxalloc.o
> In file included from _cxcore.h:60,
>                  from cxalloc.cpp:42:
> ../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression
> make[4]: *** [cxalloc.lo] Error 1
> make[4]: Leaving directory `/build/tbm/opencv-1.0.0/cxcore/src'
> make[3]: *** [all-recursive] Error 1

--- cxcore/include/cxmisc.h~	2008-11-07 15:12:58.000000000 +0000
+++ cxcore/include/cxmisc.h	2008-11-07 15:13:03.000000000 +0000
@@ -130,7 +130,7 @@
     #include <alloca.h>
 #elif defined HAVE_ALLOCA
     #include <stdlib.h>
-#elif
+#else
     #error
 #endif
 

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





More information about the Pkg-scicomp-devel mailing list