depeche@quiche.cs.mcgill.ca (Sam Alan EZUST) (12/14/89)
I am a novice user of computers and compilers, and just downloaded dlibs12 from terminator. I placed the header files in e:\dlibs\h, and everything else in e:\dlibs Now I want laser C to use these libraries instead of the default ones. I went into the environment variables and changed all the ones I thought I was supposed to. clib=e:\dlibs\dlib.a cinit=e:\dlibs\dstart.o cinclude=e:\dlibs\h\ and I also tried changing libpath to e:\dlibs\ And now when I try to compile/link a program, the linker says undefinined symbol: __lmul I don't even know what lmul is, but anyway... What else do I need to do in order to get laserc working with dlibs? -- S. Alan Ezust depeche@calvin.cs.mcgill.ca McGill University Department of Computer Science - Montreal, Quebec, Canada
dal@syntel.mn.org (Dale Schumacher) (12/15/89)
[depeche@quiche.cs.mcgill.ca (Sam Alan EZUST) writes...] > > I am a novice user of computers and compilers, and just downloaded > dlibs12 from terminator. > I placed the header files in e:\dlibs\h, > and everything else in e:\dlibs > > Now I want laser C to use these libraries instead of the default ones. > > I went into the environment variables and changed all the ones > I thought I was supposed to. > > clib=e:\dlibs\dlib.a > cinit=e:\dlibs\dstart.o > cinclude=e:\dlibs\h\ > > and I also tried changing libpath to e:\dlibs\ > > And now when I try to compile/link a program, the linker says > > undefinined symbol: __lmul > > I don't even know what lmul is, but anyway... What else do I need to > do in order to get laserc working with dlibs? > -- > S. Alan Ezust depeche@calvin.cs.mcgill.ca > McGill University Department of Computer Science - Montreal, Quebec, Canada DISCLAIMER: I haven't tried to make dLibs work with Laser C, and it may not work at all since it was designed to work with Alcyon C and Sozobon C. The problem appears to be one of not finding a function which is probably a reference internally generated by the compiler. This one is most likely the 'long multiply' function. In Alcyon/Sozobon the name of this function is 'lmul' (note: NO leading underscore, this is in assembly code) and it, along with others like 'ldiv', 'lmod', etc. are in the "math.s" source file. You MAY be able to get dLibs working with Laser C by putting two underscores in front of the global identifiers in "math.s" and re-assembling that source. The compiler makes reference to these function when it need to multiply, divide, modulo a long or unsigned long value, since these operations are not directly supported by the 68000. The names used to call these functions vary by compiler and are supplied with the compiler's normal libraries. If you have a library manager, you may be able to extract the appropriate functions from the Laser C library and combine then with dLibs, or simply link with dLibs first, then with the default library to resolve any other dependencies. Good luck. \\ / Dale Schumacher 399 Beacon Ave. \\ / (alias: Dalnefre') St. Paul, MN 55104-3527 >< ..!nic.mr.net!bungia.mn.org!syntel!dal United States of America / \\ "The power of accurate observation is commonly called cynicism / \\ by those who have not got it." -George Bernard Shaw