{Compiling Abuse}
{Compiling Abuse}
{Abuse 2.0 for Linux}

Main Page

Linux
News Links
Web
PHP
Game Links
Search
 Google

Food
 Epicurious
 S.O.A.R.

Music
 BMG
 Play

TV/Movies

PDX
Real Estate
Funny
Health
Travel
Stores
Lighting
PIC
Misc.

About This Site

  

 

 

{Relevant Links}


 

{Intoduction}


After playing around with the Abuse 2.0 source code and searching some sites, I figured out how to compile and run it under Linux. There are two ways to get this to work: an easy way and a hard(er) way. I will cover the easy way first but first I need to point out a few things.

  • To keep the program from seg-faulting, you need to get the 2.0 data files (See This) which the source does not include. You will have to get the files from the DOS 2.0 install (by installing it).
  • To keep the mouse in the SVGA version from being "jumpy", be sure to set the mouse acceleration to "off", e.g. add/uncomment the line in /etc/vga/libvga.conf that reads mouse_accel_type off # No comment....
  • You will want at least these files from the abuse directory installed in the top level directory with your 2.0 data files:
    1. abuse.console -- For SVGA Playing.
    2. keydrv -- Needed for SVGA Playing.
    3. abuse.x11R6 -- For playing in X, [Note:] Must be 8bpp.
    4. lnx_sdrv -- For sound.

 

{The Easy Way}


Note: I have not tried compiling this source for some time. However I have done the "Hard Way" on a RH6.1 system.

  1. Download the "fixed" 2.0 source from ftp://ftp.freesoftware.com/pub/gnu/abuse/ and unpackit.
  2. cd into the just-created source directory.
  3. Edit the file imlib/port/unix/timing.c and add the code:
    #ifndef DST_USA
    #define DST_USA 1
    #endif
    
    after the #include lines. [Note:] Change the "1" to a "0" if you do not recognize daylight savings time.
  4. Run ./configure
  5. Run make.
  6. You will now have some executables under the abuse directory.

 

{The Hard Way}


  1. Download the "original" zipped source abusesrc.zip.
  2. Make a sub-directory abuse. This is not 100% needed but since the configure script generates a file above the top-level abuse source directory, this keeps it clean.
  3. cd into that directory and unzip the abusesrc.zip file.
  4. cd AbuseSrc
  5. To remove the dos carrage-return, run:
    find . -type f -exec perl -pi -e " BEGIN{ print \"\$ARGV[0]\\n\"; } s/\r//g;" {} \;
  6. To make the right programs executable, run
    find . -name "conf*" ! \( -name "*.in" -o -name "*.hpp" -o -name "*.c" \) -exec chmod a+x {} \;
  7. Edit the file imlib/port/unix/timing.c and add the code:
    #ifndef DST_USA
    #define DST_USA 1
    #endif
    
    after the #include lines. [Note:] Change the "1" to a "0" if you do not recognize daylight savings time. Or this may mean "distribution for USA". Really I have no idea. I set it to 1.
  8. If you have a glibc > 2.?.? (Redhat 6.1 and 6.2 are known to have issues) you will probably get an error when compiling like this:
    c++ ...bla bla bla... -c glread.c
    In file included from /usr/include/stdlib.h:339,
                     from include/image.hpp:3,
                     from glread.c:2:
    /usr/include/sys/types.h:128: abstract declarator used as declaration
    /usr/include/sys/types.h:129: abstract declarator used as declaration
    make[1]: *** [glread.o] Error 1
    make[1]: Leaving directory `/path/to/src/AbuseSrc/imlib'
    make: *** [all-recursive] Error 1 
    
    This is caused by code in imlib/include/macs.hpp that uses #define for defining ushort and ulong while /usr/include/sys/types.h uses typedef. The solution to this is to edit macs.hpp and change the two needed lines. The end of the file should look like this:
    #define uchar  unsigned char
    #define schar  signed char
    //#define ushort unsigned short
    typedef unsigned short int ushort;
    #define sshort signed short
    //#define ulong  unsigned long
    typedef unsigned long int ulong;
    
    #endif
    
    I have just commented out the old lines for clarification. You can remove them if you want.
  9. Then you can run ./configure
  10. Run make. It will run for a while and then stop with an error about not having a rule to make 'libsvgawin.a' or
  11. cd into the imlib directory and then run make libsvgawin.a.
  12. cd back up one level and run make again.
  13. You will now have some executables under the abuse directory.


This page has only been accessed 21 times today by 1 host.
  And 149 times in the past seven days by 1 host during those seven days.

All links and statements are provided on an "As-Is" basis and you use this site, the links, and the information presented at your own risk. Remeber to always take the time to form your own opinion.

Bill Adams
The Email Address Above Works, I just change it every once in a while to cut down on spam.
Last Modified: Wednesday 31st 1970f December 1969 04:00:00 PM PST