[comp.unix.aix] Binding in Fortran runtime on AIX 3.1

amaranth@vela.acs.oakland.edu (Paul Amaranth) (04/01/91)

I have a fairly large Fortran application that has a C front end, along
with some misc. C interface functions.  What I want to do is to bind in
the Fortran runtime so that a user doesn't need to buy the runtime from
IBM in order to run the software (everyone gets the C runtime, but the
Fortran is a ~$500 option, last time I looked).

Well, I have RTFM, but it doesn't seem to offer lots of assistance on
this.  I tried the -b nso option, but I get a lot of undefined
references.  Clearly I'm not doing something required.

Has anyone had experience doing this?  Any info, etc appreciated.


-- 
Paul Amaranth  office: (313) 370 4541 (also voicemail) 
(internet)     amaranth@vela.acs.oakland.edu  | WANTED: Clever saying
(bitnet)       amaranth@oakland               | to fill this space. 
(uucp)         ...!uunet!umich!vela!amaranth  | Puns need not apply.

prener@watson.ibm.com (Dan Prener) (04/02/91)

If you want to bind in a private copy of shared libraries (e.g., with
-b nso) then you must explicitly mention the list of system calls that
are normally imported with the shared libraries:

       -bnso -bI:/lib/syscalls.exp

This combination should do roughly what you want, except that you have
now linked in a non-shared copy of the C library as well.  If that is
not what you want to do, then you'll have to do a two-step link, first
doing a partial link with the -bnso flag, but leaving unresolved references
to libc, and then a final link without the -bnso to pick up a shared libc.
-- 
                                   Dan Prener (prener @ watson.ibm.com)