Bug 130482 - games-fps/lsdldoom-1.4.4.4 fails to compile with gcc-4.1.0
Bug#: 130482 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: games@gentoo.org Reported By: david.morgan@gmail.com
Component: Applications
URL: 
Summary: games-fps/lsdldoom-1.4.4.4 fails to compile with gcc-4.1.0
Keywords:  
Status Whiteboard: 
Opened: 2006-04-19 07:54 0000
Description:   Opened: 2006-04-19 07:54 0000
gcc -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/include/SDL -D_REENTRANT 
-DHAVE_NET -DHAVE_BSD_NET -O2 -march=pentium3 -pipe  -c hu_lib.c
In file included from doomstat.h:43,
                 from hu_lib.c:37:
doomdata.h:69: warning: 

------- Comment #1 From David Morgan 2006-04-19 07:54:44 0000 -------
gcc -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/include/SDL -D_REENTRANT 
-DHAVE_NET -DHAVE_BSD_NET -O2 -march=pentium3 -pipe  -c hu_lib.c
In file included from doomstat.h:43,
                 from hu_lib.c:37:
doomdata.h:69: warning: ‘packed’ attribute ignored
doomdata.h:80: warning: ‘packed’ attribute ignored
doomdata.h:91: warning: ‘packed’ attribute ignored
doomdata.h:146: warning: ‘packed’ attribute ignored
doomdata.h:152: warning: ‘packed’ attribute ignored
doomdata.h:163: warning: ‘packed’ attribute ignored
doomdata.h:179: warning: ‘packed’ attribute ignored
doomdata.h:189: warning: ‘packed’ attribute ignored
In file included from hu_lib.c:38:
v_video.h:151: warning: function definition has qualified void return type
In file included from doomstat.h:43,
                 from r_segs.c:38:
doomdata.h:69: warning: ‘packed’ attribute ignored
doomdata.h:80: warning: ‘packed’ attribute ignored
doomdata.h:91: warning: ‘packed’ attribute ignored
doomdata.h:146: warning: ‘packed’ attribute ignored
doomdata.h:152: warning: ‘packed’ attribute ignored
doomdata.h:163: warning: ‘packed’ attribute ignored
doomdata.h:179: warning: ‘packed’ attribute ignored
doomdata.h:189: warning: ‘packed’ attribute ignored
r_segs.c:50: error: static declaration of ‘segtextured’ follows non-static
declaration
r_bsp.h:46: error: previous declaration of ‘segtextured’ was here
r_segs.c:51: error: static declaration of ‘markfloor’ follows non-static
declaration
r_bsp.h:47: error: previous declaration of ‘markfloor’ was here
r_segs.c:52: error: static declaration of ‘markceiling’ follows non-static
declaration
r_bsp.h:48: error: previous declaration of ‘markceiling’ was here
r_segs.c:68: error: static declaration of ‘rw_x’ follows non-static
declaration
r_bsp.h:44: error: previous declaration of ‘rw_x’ was here
r_segs.c:69: error: static declaration of ‘rw_stopx’ follows non-static
declaration
r_bsp.h:45: error: previous declaration of ‘rw_stopx’ was here
make[2]: *** [r_segs.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory
`/var/tmp/portage/lsdldoom-1.4.4.4/work/lsdldoom-1.4.4.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/lsdldoom-1.4.4.4/work/lsdldoom-1.4.4.4'
make: *** [all-recursive-am] Error 2

!!! ERROR: games-fps/lsdldoom-1.4.4.4 failed.
Call stack:
  ebuild.sh, line 1532:   Called dyn_compile
  ebuild.sh, line 929:   Called src_compile
  lsdldoom-1.4.4.4.ebuild, line 39:   Called die

!!! (no error message)
!!! If you need support, post the topmost build error, and the call stack if
relevant.

It seems to be the same as bug https://bugs.gentoo.org/show_bug.cgi?id=128943
for prboom.

I haven't been able to locate the patch(es) that fixed the problem, but I do
have a diff between the release of prboom with the gcc-4 fixes and the previous
version, so I'll see if I can figure out how to fix it.

------- Comment #2 From David Morgan 2006-04-22 13:00:32 0000 -------
Created an attachment (id=85207) [details]
1.4.4.4-gcc41.patch

As I said on irc, I'm not sure if the asm stuff is right (drawcol.S and
drawspan.S), the other stuff should be ok (they're almost entirely taken from
prboom's gcc-4.1 fixes, so if you commit this you should probably thank Colin
Phipps).

(btw, the gcc-3.4 fixes are still needed, so if you want to test this manually,
you'll either need to apply the patch in portage for that too, or use
http://users.ox.ac.uk/~wadh2045/1.4.4.4-gcc41.patch, which was the patch I had
before I saw that some problems had already been fixed).

------- Comment #3 From Tupone Alfredo 2006-05-05 17:32:29 0000 -------
lsdldoom has been fixed in portage.
Only the offending file has been patched.
Thanks for report and patch