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.