Frequently Asked Questions: Porting notes for AIX/RT.

This is a reworked and HTMLized version of Mark Whetzel's (MW) RT pages, as of Thu Jun 9 08:50:51 CDT 1994. The original can be found here, -MK

P.01 Are there any archive/FTP sites for AIX/RT software?

Note:
I welcome information regarding ANY sites with RT software for any OS on IBM RT processors. I am going to add a similar section to each OS specific FAQ. Please send E-mail with information and/or corrections. - MW

P.02 How to I port product <foo> to AIX V2 ?

In general, I have not found a piece of PD software that I could not make run correctly on AIX/RT, short of code that makes specific dependencies on features either missing from the AIX kernel (such as job control), or code that attempts to directly manipulate hardware or assumes a particular hardware attachments or processor type. Some programs that attempt to deal with kernel information or variables can be difficult to impossible to port. -MW

The AIX V2 system is at heart, a system V release 2 base, with BSD 4.2 and some BSD 4.3 extensions mixed in, it also has some IBM extensions and facilities by Interactive Systems, mixed in as well. The standard C compiler is mostly K&R compliant with additional compiler flags to support BSD portablity. There is *SOME* ANSI compliance in the include libraries, but it is far from complete. No ANSI prototyping is supported by the standard compiler.

The compiler shipped with AIX has its own standard setup, with flags to make the include files SYSV compliant, and BSD compliant.

SYSV way:

      
   cc  -O -o <foo>  foo.c  # and other flags.
or one of the folowing
      
   cc -DSYSV        -O -o <foo> foo.c # and other flags.
   cc -DUSG         -O -o <foo> foo.c # and other flags.
   cc -DSYSV -DUSG  -O -o <foo> foo.c # and other flags.
Note:
The supplied header files for AIX/RT do not test for the SYSV or USG define, but a lot of public code does. X11R5 has a -DUSGISH for a merged type system like AIX/RT.

BSD compatibility flags:

      
   cc -DBSD -DBSD_INCLUDES -DBSD_REMAP_SIGNAL_TO_SIGVEC -O -o <foo>  foo.c -lbsd
Note:
There is another BSD flag: -DBSD_COMPILE_ONLY This flag will cause additional defines and includes that may produce a correct compile, but most likely will NOT execute correctly, due to possibly incorrect interface defines, or use AIX/RT unsupported system functions.

In addition to compiler difficulties, there are several unique changes to AIX V2 for the IBM RT that can give problems.

The general most problem areas are:

See section S.12 for additional information and some specific flags for the standard C compiler that can assist with compiling and porting software to AIX/RT.

This list is incomplete... please feel free to send additions on porting difficulties, missing system calls, bugs, etc..

P.03 BIND 4.8.3

(domain name server, and resolv libraries)
I have it ported and running, I will add it shortly to this FAQ. - MW

P.04 GDBM

(Gnu DBM replacement)
I have it ported and running, I will add it shortly to this FAQ. - MW

P.05 IDA Sendmail 5.67b+IDA-1.5

I have it ported and running, I will add it shortly to this FAQ. - MW

P.06 ELM 2.3 PL11 or 2.4 PL20

I have it running. No porting was really necessary, just answer the config questions correctly. - MW

P.07 X11 R4 or R5.

Clients and libs are easy, mostly proper compile flags. I am working on servers for R5, but it will take me a LONG while, sorry. - MW

P.08 GCC

I have the notes posted to the net, I just need to organize them and add them to this section. - MW

P.09 inn 1.4

I have it ported and running, I will add it shortly to this FAQ. - MW

P.10 xv-2.1

(or xv-3.x)
I have it ported and running, I will add it shortly to this FAQ. - MW

P.11 Kermit

--
Submitter: Brian Watson <brian@tscc2.macarthur.uws.EDU.AU>
Date: Thu, 19 May 1994 11:29:45 +1000

I have Kermit 5A(188) which was the latest when I did it. You just unpack it and say either make sys3 for AIX 2.1 or make rtaix for AIX 2.2.1. I have 2.2.1 so I can't say how the sys3 option works.
--

P.12 Gopher 2.011

I have it ported and running, I will add it shortly to this FAQ. - MW

P.13 GNU fileutil-3.9

I have it ported and running, I will add it shortly to this FAQ. - MW
[I assume that the FTP archive server now has my updated fix that makes the df command operate properly. - MW ]

P.14 others?

Please feel free to contribute!

X.01 Acknowledgements and copyright information.

This file is provided AS IS with no warranties of any kind as to the usefullness/correctness of these procedures/questions. The author shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by this file or any part thereof. In no event will the author be liable for any lost revenue or profits or other special, indirect and consequential damages.

IBM, AIX, AT, XT, RT, RT PC and RT Personal Computer are trademarks of International Business Machines Inc.
UNIX is a registered trademark of American Telephone & Telegraph in the United States of America and other countries.
Any other trademarks not specifically mentioned are owned by their respective companies.


Last Update: 20-Oct-2013, M.Kraemer