Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!zaphod.mps.ohio-state.edu!rpi!bu.edu!bu-pub.bu.edu!jdh From: jdh@bu-pub.bu.edu (Jason Heirtzler) Newsgroups: comp.sys.sgi Subject: so, you want to use a shared library? Keywords: don't try this at home, folks Message-ID: <61580@bu.edu.bu.edu> Date: 30 Jul 90 02:37:06 GMT Sender: news@bu.edu.bu.edu Reply-To: jdh@bu-pub.bu.edu (Jason Heirtzler) Organization: Boston University, Scientific Computing and Visualization Group Lines: 47 Two questions: Has anyone (besides SGI) built their own shared libraries in IRIX? Did you enjoy it? There's all kinds of nasty prerequisites and special conditions before you can build your very own shared library. Let me quote The Book: [ choosing a data and text region address ] "Each region should be on a 4M boundry. The two regions should be adjacent, with the address of the text region lower than the address of the data region. The regions should be at the highest address possible below 0x0c000000." This isn't too bad, but then it goes on to say how you're likely to have address conflicts if you try to link a program and use your shared library and another shared library: "If you plan to release a library, you must consult with concerned parties to agree on a region address." Every 3rd party developer? That's going to be one heck of a conference call. Had enough? No? Then take a look at that branch table you gotta build for every function you include in your library. Not tough to do, but these are the things computers should do themselves. Or here's another: "External symbols have fixed addresses. If an external symbol moves, you have to relink all a.out files that use the library. This restriction applies to both text and data symbols." Anyways, you get the idea. To contrast, none of this is necessary with shared libraries in SunOS. They're clean and fairly simple. There's no such thing as a "shared library specification file." They also have major and minor revision levels for the libraries and the newest version always chosen (at run time, according to specific rules) for you. Will these (sysV style?) shared libraries be changing? Are we poor customers stuck until/if IRIX becomes sysV R4 based? What about then? ------------------------------------------------------------------- Jason Heirtzler (617) 353-2780 jdh@bu-pub.bu.edu Information Technology Boston University ..!bu.edu!bu-pub!jdh