[quake2] Trouble compiling quake2-r0.16 for Solaris and CORONA

Peter Sarinana Peter.Sarinana at Sun.COM
Thu Mar 31 03:47:30 EST 2005


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


vincent at cojot.name wrote:
> 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
> 
> On Wed, 30 Mar 2005, Peter Sarinana wrote:
> 
> 
>>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
>>
>>
> 
> 




More information about the quake2 mailing list