Package: yafray
Version: 0.0.9-2
Usertags: ftbfs-gcc-4.3
Tags: patch

Your package fails to build with GCC 4.3.  Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning.  In GCC 4.3, the C++ header
dependencies have been cleaned up.  The advantage of this is that
programs will compile faster.  The downside is that you actually
need to directly #include everything you use (but you really should
do this anyway, otherwise your program won't work with any compiler
other than GCC).  Some background of this can be found at
http://gcc.gnu.org/PR28080

You can reproduce this problem with gcc-snapshot (20070326-1 or higher)
from unstable. (Currently not available for i386, but for amd64, powerpc
and ia64.  I hope to have i386 binaries in the archive in ~3 weeks.)


> Automatic build of yafray_0.0.9-2 on coconut0 by sbuild/ia64 0.49
..
> src/yafraycore/vector3d.h: In function 'yafray::PFLOAT 
> yafray::ourRandom(int&)':
> src/yafraycore/vector3d.h:291: warning: integer overflow in expression
> g++ -o src/yafraycore/EXR_io.os -c -Wall -DHAVE_CONFIG_H -D_PTHREADS -O3 
> -ffast-math -fomit-frame-pointer -fPIC -Isrc/yafraycore -I. 
> -I/usr/include/OpenEXR src/yafraycore/EXR_io.cc
> In file included from src/yafraycore/EXR_io.h:5,
>                  from src/yafraycore/EXR_io.cc:15:
> src/yafraycore/buffer.h: In constructor 'yafray::gBuf_t<T1, T2>::gBuf_t(int, 
> int)':
> src/yafraycore/buffer.h:46: error: there are no arguments to 'exit' that 
> depend on a template parameter, so a declaration of 'exit' must be available
> src/yafraycore/buffer.h:46: error: (if you use '-fpermissive', G++ will 
> accept your code, but allowing the use of an undeclared name is deprecated)
> src/yafraycore/buffer.h: In member function 'void yafray::gBuf_t<T1, 
> T2>::set(int, int)':
> src/yafraycore/buffer.h:62: error: there are no arguments to 'exit' that 
> depend on a template parameter, so a declaration of 'exit' must be available
> src/yafraycore/buffer.h: In constructor 'yafray::Buffer_t<T>::Buffer_t(int, 
> int)':
> src/yafraycore/buffer.h:156: error: there are no arguments to 'exit' that 
> depend on a template parameter, so a declaration of 'exit' must be available
> src/yafraycore/buffer.h: In member function 'void 
> yafray::Buffer_t<T>::set(int, int)':
> src/yafraycore/buffer.h:178: error: there are no arguments to 'exit' that 
> depend on a template parameter, so a declaration of 'exit' must be available
> src/yafraycore/buffer.h: In constructor 'yafray::gBuf_t<T1, T2>::gBuf_t(int, 
> int) [with T1 = float, unsigned char T2 = 4u]':
> src/yafraycore/EXR_io.h:18:   instantiated from here
> src/yafraycore/buffer.h:46: error: 'exit' was not declared in this scope
> src/yafraycore/buffer.h: In constructor 'yafray::gBuf_t<T1, T2>::gBuf_t(int, 
> int) [with T1 = float, unsigned char T2 = 1u]':
> src/yafraycore/EXR_io.h:22:   instantiated from here
> src/yafraycore/buffer.h:46: error: 'exit' was not declared in this scope

--- src/yafraycore/buffer.h~    2007-04-04 14:50:40.000000000 +0000
+++ src/yafraycore/buffer.h     2007-04-04 14:50:45.000000000 +0000
@@ -28,6 +28,7 @@
 #endif
 
 #include <cstdio>
+#include <cstdlib>
 #include <iostream>
 #include "color.h"
 
--- src/yafraycore/ccthreads.cc~        2007-04-04 14:51:26.000000000 +0000
+++ src/yafraycore/ccthreads.cc 2007-04-04 14:51:33.000000000 +0000
@@ -1,4 +1,5 @@
 #include"ccthreads.h"
+#include<cstdlib>
 #include<iostream>
 
 using namespace std;
--- src/yafraycore/renderblock.cc~      2007-04-04 14:52:38.000000000 +0000
+++ src/yafraycore/renderblock.cc       2007-04-04 14:52:44.000000000 +0000
@@ -1,5 +1,6 @@
 
 #include "renderblock.h"
+#include <cstdlib>
 
 using namespace std;
 


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


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to