From Debian bug report http://bugs.debian.org/286782:
When building 'gltron' on amd64 with gcc-4.0,
I get the following error:
x86_64-linux-gcc -DPACKAGE=\"gltron\"
-DVERSION=\"0.70\" -DHAVE_LIBGL=1
-DHAVE_LIBZ=1 -DHAVE_LIBPNG=1 -DHAVE_LIBSMPEG=1
-DHAVE_LIBOGG=1 -DHAVE_LIBVORBIS=1
-DHAVE_LIBVORBISFILE=1 -DHAVE_LIBSMPEG=1
-DHAVE_LIBMIKMOD=1 -DHAVE_UNISTD_H=1
-DHAVE_GL_GL_H=1 -Dconst= -DHAVE_MKSTEMP=1 -I. -I.
-DDATA_DIR=\"/usr/share/games/gltron\" -DSNAP_DIR=\"~\"
-DPREF_DIR=\"~\"
-I../../lua/include -I../../nebu/include
-I../../src/include -DSEPARATOR="'/'" -Wall
-Werror -Os -I/usr/include/SDL -D_REENTRANT -DNETWORK
-c test -f fonttex.c || echo
'./'
fonttex.c
cc1: warnings being treated as errors
fonttex.c: In function 'ftxLoadFont':
fonttex.c:54: warning: pointer targets in assignment
differ in signedness
fonttex.c:55: warning: pointer targets in passing
argument 2 of 'glGenTextures'
differ in signedness
fonttex.c: In function 'ftxUnloadFont':
fonttex.c:82: warning: pointer targets in passing
argument 2 of 'glDeleteTextures'
differ in signedness
make[3]: *** [fonttex.o] Error 1
make[3]: Leaving directory `/gltron-0.70final/src/video'
With the attached patch 'gltron' can be compiled
on amd64 using gcc-4.0.
Regards
Andreas Jochens
diff -urN
../tmp-orig/gltron-0.70final/src/video/fonttex.c
./src/video/fonttex.c
--- ../tmp-orig/gltron-0.70final/src/video/fonttex.c
2003-07-16 21:32:11.000000000
+0200
+++ ./src/video/fonttex.c 2004-12-22
08:02:04.697047904 +0100
@@ -51,8 +51,8 @@
memcpy(ftx->fontname, buf, len);
/ prepare space for texture IDs /
- ftx->texID = (GLuint) malloc(ftx->nTextures
sizeof(unsigned int));
- glGenTextures(ftx->nTextures, ftx->texID);
+ ftx->texID = (int) malloc(ftx->nTextures
sizeof(unsigned int));
+ glGenTextures(ftx->nTextures, (unsigned*) ftx->texID);
/ the individual textures /
for(i = 0; i < ftx->nTextures; i++) {
@@ -79,7 +79,7 @@
}
void ftxUnloadFont(FontTex ftx) {
- glDeleteTextures(ftx->nTextures, ftx->texID);
+ glDeleteTextures(ftx->nTextures, (unsigned)ftx->texID);
free(ftx->texID);
free(ftx->fontname);
diff -urN
../tmp-orig/gltron-0.70final/src/video/trail.c
./src/video/trail.c
--- ../tmp-orig/gltron-0.70final/src/video/trail.c
2003-12-05 13:45:39.000000000 +0100
+++ ./src/video/trail.c 2004-12-22
08:03:43.760987896 +0100
@@ -19,7 +19,7 @@
n[1] = s->vStart.v[1] - s->vDirection.v[0];
tmp[0] = eye[0] - s->vStart.v[0];
tmp[1] = eye[1] - s->vStart.v[1];
- if(n[0] == n[1] == 0) return length(tmp);
+ if(n[0] == n[1] && n[1] == 0) return length(tmp);
return abs(scalarprod2(n, tmp) / length(n));
}
Logged In: YES
user_id=41611
Actually, this is a much better fix:
--- gltron-0.70final.orig/src/include/video/fonttex.h
+++ gltron-0.70final/src/include/video/fonttex.h
@@ -10,7 +10,7 @@
int lower; / lowest ascii character (normally: 32) /
int upper; / highest ascii character (normally: 126) /
char fontname;
char bitmapname;
--- gltron-0.70final.orig/src/video/trail.c
+++ gltron-0.70final/src/video/trail.c
@@ -19,7 +19,7 @@
n[1] = s->vStart.v[1] - s->vDirection.v[0];
tmp[0] = eye[0] - s->vStart.v[0];
tmp[1] = eye[1] - s->vStart.v[1];
- if(n[0] == n[1] == 0) return length(tmp);
+ if(n[0] == 0 && n[1] == 0) return length(tmp);
return abs(scalarprod2(n, tmp) / length(n));
}