home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / softsys / khoros / 2954 < prev    next >
Encoding:
Text File  |  1992-11-22  |  2.4 KB  |  51 lines

  1. Newsgroups: comp.soft-sys.khoros
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!math.fu-berlin.de!mailgzrz.TU-Berlin.DE!cs.tu-berlin.de!fauern!fauna!cnwietho
  3. From: cnwietho@immd4.informatik.uni-erlangen.de (Carsten Wiethoff)
  4. Subject: Problems (solved) compiling Khoros with shared libs on Sparc
  5. Message-ID: <By5v5F.1JB@immd4.informatik.uni-erlangen.de>
  6. Organization: CSD., University of Erlangen, Germany
  7. Date: Mon, 23 Nov 1992 08:48:50 GMT
  8. Lines: 41
  9.  
  10. I have tried to compile Khoros 1.5 on a Sun Sparcstation2 with shared
  11. libraries, primarily to save disk space.
  12.  
  13. There were several problems, which were nontrivial, so I'd like to
  14. share my solutions with other people trying the same thing.
  15.  
  16. First of all, the make system is not really made to support shared libs,
  17. the problem is that a program using one routine of a SHARED Library
  18. will need all symbols open in this shared Library, not only the
  19. symbols used in the routine from the shared lib.
  20. That means for example that every program that is linked to the dynamic
  21. version of libgeosurf will need liblinpack as well, because there
  22. is a routine in libgeosurf, that needs linpack.
  23. Consequently practically all routines need linpack, eispack and fortran
  24. and math libraries. 
  25.  
  26. Some of the Imakefiles un-cleverly define out "VEXPR=" which for
  27. the above reason makes the Makefiles fail.
  28.  
  29. It is important to have the right Version of the Fortran lib, 1.4.1 works,
  30. 1.4 does not. It says "undefined symbol _MAIN_".
  31.  
  32. It is equally important to link against the right math lib, use the one
  33. that comes with Fortran.
  34.  
  35. The math lib does not exist in shareable form (why not???), but you
  36. can make a (bad) shared lib from it by extracting the objects from
  37. it ( ar xv libm.a ) and linking it into a shared lib using ld (ld *.o).
  38. Of course, use the math library from Fortran.
  39.  
  40. In the shared version of libXmu two symbols are not defined that are
  41. needed by libXaw. Fortunately and strangely these symbols are defined
  42. in an object contained in the non-shared version of libXmu, called
  43. sharedlib.o. You can extract it, make a shared library from it and
  44. link it dynamically to all modules requiring X.
  45. The above is true for the X-Libraries coming with OpenWindows 3.0.
  46.  
  47. All things working correctly, your binaries will be 16-24kByte typically,
  48. bin will be 9M with full debugging and symbols and 6M when stripped.
  49.  
  50. Carsten Wiethoff (pwi@psun3.hmi.de)
  51.