Discussion:
Trouble compiling quake2-r0.16 for Solaris and CORONA
Peter Sarinana
2005-03-31 05:37:07 UTC
Permalink
Hi

First off, I have successfully compiled the quake2-r0.16 source for
Solaris on my SB2500 with BUILD_CORONA=NO. I added the package and
played the game just fine.

I have access to the Sunray (corona) SDK and wanted to compile the
source to work with sunrays. I set the Makefile.Solaris variables
properly and run into problems at rw_corona.c. Any ideas on how I can
get through this?

Any help is appreciated

Thanks

-peter

gcc -Wall -pipe -Dstricmp=strcasecmp -DC_ONLY -DRETEX -DSOLARIS
-DSUNXIL_WARNING_DISABLE -g -DSOLARIS_VERSION='"3.21+r0.16.0 Debug"' -o
debugsparc/ref_soft/rw_corona.o -c src/solaris/rw_corona.c
-I/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
In file included from src/solaris/rw_corona.c:27:
src/solaris/newt.h:10: warning: ignoring #pragma ident
src/solaris/rw_corona.c:29:18: q2.xbm: No such file or directory
src/solaris/rw_corona.c: In function `RW_IN_Init':
src/solaris/rw_corona.c:136: warning: unused variable `mtype'
src/solaris/rw_corona.c:137: warning: unused variable `i'
src/solaris/rw_corona.c: In function `SWimp_InitGraphics':
src/solaris/rw_corona.c:736: error: `q2_bits' undeclared (first use in
this function)
src/solaris/rw_corona.c:736: error: (Each undeclared identifier is
reported only once
src/solaris/rw_corona.c:736: error: for each function it appears in.)
src/solaris/rw_corona.c:736: error: `q2_width' undeclared (first use in
this function)
src/solaris/rw_corona.c:736: error: `q2_height' undeclared (first use in
this function)
src/solaris/rw_corona.c:675: warning: unused variable `pnum'
src/solaris/rw_corona.c:675: warning: unused variable `i'
src/solaris/rw_corona.c: In function `SWimp_SetPalette':
src/solaris/rw_corona.c:815: warning: implicit declaration of function
`newt_set_palette'
src/solaris/rw_corona.c: At top level:
src/solaris/rw_corona.c:56: warning: `config_notify' defined but not used
src/solaris/rw_corona.c:59: warning: `is_double_buffered' defined but
not used
src/solaris/rw_corona.c:107: warning: `ymap' defined but not used
src/solaris/rw_corona.c:108: warning: `umap' defined but not used
src/solaris/rw_corona.c:109: warning: `vmap' defined but not used
src/solaris/rw_corona.c:301: warning: `create_xil_window' defined but
not used
make[1]: *** [debugsparc/ref_soft/rw_corona.o] Error 1
make[1]: Leaving directory `/var/tmp/quake2'
make: *** [build_debug] Error 2



Makefile.Solaris
-----------------
# start of configurable options

# Here are your build options:
# (Note: not all options are available for all platforms).
# quake2 (uses OSS for sound, cdrom ioctls for cd audio) is
automatically built.
# game$(ARCH).so is automatically built.
BUILD_SDLQUAKE2=YES # sdlquake2 executable (uses SDL for cdrom and sound)
BUILD_SVGA=NO # SVGAlib driver. Seems to work fine.
BUILD_X11=YES # X11 software driver. Works somewhat ok.
BUILD_GLX=YES # X11 GLX driver. Works somewhat ok.
BUILD_FXGL=NO # FXMesa driver. Not tested. (used only for V1 and V2).
BUILD_SDL=YES # SDL software driver. Works fine for some people.
BUILD_SDLGL=YES # SDL OpenGL driver. Works fine for some people.
BUILD_CORONA=YES # SunRay Terminal driver. Tested by SUN, untested by
others..
BUILD_XIL=YES # Sun Solaris XIL (X11 Imaging Library, provides DGA
accelration).
BUILD_CTFDLL=YES # game$(ARCH).so for ctf
BUILD_XATRIX=NO # game$(ARCH).so for xatrix (see README.r for details)
BUILD_ROGUE=NO # game$(ARCH).so for rogue (see README.r for details)
BUILD_DEDICATED=YES # build a dedicated quake2 server
BUILD_SOLARIS_PKG=YES # Build a Solaris package of all of the binaries
for use with pkgadd.
BUILD_DATA_PKG=YES # Build a Solaris package of the game (shareware or
final)
# data files for use with pkgadd.
BUILD_QMAX=NO # build the fancier GL graphics
BUILD_RETEXTURE=YES # build a version supporting retextured graphics
STATICSDL=NO

<snip>

# For the SunRay Terminal..
OPENWINHOME=/usr/openwin
CORONA_BASE_DIR=/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
coyote
2005-03-31 07:08:31 UTC
Permalink
Hi Peter,

Just saw your message (I'm in a different time zone).

The problem is caused by q2.xbm not being found. I admit I haven't maintained
the corona port since I didn't have the SDK.

The workaround should be pretty simple:

Replace q2.xbm with q2icon.xbm in rw_corona.c.

Also replace
q2_bits with q2icon_bits
q2_width with q2icon_width
q2_height with q2icon_height

I'll commit changes to the CVS tree to fix this.

Please tell me if it works. I have -never- been able to test the corona code
since I didn't have SunRay and/or the SDK. The code was contributed to me by
the SUN Quake2 team but I could never test it.

I hope this helps,

Regards,

Vincent
Post by Peter Sarinana
Hi
First off, I have successfully compiled the quake2-r0.16 source for
Solaris on my SB2500 with BUILD_CORONA=NO. I added the package and
played the game just fine.
I have access to the Sunray (corona) SDK and wanted to compile the
source to work with sunrays. I set the Makefile.Solaris variables
properly and run into problems at rw_corona.c. Any ideas on how I can
get through this?
Any help is appreciated
Thanks
-peter
gcc -Wall -pipe -Dstricmp=strcasecmp -DC_ONLY -DRETEX -DSOLARIS
-DSUNXIL_WARNING_DISABLE -g -DSOLARIS_VERSION='"3.21+r0.16.0 Debug"' -o
debugsparc/ref_soft/rw_corona.o -c src/solaris/rw_corona.c
-I/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
src/solaris/newt.h:10: warning: ignoring #pragma ident
src/solaris/rw_corona.c:29:18: q2.xbm: No such file or directory
src/solaris/rw_corona.c:136: warning: unused variable `mtype'
src/solaris/rw_corona.c:137: warning: unused variable `i'
src/solaris/rw_corona.c:736: error: `q2_bits' undeclared (first use in
this function)
src/solaris/rw_corona.c:736: error: (Each undeclared identifier is
reported only once
src/solaris/rw_corona.c:736: error: for each function it appears in.)
src/solaris/rw_corona.c:736: error: `q2_width' undeclared (first use in
this function)
src/solaris/rw_corona.c:736: error: `q2_height' undeclared (first use in
this function)
src/solaris/rw_corona.c:675: warning: unused variable `pnum'
src/solaris/rw_corona.c:675: warning: unused variable `i'
src/solaris/rw_corona.c:815: warning: implicit declaration of function
`newt_set_palette'
src/solaris/rw_corona.c:56: warning: `config_notify' defined but not used
src/solaris/rw_corona.c:59: warning: `is_double_buffered' defined but
not used
src/solaris/rw_corona.c:107: warning: `ymap' defined but not used
src/solaris/rw_corona.c:108: warning: `umap' defined but not used
src/solaris/rw_corona.c:109: warning: `vmap' defined but not used
src/solaris/rw_corona.c:301: warning: `create_xil_window' defined but
not used
make[1]: *** [debugsparc/ref_soft/rw_corona.o] Error 1
make[1]: Leaving directory `/var/tmp/quake2'
make: *** [build_debug] Error 2
Makefile.Solaris
-----------------
# start of configurable options
# (Note: not all options are available for all platforms).
# quake2 (uses OSS for sound, cdrom ioctls for cd audio) is
automatically built.
# game$(ARCH).so is automatically built.
BUILD_SDLQUAKE2=YES # sdlquake2 executable (uses SDL for cdrom and sound)
BUILD_SVGA=NO # SVGAlib driver. Seems to work fine.
BUILD_X11=YES # X11 software driver. Works somewhat ok.
BUILD_GLX=YES # X11 GLX driver. Works somewhat ok.
BUILD_FXGL=NO # FXMesa driver. Not tested. (used only for V1 and V2).
BUILD_SDL=YES # SDL software driver. Works fine for some people.
BUILD_SDLGL=YES # SDL OpenGL driver. Works fine for some
people.
BUILD_CORONA=YES # SunRay Terminal driver. Tested by SUN, untested by
others..
BUILD_XIL=YES # Sun Solaris XIL (X11 Imaging Library, provides DGA
accelration).
BUILD_CTFDLL=YES # game$(ARCH).so for ctf
BUILD_XATRIX=NO # game$(ARCH).so for xatrix (see README.r for
details)
BUILD_ROGUE=NO # game$(ARCH).so for rogue (see README.r for
details)
BUILD_DEDICATED=YES # build a dedicated quake2 server
BUILD_SOLARIS_PKG=YES # Build a Solaris package of all of the binaries
for use with pkgadd.
BUILD_DATA_PKG=YES # Build a Solaris package of the game (shareware or
final)
# data files for use with pkgadd.
BUILD_QMAX=NO # build the fancier GL graphics
BUILD_RETEXTURE=YES # build a version supporting retextured graphics
STATICSDL=NO
<snip>
# For the SunRay Terminal..
OPENWINHOME=/usr/openwin
CORONA_BASE_DIR=/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
--
,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,
Vincent S. Cojot, Computer Engineering. STEP project. _.,-*~'`^`'~*-,._.,-*~
Ecole Polytechnique de Montreal, Comite Micro-Informatique. _.,-*~'`^`'~*-,.
Linux Xview/OpenLook resources page _.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'
http://step.polymtl.ca/~coyote _.,-*~'`^`'~*-,._ coyote at NOSPAM4cojot.name

They cannot scare me with their empty spaces
Between stars - on stars where no human race is
I have it in me so much nearer home
To scare myself with my own desert places. - Robert Frost
Peter Sarinana
2005-03-31 08:47:30 UTC
Permalink
Hi Vincent.

Thanks for the input on the rw_corona.c fixes. I made the changes you
suggested and the make went a bit farther then before. Still running
into a snag however.

Thanks again for your assitance

-peter

from make -f Makefile.Solaris

<snip>

gcc -Wall -pipe -Dstricmp=strcasecmp -DC_ONLY -DRETEX -DSOLARIS
-DSUNXIL_WARNING_DISABLE -g -DSOLARIS_VERSION='"3.21+r0.16.0 Debug"' -o
debugsparc/ref_soft/rw_corona.o -c src/solaris/rw_corona.c
-I/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
In file included from src/solaris/rw_corona.c:27:
src/solaris/newt.h:10: warning: ignoring #pragma ident
src/solaris/rw_corona.c: In function `RW_IN_Init':
src/solaris/rw_corona.c:136: warning: unused variable `mtype'
src/solaris/rw_corona.c:137: warning: unused variable `i'
src/solaris/rw_corona.c: In function `SWimp_InitGraphics':
src/solaris/rw_corona.c:675: warning: unused variable `pnum'
src/solaris/rw_corona.c:675: warning: unused variable `i'
src/solaris/rw_corona.c: In function `SWimp_SetPalette':
src/solaris/rw_corona.c:815: warning: implicit declaration of function
`newt_set_palette'
src/solaris/rw_corona.c: At top level:
src/solaris/rw_corona.c:56: warning: `config_notify' defined but not used
src/solaris/rw_corona.c:59: warning: `is_double_buffered' defined but
not used
src/solaris/rw_corona.c:107: warning: `ymap' defined but not used
src/solaris/rw_corona.c:108: warning: `umap' defined but not used
src/solaris/rw_corona.c:109: warning: `vmap' defined but not used
src/solaris/rw_corona.c:301: warning: `create_xil_window' defined but
not used
gcc -Wall -pipe -Dstricmp=strcasecmp -DC_ONLY -DRETEX -DSOLARIS
-DSUNXIL_WARNING_DISABLE -g -DSOLARIS_VERSION='"3.21+r0.16.0 Debug"' -o
debugsparc/ref_soft/newt.o -c src/solaris/newt.c
-I/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
src/solaris/newt.c:11: warning: ignoring #pragma ident
In file included from src/solaris/newt.c:18:
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/newtvideo.h:226:8:
warning: extra tokens at end of #endif directive
In file included from src/solaris/newt.c:24:
src/solaris/newt.h:10: warning: ignoring #pragma ident
src/solaris/newt.c: In function `send_newt_video':
src/solaris/newt.c:200: warning: unused variable `uvx'
src/solaris/newt.c:200: warning: unused variable `uvy'
src/solaris/newt.c: In function `setup_video':
src/solaris/newt.c:271: warning: implicit declaration of function
`Sys_Error'
src/solaris/newt.c: In function `nvSessionCheck':
src/solaris/newt.c:299: warning: unused variable `i'
gcc -Wall -pipe -Dstricmp=strcasecmp -DC_ONLY -DRETEX -DSOLARIS
-DSUNXIL_WARNING_DISABLE -g -DSOLARIS_VERSION='"3.21+r0.16.0 Debug"' -o
debugsparc/ref_soft/ndga.o -c src/solaris/ndga.c
-I/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
src/solaris/ndga.c: In function `get_win_info':
src/solaris/ndga.c:122: warning: unused variable `parent'
src/solaris/ndga.c: In function `rdump':
src/solaris/ndga.c:172: warning: unused variable `s'
src/solaris/ndga.c: In function `ndga_start':
src/solaris/ndga.c:312: warning: unused variable `loc'
src/solaris/ndga.c: At top level:
src/solaris/ndga.c:171: warning: `rdump' defined but not used
gcc -Wall -pipe -Dstricmp=strcasecmp -DC_ONLY -DRETEX -DSOLARIS
-DSUNXIL_WARNING_DISABLE -g -DSOLARIS_VERSION='"3.21+r0.16.0 Debug"'
-shared -o debugsparc/ref_corona.so debugsparc/ref_soft/r_aclip.o
debugsparc/ref_soft/r_alias.o debugsparc/ref_soft/r_bsp.o
debugsparc/ref_soft/r_draw.o debugsparc/ref_soft/r_edge.o
debugsparc/ref_soft/r_image.o debugsparc/ref_soft/r_light.o
debugsparc/ref_soft/r_main.o debugsparc/ref_soft/r_misc.o
debugsparc/ref_soft/r_model.o debugsparc/ref_soft/r_part.o
debugsparc/ref_soft/r_poly.o debugsparc/ref_soft/r_polyse.o
debugsparc/ref_soft/r_rast.o debugsparc/ref_soft/r_scan.o
debugsparc/ref_soft/r_sprite.o debugsparc/ref_soft/r_surf.o
debugsparc/ref_soft/q_shared.o debugsparc/ref_soft/q_shsolaris.o
debugsparc/ref_soft/glob.o \
debugsparc/ref_soft/rw_corona.o debugsparc/ref_soft/newt.o
debugsparc/ref_soft/ndga.o
-L/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
-lnewtvideo
ld: fatal: symbol `ndga_isvisible' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: symbol `ndga_process_event' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: symbol `ndga_done' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: symbol `ndga_clip' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: symbol `ndga_start' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: symbol `ndga_new' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: symbol `ndga_destroy' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: symbol `ndga_get_eventmask' is multiply-defined:
(file debugsparc/ref_soft/ndga.o type=FUNC; file
/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib/libnewtvideo.a(ndga.o)
type=FUNC);
ld: fatal: File processing errors. No output written to
debugsparc/ref_corona.so
collect2: ld returned 1 exit status
make[1]: *** [debugsparc/ref_corona.so] Error 1
make[1]: Leaving directory `/var/tmp/quake2'
make: *** [build_debug] Error 2
Post by coyote
Hi Peter,
Just saw your message (I'm in a different time zone).
The problem is caused by q2.xbm not being found. I admit I haven't
maintained the corona port since I didn't have the SDK.
Replace q2.xbm with q2icon.xbm in rw_corona.c.
Also replace
q2_bits with q2icon_bits
q2_width with q2icon_width
q2_height with q2icon_height
I'll commit changes to the CVS tree to fix this.
Please tell me if it works. I have -never- been able to test the corona
code since I didn't have SunRay and/or the SDK. The code was contributed
to me by the SUN Quake2 team but I could never test it.
I hope this helps,
Regards,
Vincent
Post by Peter Sarinana
Hi
First off, I have successfully compiled the quake2-r0.16 source for
Solaris on my SB2500 with BUILD_CORONA=NO. I added the package and
played the game just fine.
I have access to the Sunray (corona) SDK and wanted to compile the
source to work with sunrays. I set the Makefile.Solaris variables
properly and run into problems at rw_corona.c. Any ideas on how I can
get through this?
Any help is appreciated
Thanks
-peter
gcc -Wall -pipe -Dstricmp=strcasecmp -DC_ONLY -DRETEX -DSOLARIS
-DSUNXIL_WARNING_DISABLE -g -DSOLARIS_VERSION='"3.21+r0.16.0 Debug"' -o
debugsparc/ref_soft/rw_corona.o -c src/solaris/rw_corona.c
-I/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
src/solaris/newt.h:10: warning: ignoring #pragma ident
src/solaris/rw_corona.c:29:18: q2.xbm: No such file or directory
src/solaris/rw_corona.c:136: warning: unused variable `mtype'
src/solaris/rw_corona.c:137: warning: unused variable `i'
src/solaris/rw_corona.c:736: error: `q2_bits' undeclared (first use in
this function)
src/solaris/rw_corona.c:736: error: (Each undeclared identifier is
reported only once
src/solaris/rw_corona.c:736: error: for each function it appears in.)
src/solaris/rw_corona.c:736: error: `q2_width' undeclared (first use in
this function)
src/solaris/rw_corona.c:736: error: `q2_height' undeclared (first use in
this function)
src/solaris/rw_corona.c:675: warning: unused variable `pnum'
src/solaris/rw_corona.c:675: warning: unused variable `i'
src/solaris/rw_corona.c:815: warning: implicit declaration of function
`newt_set_palette'
src/solaris/rw_corona.c:56: warning: `config_notify' defined but not used
src/solaris/rw_corona.c:59: warning: `is_double_buffered' defined but
not used
src/solaris/rw_corona.c:107: warning: `ymap' defined but not used
src/solaris/rw_corona.c:108: warning: `umap' defined but not used
src/solaris/rw_corona.c:109: warning: `vmap' defined but not used
src/solaris/rw_corona.c:301: warning: `create_xil_window' defined but
not used
make[1]: *** [debugsparc/ref_soft/rw_corona.o] Error 1
make[1]: Leaving directory `/var/tmp/quake2'
make: *** [build_debug] Error 2
Makefile.Solaris
-----------------
# start of configurable options
# (Note: not all options are available for all platforms).
# quake2 (uses OSS for sound, cdrom ioctls for cd audio) is
automatically built.
# game$(ARCH).so is automatically built.
BUILD_SDLQUAKE2=YES # sdlquake2 executable (uses SDL for cdrom and sound)
BUILD_SVGA=NO # SVGAlib driver. Seems to work fine.
BUILD_X11=YES # X11 software driver. Works somewhat ok.
BUILD_GLX=YES # X11 GLX driver. Works somewhat ok.
BUILD_FXGL=NO # FXMesa driver. Not tested. (used only for V1 and V2).
BUILD_SDL=YES # SDL software driver. Works fine for some people.
BUILD_SDLGL=YES # SDL OpenGL driver. Works fine for some people.
BUILD_CORONA=YES # SunRay Terminal driver. Tested by SUN, untested by
others..
BUILD_XIL=YES # Sun Solaris XIL (X11 Imaging Library, provides DGA
accelration).
BUILD_CTFDLL=YES # game$(ARCH).so for ctf
BUILD_XATRIX=NO # game$(ARCH).so for xatrix (see README.r for details)
BUILD_ROGUE=NO # game$(ARCH).so for rogue (see README.r for details)
BUILD_DEDICATED=YES # build a dedicated quake2 server
BUILD_SOLARIS_PKG=YES # Build a Solaris package of all of the binaries
for use with pkgadd.
BUILD_DATA_PKG=YES # Build a Solaris package of the game (shareware or
final)
# data files for use with pkgadd.
BUILD_QMAX=NO # build the fancier GL graphics
BUILD_RETEXTURE=YES # build a version supporting retextured graphics
STATICSDL=NO
<snip>
# For the SunRay Terminal..
OPENWINHOME=/usr/openwin
CORONA_BASE_DIR=/net/sunray.eng/export/vol3/vivekk/corona/1.3++/src/newt/videolib
coyote
2005-03-31 09:11:49 UTC
Permalink
Post by Peter Sarinana
Hi Vincent.
Thanks for the input on the rw_corona.c fixes. I made the changes you
suggested and the make went a bit farther then before. Still running
into a snag however.
Thanks again for your assitance
-peter
Peter,

Thanks for the details. That's interesting to say the least.. Try to remove
ndga.o from Makefile.Solaris as in:

[...before...]
REF_SOFT_CORONA_OBJS = \
$(BUILDDIR)/ref_soft/rw_corona.o \
$(BUILDDIR)/ref_soft/newt.o \
$(BUILDDIR)/ref_soft/ndga.o

[...after...]
REF_SOFT_CORONA_OBJS = \
$(BUILDDIR)/ref_soft/rw_corona.o \
$(BUILDDIR)/ref_soft/newt.o

Again, I have no idea if that will work..

Vincent

Loading...