g++ -o src/backgrounds/hdri.os -c -Wall -DHAVE_CONFIG_H -D_PTHREADS -O2 -march=i686 -mtune=athlon-xp -msse -mmmx -pipe -ggdb3 -fsigned-char -ffast-math -fomit-frame-pointer -fPIC -Isrc/backgrounds -I. -Isrc/yafraycore src/backgrounds/hdri.cc g++ -o src/yafraycore/HDR_io.os -c -Wall -DHAVE_CONFIG_H -D_PTHREADS -O2 -march=i686 -mtune=athlon-xp -msse -mmmx -pipe -ggdb3 -fsigned-char -ffast-math -fomit-frame-pointer -fPIC -Isrc/yafraycore -I. src/yafraycore/HDR_io.cc In file included from src/backgrounds/hdri.h:6, from src/backgrounds/hdri.cc:5: src/yafraycore/vector3d.h: In function ‘int yafray::ourRandomI()’: src/yafraycore/vector3d.h:267: warning: integer overflow in expression src/yafraycore/vector3d.h: In function ‘yafray::PFLOAT yafray::ourRandom()’: src/yafraycore/vector3d.h:279: warning: integer overflow in expression 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/background.os -c -Wall -DHAVE_CONFIG_H -D_PTHREADS -O2 -march=i686 -mtune=athlon-xp -msse -mmmx -pipe -ggdb3 -fsigned-char -ffast-math -fomit-frame-pointer -fPIC -Isrc/yafraycore -I. src/yafraycore/background.cc In file included from src/yafraycore/HDR_io.h:8, from src/yafraycore/HDR_io.cc:7: 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/HDR_io.cc: In member function ‘bool yafray::HDRimage_t::CheckHDR()’: src/yafraycore/HDR_io.cc:194: error: ‘strstr’ was not declared in this scope src/yafraycore/HDR_io.cc:195: error: ‘strstr’ was not declared in this scope src/yafraycore/HDR_io.cc:198: error: ‘strcmp’ 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 = 4u]’: src/yafraycore/HDR_io.h:72: instantiated from here src/yafraycore/buffer.h:46: error: ‘exit’ was not declared in this scope scons: *** [src/yafraycore/HDR_io.os] Error 1 In file included from src/yafraycore/background.h:6, from src/yafraycore/background.cc:2: src/yafraycore/vector3d.h: In function ‘int yafray::ourRandomI()’: src/yafraycore/vector3d.h:267: warning: integer overflow in expression src/yafraycore/vector3d.h: In function ‘yafray::PFLOAT yafray::ourRandom()’: src/yafraycore/vector3d.h:279: warning: integer overflow in expression src/yafraycore/vector3d.h: In function ‘yafray::PFLOAT yafray::ourRandom(int&)’: src/yafraycore/vector3d.h:291: warning: integer overflow in expression scons: building terminated because of errors.
Created attachment 151283 [details, diff] yafray-0.0.9-gcc43.patch Fixes the problem. Snatched from Debian.
+ 29 Apr 2008; Samuli Suominen <drac@gentoo.org> + +files/yafray-0.0.9-gcc43.patch, yafray-0.0.9-r1.ebuild: + Fix building with GCC 4.3 wrt #219648, thanks to Peter Alfredsen.