Logged In: NO
Browser: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
hey there
I'm trying to build psdoom from your
psdoom-2000.05.03-src.tar.gz and I'm getting this
error:
In file included from p_pspr.h:34,
from d_player.h:39,
from d_net.h:33,
from doomstat.h:40,
from doomstat.c:35:
m_fixed.h: In function `FixedMul':
m_fixed.h:64: operand constraint contains '+' or '=' at
illegal position.
m_fixed.h: In function `FixedDiv2':
m_fixed.h:79: operand constraint contains '+' or '=' at
illegal position.
make[1]: *** [linux-x86/doomstat.o] Error 1
make[1]: Leaving directory
`/home/timo/psdoom/psdoom-src/xdoomsrc/xdoom'
make: *** [xdoom-linux-x86] Error 2
all I did is cd to xdoomsrc and make linux-x86
I'm using gcc 2.95.2 on a Mandrake 6.0
the CPU is a P2, it's a bit weird I got the -m486
compiling directive (the
errors seems to come from fixed-point code)
I don't have much time to spend on it, so I won't look
into it much .. too
bad cause psdoom could add fun to my everyday process-
killing frenzy.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Maybe that will help since you're using the newer
compiler, not the old GNU C 2.7. If that doesn't work, you
could also try deleting the -DUSE_INLINE from the above
line. If that stuff doesn't work, well, I'm out of ideas
for now...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Actually, I just noticed that the latest version of XDoom
(20001001) has a release note about this in the file:
xdoom/xdoomsrc/doc/Release.notes
<...snip...>
GNU C 2.9 on all x86 platforms:
===============================
With GNU C releases like this:
gcc --version
2.95.2
compilation aborts with the following error:
gcc -O3 -m486 -ffast-math -fomit-frame-pointer -DUSE_INLINE
-DUSE_ASMMOD
-Wall -DNORMALUNIX -DLINUX -DBUGFIXES -DPOLL_POINTER
-DMUSSERV -c
doomstat.c -o linux-x86/doomstat.o
In file included from p_pspr.h:34,
from d_player.h:39,
from d_net.h:33,
from doomstat.h:40,
from doomstat.c:35:
m_fixed.h: In function `FixedMul':
m_fixed.h:64: operand constraint contains '+' or '=' at
illegal position.
m_fixed.h: In function `FixedDiv2':
m_fixed.h:79: operand constraint contains '+' or '=' at
illegal position.
make[1]: *** [linux-x86/doomstat.o] Error 1
In m_fixed.h there aren't any + or = in any operands, this
looks like
some compiler bug, with releases 2.7 and 2.8 of the GNU C
compiler there
is no such problem.
Use the EGCS compiler, which also doesn't have this problem,
or in
Makefile.linux-x86 remove -DUSE_INLINE from the active OPTFLAGS.
C code instead of assembler code for the fixed point
division/multiplication
routines will be compiled then. This is a bit slower, but on
nowadys
systems one won't notice, this optimization is for 386/486
CPU's.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: NO
Browser: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
hey there
I'm trying to build psdoom from your
psdoom-2000.05.03-src.tar.gz and I'm getting this
error:
In file included from p_pspr.h:34,
from d_player.h:39,
from d_net.h:33,
from doomstat.h:40,
from doomstat.c:35:
m_fixed.h: In function `FixedMul':
m_fixed.h:64: operand constraint contains '+' or '=' at
illegal position.
m_fixed.h: In function `FixedDiv2':
m_fixed.h:79: operand constraint contains '+' or '=' at
illegal position.
make[1]: *** [linux-x86/doomstat.o] Error 1
make[1]: Leaving directory
`/home/timo/psdoom/psdoom-src/xdoomsrc/xdoom'
make: *** [xdoom-linux-x86] Error 2
all I did is cd to xdoomsrc and make linux-x86
I'm using gcc 2.95.2 on a Mandrake 6.0
the CPU is a P2, it's a bit weird I got the -m486
compiling directive (the
errors seems to come from fixed-point code)
I don't have much time to spend on it, so I won't look
into it much .. too
bad cause psdoom could add fun to my everyday process-
killing frenzy.
Logged In: YES
user_id=14219
Browser: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
I looked at m_fixed.h, and the offending lines both look
like this:
"%edx", "%cc");
Perhaps it's your compiler (I use gcc 2.7). I'm guessing
that your compiler is interpreting the %cc a directive or
alias to do something.
One thing to try: modify Makefile.linux-x86 in the
xdoom/xdoomsrc/xdoom/ directory as follows:
Comment the line:
# Production, old GNU C 2.7
OPTFLAGS=-O3 -m486 -ffast-math -fomit-frame-pointer \ -DUSE_INLINE -DUSE_ASMMOD
Uncomment the line:
# Production, EGCS
#OPTFLAGS=-O3 -mpentium -ffast-math -fomit-frame-pointer \ -fexpensive-optimizations -DUSE_INLINE -DUSE_ASMMOD
Maybe that will help since you're using the newer
compiler, not the old GNU C 2.7. If that doesn't work, you
could also try deleting the -DUSE_INLINE from the above
line. If that stuff doesn't work, well, I'm out of ideas
for now...
Logged In: NO
Browser: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
I made it work with the EGCS OPTFLAGS and removing
USE_INLINE
well maybe it's less optimized, but I think my box can
handle it :-)
thanks for the tips
Logged In: YES
user_id=14219
Actually, I just noticed that the latest version of XDoom
(20001001) has a release note about this in the file:
xdoom/xdoomsrc/doc/Release.notes
<...snip...>
GNU C 2.9 on all x86 platforms:
===============================
With GNU C releases like this:
gcc --version
2.95.2
compilation aborts with the following error:
gcc -O3 -m486 -ffast-math -fomit-frame-pointer -DUSE_INLINE
-DUSE_ASMMOD
-Wall -DNORMALUNIX -DLINUX -DBUGFIXES -DPOLL_POINTER
-DMUSSERV -c
doomstat.c -o linux-x86/doomstat.o
In file included from p_pspr.h:34,
from d_player.h:39,
from d_net.h:33,
from doomstat.h:40,
from doomstat.c:35:
m_fixed.h: In function `FixedMul':
m_fixed.h:64: operand constraint contains '+' or '=' at
illegal position.
m_fixed.h: In function `FixedDiv2':
m_fixed.h:79: operand constraint contains '+' or '=' at
illegal position.
make[1]: *** [linux-x86/doomstat.o] Error 1
In m_fixed.h there aren't any + or = in any operands, this
looks like
some compiler bug, with releases 2.7 and 2.8 of the GNU C
compiler there
is no such problem.
Use the EGCS compiler, which also doesn't have this problem,
or in
Makefile.linux-x86 remove -DUSE_INLINE from the active OPTFLAGS.
C code instead of assembler code for the fixed point
division/multiplication
routines will be compiled then. This is a bit slower, but on
nowadys
systems one won't notice, this optimization is for 386/486
CPU's.
Logged In: YES
user_id=2063
hilarious
well I submitted this on:
Date: 2000-06-20 21:39
that was two years ago .. I must say I haven't bothered
about this (maybe I did for a day or two)
Logged In: YES
user_id=14219
I have made the recommended changes to Makefile.linux-x86
and have attached it to this Support Request.
Download the file and replace the existing
xdoomsrc/xdoom/Makefile.linux-x86 with this new one. The
compilation should work then.
Updated Makefile.linux-x86 file.