[comp.databases] C appl. Oracle-Mac v1.0

detert@s.cs.uiuc.edu (09/18/89)

I'm trying to write some simple C subroutines that access a database supported 
by Oracle's RDBMS for the Macintosh, version 1.0, but can't get past the linking
step : 
  i precompile the source code (with Oracle's Pro*C) and compile (using MPW
  version 3.0's C compiler) with no problem, but when i try to link (using MPW's
  linker) my .o file with the necessary Oracle-supplied-executables, i get
  'undefined entry' errors from 3 of the Oracle-supplied-executables. 

The link command i used is abridged below:
  "link -w -c 'MPS ' -t MPST -sym on -mf ####### extract.c.o &&&&&&& -o extract"
where the # signs represent alias definitions for 4 of the Oracle executable 
files that the Oracle reference manual says you are to include, and the & signs
represent the libraries and Oracle executables that were linked with my program,
'extract.c.o'.

The errors i got from the above link command were:
  HLock,Hunlock : undefined entries found in acmldr.c.o
  OpenResFile,HNoPurge : undefined entries found in acmlms.c.o 
  OpenRFPerm    : undefined entries found in ossgso.c.o

Does any of this seem to have an obvious explanation?  Has anyone out there had
a similar experience with the software i'm using?

Thanks, 
Jon Detert
University of Illinois @Urbana/Champaign
(217) 244-8353
detert@s.cs.uiuc.edu

liemandt@lindy.Stanford.EDU (Joe Liemandt) (09/21/89)

In article <206600001@s.cs.uiuc.edu> detert@s.cs.uiuc.edu writes:
>
>I'm trying to write some simple C subroutines that access a database supported 
>by Oracle's RDBMS for the Macintosh, version 1.0, but can't get past the linking
>step : 
>  i precompile the source code (with Oracle's Pro*C) and compile (using MPW
>  version 3.0's C compiler) with no problem, but when i try to link (using MPW's
>  linker) my .o file with the necessary Oracle-supplied-executables, i get
>  'undefined entry' errors from 3 of the Oracle-supplied-executables. 
>

Your problem is simply that you are trying to access the MPW 2.0 libraries
which are supplied with ORACLE 1.0 from MPW 3.0. MPW's calling conventions
changed from 2.0 to 3.0, so calls to System Routines like Hlock and HUnlock
are now accessed with different capitalization and, I believe, some other, more
significant changes.  You need to either use MPW 2.0 and ORACLE 1.0,
or  MPW 3.0 and ORACLE 1.1. The upgrade to ORACLE supplies the
nescessary PRO*C objects in a number of different object library
formats, including MPW 3.0 and, I believe, THINK C. Some simple
programs that I could not link under ORACLE 1.0 linked and worked fine
with the new ORACLE.  The upgrade to 1.1 is $100-150, I think.