Bzflag (neko mips4)

From Nekoware

Jump to: navigation, search
neko_bzflag
Internal Version: 5
Download: neko_bzflag-2.0.4.20050930.tardist
Current release: 2.0.4.20050930 / February 3 2006
Use: Unknown
Licence: Unknown
Website:



Contents

[edit] Installing the package

Download and install the neko_bzflag-2.0.4.20050930 (version 5) tardist package from the Nekoware repository.

Installation of the precompiled binary package can be achieved using either Software Manager or inst: In the case of inst, all that's required is the command:

~ $ inst -f /path/to/neko_bzflag-2.0.4.20050930.tardist
install all
keep *.opt.src
go
quit

You will need "root" privileges to install the software.

A list of all files is installed by this package is available.

[edit] Package Dependencies

The following additional packages are required to run this software correctly:


[edit] Package Incompatibilities

The following packages are marked as incompatible.

  • No incompatibilities.

[edit] Package Layout

Default indicates whether the subsystem will be installed if "install standard" (or similar) is used. Order is used if any given subsystem must be installed before others.

Name Size [Kbytes] Default Order Description
neko_bzflag.sw.eoe 19,507 Yes 9999 execution only env
neko_bzflag.man.manpages 102 Yes 9999 man pages
neko_bzflag.opt.relnotes 3 No 9999 release notes
neko_bzflag.opt.dist 23 No 9999 distribution files
neko_bzflag.opt.src 10,988 No 9999 original source code
neko_bzflag.opt.patches 4 No 9999 source code patches


[edit] Compiling

As for the majority of Nekoware packages, the 7.4.x release of SGI's MIPSpro Compiler suite has been used to build this package.


[edit] Environment

setenv CC c99
setenv CXX CC
setenv CPPFLAGS '-I/usr/nekoware/include'
setenv CFLAGS '-O3 -OPT:Olimit=0 -mips4 -n32 -woff 1174'
setenv CXXFLAGS '-O3 -OPT:Olimit=0 -mips4 -n32 -woff 1110,1171,1201,1355,3201'
setenv LDFLAGS '-L/usr/nekoware/lib -Wl,-rpath -Wl,/usr/nekoware/lib'
setenv PERL /usr/nekoware/bin/perl
setenv SED /usr/nekoware/bin/sed


[edit] Patches

You may need to apply the following patches: bzflag-2.0.4_irix.patch


[edit] Configure

patch -p0 < neko_bzflag.patch
./configure --prefix=/usr/nekoware --without-SDL --disable-threads
gmake
bzfs_fix.scr
gmake
gmake install


[edit] Release Notes

Click on the "show" link to expand the contents of the package's 'relnotes' file.


[edit] Errors/Miscellaneous

Note that an -IPA build requires atleast 3 gig of disk space and approx 2 gig of virtual memory. I did try hard but the bzflag binary compile always causes ld to go out of memory, even the ld64 build.

Formerly i had a patch concerning trickery with CC and archive members because IRIX needs a special archive command (CC -ar -WR,-suv -o instead of just ar cru) for C++ objects. This patch is the other way around. c-ares which is part of bzflag source need the normal archive linker and not the C++ special invocation. I have made a separate neko_c-ares against which this neko_bzflag is linked, so the patch is not really necessary anyway...

Building bzfs went ballistic in the linking stage, because some schmuck decided to overload an archive with extra, unneeded objects, which craps the IRIX-linker (justifiably) but was allowed on Linux machines. Grrr. So i made a small script which removed these objects in the archive libObstacle.a

Building bzadmin will bomb on a curses.h header file. This is actually a bug in IRIX, /usr/include/curses.h to be exact. Patching:

--- curses.h.save Sun Jul 11 23:31:22 2004 +++ curses.h Sun Jul 11 23:31:45 2004 @@ -608,7 +608,7 @@

               scroll(WINDOW *), scrollok(WINDOW *, bool),
               setscrreg(int, int), setterm(char *),
               slk_init(int), standend(void), standout(void),

- syncok(WINDOW *, int bool), + syncok(WINDOW *, bool),

               touchline(WINDOW *, int, int), touchwin(WINDOW *),
               untouchwin(WINDOW *), vline(chtype, int),
               waddchstr(WINDOW *, chtype *), waddstr(WINDOW *, char *),

...should fix this. And i'm not convinced about the bzflag team fix of changing 'int bool' into 'int b' because in Linux the second argument is indeed a bool and this header is basically a prototype, so why persist on an integer?

S/N VER PORTER


1 1.10.6 Frank Everdij (dexter1) 2 1.10.8 Frank Everdij (dexter1) (never released) 3 2.0.0 Frank Everdij (dexter1) 4 2.0.2 Frank Everdij (dexter1) (limited beta release for RE) 5 2.0.4 Frank Everdij (dexter1)


[edit] Older Versions


[edit] External Links

None.

Personal tools