Package: crystalspace
Version: 0.99-20060125-1
Severity: serious
Justification: no longer builds from source
crystalspace fails to build on alpha:
[...]
g++ -c -o ./out/linuxaxp/optimize/apps/tools/lighter2/scene.o -I.
-I./include -I./include -Wall -Wno-unknown-pragmas -pipe -I/usr/local/include
-fno-exceptions -fvisibility-inlines-hidden -fvisibility=hidden
-Wno-non-virtual-dtor -O3 -fomit-frame-pointer -ffast-math
apps/tools/lighter2/scene.cpp
In file included from ./include/csutil.h:42,
from ./include/crystalspace.h:33,
from apps/tools/lighter2/scene.cpp:19:
./include/csutil/csendian.h:160:4: error: #error Do not know how to convert to
IEEE floats
and lots of more errors like this (there seems to be a bug in the
build system in that it doesn't stop when encountering a compilation
failure).
The problem is:
/**
* Convert IEEE 32-bit floats from or to native machine floats.
*/
struct csIEEEfloat
{
#ifdef CS_IEEE_DOUBLE_FORMAT
/// Convert native to IEEE
static CS_FORCEINLINE uint32 FromNative (float f)
{ return *(uint32*)&f; }
/// Convert IEEE to native
static CS_FORCEINLINE float ToNative (uint32 f)
{ return *(float*)&f; }
#else
#error Do not know how to convert to IEEE floats
#endif
};
Alpha does have IEEE format floats, so CS_IEEE_DOUBLE_FORMAT should
probably be defined.
While we're at it, FromNative and ToNative violate C++'s aliasing
rules and will yield incorrect results in certain settings. You should
use memcpy or a union.
Falk
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: alpha
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-rc4-dirty
Locale: LANG=C, [EMAIL PROTECTED] (charmap=ISO-8859-15)
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]