[Pkg-blender-maintainers] Bug#462116: FTBFS with GCC 4.3: missing #includes

Martin Michlmayr tbm at cyrius.com
Tue Jan 22 16:13:48 UTC 2008


Package: blender
Version: 2.45-1
Usertags: ftbfs-gcc-4.3

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).  There's some more information about this at
http://gcc.gnu.org/gcc-4.3/porting_to.html

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

> Automatic build of blender_2.45-1 on em64t by sbuild/amd64 0.53
...
> scons: Building targets ...
> Compiling ==> 'SND_DummyDevice.cpp'
> In file included from intern/moto/include/MT_Matrix3x3.h:52,
>                  from intern/SoundSystem/SND_Object.h:41,
>                  from intern/SoundSystem/SND_SoundObject.h:40,
>                  from intern/SoundSystem/SND_IAudioDevice.h:35,
>                  from intern/SoundSystem/intern/SND_AudioDevice.h:35,
>                  from intern/SoundSystem/dummy/SND_DummyDevice.h:35,
>                  from intern/SoundSystem/dummy/SND_DummyDevice.cpp:42:
> intern/moto/include/MT_Quaternion.h: In member function 'void MT_Quaternion::setRotation(const MT_Vector3&, MT_Scalar)':
> intern/moto/include/MT_Quaternion.h:71: warning: deprecated conversion from string constant to 'char*'
> intern/moto/include/MT_Quaternion.h:71: warning: deprecated conversion from string constant to 'char*'
> In file included from intern/SoundSystem/SND_Object.h:41,
>                  from intern/SoundSystem/SND_SoundObject.h:40,
>                  from intern/SoundSystem/SND_IAudioDevice.h:35,
>                  from intern/SoundSystem/intern/SND_AudioDevice.h:35,
>                  from intern/SoundSystem/dummy/SND_DummyDevice.h:35,
>                  from intern/SoundSystem/dummy/SND_DummyDevice.cpp:42:
> intern/moto/include/MT_Matrix3x3.h: In member function 'void MT_Matrix3x3::setRotation(const MT_Quaternion&)':
> intern/moto/include/MT_Matrix3x3.h:114: warning: deprecated conversion from string constant to 'char*'
> intern/moto/include/MT_Matrix3x3.h:114: warning: deprecated conversion from string constant to 'char*'
> In file included from intern/SoundSystem/SND_SoundObject.h:41,
>                  from intern/SoundSystem/SND_IAudioDevice.h:35,
>                  from intern/SoundSystem/intern/SND_AudioDevice.h:35,
>                  from intern/SoundSystem/dummy/SND_DummyDevice.h:35,
>                  from intern/SoundSystem/dummy/SND_DummyDevice.cpp:42:
> intern/string/STR_String.h: In member function 'const STR_String& STR_String::operator=(const byte*)':
> intern/string/STR_String.h:148: error: 'strlen' was not declared in this scope
> intern/string/STR_String.h: In member function 'const STR_String& STR_String::operator=(const char*)':
> intern/string/STR_String.h:151: error: 'strlen' was not declared in this scope
> intern/string/STR_String.h: In member function 'const STR_String& STR_String::operator+=(const char*)':
> intern/string/STR_String.h:153: error: 'strlen' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator<(const STR_String&, const STR_String&)':
> intern/string/STR_String.h:158: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator<(const STR_String&, const char*)':
> intern/string/STR_String.h:159: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator<(const char*, const STR_String&)':
> intern/string/STR_String.h:160: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator>(const STR_String&, const STR_String&)':
> intern/string/STR_String.h:161: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator>(const STR_String&, const char*)':
> intern/string/STR_String.h:162: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator>(const char*, const STR_String&)':
> intern/string/STR_String.h:163: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator<=(const STR_String&, const STR_String&)':
> intern/string/STR_String.h:164: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator<=(const STR_String&, const char*)':
> intern/string/STR_String.h:165: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator<=(const char*, const STR_String&)':
> intern/string/STR_String.h:166: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator>=(const STR_String&, const STR_String&)':
> intern/string/STR_String.h:167: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator>=(const STR_String&, const char*)':
> intern/string/STR_String.h:168: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator>=(const char*, const STR_String&)':
> intern/string/STR_String.h:169: error: 'strcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator==(const STR_String&, const STR_String&)':
> intern/string/STR_String.h:170: error: 'memcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator==(const STR_String&, const char*)':
> intern/string/STR_String.h:171: error: 'memcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator==(const char*, const STR_String&)':
> intern/string/STR_String.h:172: error: 'memcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator!=(const STR_String&, const STR_String&)':
> intern/string/STR_String.h:173: error: 'memcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator!=(const STR_String&, const char*)':
> intern/string/STR_String.h:174: error: 'memcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'bool operator!=(const char*, const STR_String&)':
> intern/string/STR_String.h:175: error: 'memcmp' was not declared in this scope
> intern/string/STR_String.h: In function 'STR_String operator+(const STR_String&, const char*)':
> intern/string/STR_String.h:198: error: 'strlen' was not declared in this scope
> intern/string/STR_String.h: In function 'STR_String operator+(const char*, const STR_String&)':
> intern/string/STR_String.h:199: error: 'strlen' was not declared in this scope
> scons: *** [build/linux2/intern/SoundSystem/dummy/SND_DummyDevice.o] Error 1
> scons: building terminated because of errors.
> make: *** [build-stamp] Error 2

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





More information about the Pkg-blender-maintainers mailing list