adler@coil.caltech.edu (Bo Adler) (08/11/90)
I have a big program that I inherited, which is written mostly in the
OSL/QUEL language. Parts of it are written in C, and this is where I'm
having trouble...
When I compile the application in abf, I get 97 undefined symbols. All
of the undefined symbols appear to come from the Run-Time Library, and
the error always says something like
%LINE-UNDFSM Undefined symbol (fill in your favorite symbol here, like
SYS$PARSE, or something)
in module (C$SOCKHANDLE, C$VAXCIO, etc) file SYS_COMMON:
[SYSLIB]VAXCRTL.OLB;2
Digging around through the manuals, and in the code, I discovered a
"myabf.opt" linker options file. In it, was the single line
SYS$LIBRARY:VAXCRTL/LIBRARY
So I set up the ING_ABFOPT1 logical to point to the full file specification
of "myabf.opt", and tried compiling again.
This resulted in a substantial improvement... only LIB$FIND_IMAGE_SYMBOL
was undefined, and it was only referenced in C$SOCKHANDLE of VAXCRTL.OLB.
My next thought was to try including the Run-Time Libraries explicitly,
which eliminated my undefined symbol problem, but caused a huge mess
of %LINK-MULDEF multiple definition of symbol errors. From the looks
of the output, just about every symbol (with the exception of LIB$FIND_
IMAGE_SYMBOL) had duplicate definitions.
For the curious: I'm running VMS 5.3, VAX C 3.1, and INGRES 5.0 (vax.vms 5.0)
Has anybody else encountered this problem? Anybody know of a solution?
I haven't been able to decide if this is a linker problem, or an ingres
problem, and I'm stumped on what else I could try.
Thanks in advance for any help!
-B. Thomas Adler
adler@csvax.caltech.edu
adler@citiago.bitnet