Platform-specific compilation of abc2ps

Please note: most of these instructions are for version 1.1 or 1.2x; please let me know if the do not work with the current release.

HP workstations

    cc -Ae abc2ps.c -lm # HPUX
(courtesy of Mike Anthony and Han Speek)

HP workstations / gcc compiler

    gcc -o abc2ps abc2ps.c -lm # HPUX
(courtesy of Wil Macaulay)

Silicon Graphics
1.2x compiles fine under Irix 4.0F.

IBM AIX systems with gcc compiler
gcc -o abc2ps abc2ps.c
(courtesy of Jonathan Yuen)

IBM RS600 / IBM compiler
Standard compilation works fine
(courtesy of Jonathan Yuen)

Linux (system 1.2.13) with gcc compiler
gcc -o abc2ps abc2ps.c
(also coutesy of Jonathan Yuen).

SunOS 4.1.3
Greg Taylor compiled abc2ps with this Makefile:

INCLUDEDIR = /usr/local/lib/gcc-lib/include
LIBFLAG = -lm
CC = gcc
CFLAGS = -ansi -I $(INCLUDEDIR) -g
LDFLAGS = -g
RM = rm -f

abc2ps  : abc2ps.o 
        $(RM) $@
        $(CC) abc2ps.o $(LIBFLAG) -o $@ $(LDFLAGS)

Sun Solaris 2.5 / gcc compiler
Standard compilation works fine.
(courtesy Hans Mueller)

NextStep (3.2) or OpenStep
abc2ps_1.2.2 compiles under NextStep 3.2 with standard instructions:

cc -o abc2ps abc2ps.c
(Courtesy of Eric Mrozek)

Digital Alpha running VMS

(compiler=DECC V5.2, operating system=OpenVMS AXP V6.2)

1. the functions 'atoi','atof' and 'exit' need to be declared somewhere near
the top of the code abc2ps.c 
- add lines something like this:
        void exit(int status)
        int atoi(const char *nptr)
        double atof(const char *nptr)

2. change the 'main' function definition from 'void' to 'int'.
        int main(argc, argv)
                int argc;
                char *argv[];
        {
         char outf....etc etc as before

3. VMS isn't case sensitive, and there are three functions called
def_hd,def_Hd and def_HD which confuse things. All references to these
were changed to def_hd_1,def_hd_2 and def_hd_3 respectively.
(in the file 'syms.h')

4. the function 'stat' causes problems at link time unless the code is
compiled using the option /standard=common.
i.e. cc/standard=common abc2ps

5. In order to get the command line flags to work, I define in my login.com
file the following:
        define ABC_DIR dus4:[robin.junk.music.abc] (or similar)
        abc :== $abc_dir:abc
and so to execute the code I do for example 
        abc sample.abc -o
which generates an 'out.ps' file.

Version 1.2 is reported to work fine, as long as the following flag is used:
	cc/standard=common abc2ps

N.B. If you get abc2ps to work on any machine other than those listed above, please email me to say how it compiled, even if it was just by exactly following the instructions!


abc2ps | Ceolas Home | About Ceolas | Instruments | Feedback