[comp.sys.amiga] ARP/Manx linking help

ba@m2-net.UUCP (Bill Allen) (07/19/88)

Has anyone been successful in using The ARP function calls
from within their own 'c' source code?  Working with Aztec
v3.6a and the following code:

#include <stdio.h>
#include <libraries/arpbase.h>
#include <arpfunctions.h>

struct ArpBase *ArpBase;
struct Library *OpenLibrary(), *IntuitionBase, *GfxBase;
/*******************************************/
main()
{
   ArpBase=(struct ArpBase *)OpenLibrary(ArpName, ArpVersion);
   Printf("It works. \n");    /* ARP function */
   CloseLibrary(ArpBase);
}
/************** End of main ****************/

This gets successfully compiled and assembled 
with "cc filename.c" generating filename.o.
When attemping to link with the libraries c.lib and a.lib:
"ln filename.o -lc -la"
An "<a.lib> IS NOT A OBJECT FILE" message is generated.
Same is given when attemping "ln filename.o -l -larp"

While I can't confirm what version of the .lib files I
received, the ARP.library file is v34.1 and dated 26-Feb-88.

The lib sizes are:
lib:a.lib      7864
lib:arp.lib   10508

What is known of the existence of an include file named
"libraries/ARPbind.h"?  It was NOT including on my v1.1 ARP
disk I received directly from MicroSmiths.
Why can't I link?   Help.

kim@amdahl.uts.amdahl.com (Kim DeVaughn) (07/22/88)

In article <1980@m2-net.UUCP>, ba@m2-net.UUCP (Bill Allen) writes:
> 
> Has anyone been successful in using The ARP function calls
> from within their own 'c' source code?  Working with Aztec
> v3.6a and the following code:
> 
> [ ... ]
> 
> This gets successfully compiled and assembled 
> with "cc filename.c" generating filename.o.
> When attemping to link with the libraries c.lib and a.lib:
> "ln filename.o -lc -la"
> An "<a.lib> IS NOT A OBJECT FILE" message is generated.
> Same is given when attemping "ln filename.o -l -larp"

Ah!  So it's *linking* that's causing you a problem?  I got the impression
from your email that you were having a compile-time problem, since you
were wondering about .h files ...

The Manx files (.lib's) in the ARP v1.1 distribution were compiled with
v3.4 of the compiler.  The format of the Manx object files was changed
with the v3.6a release, so you need to recompile the lib's (and to do
so, you need to put the FUNCDEF macro at the top of the *Manx* exec_lib.i
header file.  This macro has been posted several times here).  Then, just
"make" ...

But see below, before going to this much trouble!


> What is known of the existence of an include file named
> "libraries/ARPbind.h"?  It was NOT including on my v1.1 ARP
> disk I received directly from MicroSmiths.

It does not exist.


> Why can't I link?

See above.


Now, before going to all the trouble to build these lib's yourself, if
you'll wait one day, you'll be seeing the v1.1A bindings update posted
right here in comp.sys.amiga.  These are compiled for Manx v3.6, and
include a couple of bug fixes to the .lib code.


>                     Help.

That do it?


/kim

-- 
UUCP:  kim@amdahl.amdahl.com
  or:  {sun,decwrl,hplabs,pyramid,uunet,oliveb,ames}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535,25