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