From Janos.Farkas-nouce/priv-#5HYEEI07/9C6uVbFUutOXk6szqe@lk9qw.mail.eon.ml.org Tue Mar 31 15:39:15 1998 X-From-Line: Janos.Farkas-nouce/priv-#5HYEEI07/9C6uVbFUutOXk6szqe@lk9qw.mail.eon.ml.org Tue Mar 31 15:39:15 1998 Return-Path: Delivered-To: gord@trick.profitpress.com Received: (qmail 903 invoked from network); 31 Mar 1998 15:39:14 -0000 Received: from unknown (HELO bambam.m-tech.ab.ca) (127.0.0.1) by 127.0.0.1 with SMTP; 31 Mar 1998 15:39:14 -0000 Received: from mi5.satimex.tvnet.hu (gateway.m-tech.ab.ca [10.0.0.1]) by bambam.m-tech.ab.ca (8.8.5/8.6.9) with SMTP id DAA25302 for ; Mon, 30 Mar 1998 03:28:54 -0700 Received: (qmail 3288 invoked by uid 2001); 30 Mar 1998 10:36:04 -0000 Date: Mon, 30 Mar 1998 12:36:04 +0200 From: Janos Farkas To: Ian Lance Taylor , gord@m-tech.ab.ca Cc: bug-libtool@gnu.org, tiemann@cygnus.com Subject: Re: Irix shared libraries Mail-Followup-To: Ian Lance Taylor , gord@m-tech.ab.ca, bug-libtool@gnu.org, tiemann@cygnus.com Message-ID: <19980330123604.03725@lk9qw.mail.eon.ml.org> References: <86hg4h59tw.fsf@trick.profitpress.com> <199803300034.TAA16378@subrogation.cygnus.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <199803300034.TAA16378@subrogation.cygnus.com>; from Ian Lance Taylor on Sun, Mar 29, 1998 at 07:34:01PM -0500 Errors-To: Janos Farkas Xref: trick.profitpress.com mail.libtool:1249 Lines: 44 X-Gnus-Article-Number: 1 Wed Nov 4 08:02:28 1998 On 1998-03-29 at 19:34:01, Ian Lance Taylor wrote: > From: Gordon Matzigkeit > Date: 29 Mar 1998 16:57:47 -0700 > > Do you have access to the IRIX ld man pages? I don't know why it's > complaining about `non-sgi' interface versions. I was under the > impression that any colon-separated list of strings would do. > > Here is the entire ld man page, but it does not appear particularly > helpful. I just realized I also have mortal access to an SGI system, and found this in the dso.5 page, this looks more informative :) Versioning of Shared Objects. QUICK OVERVIEW For a shared object to be versioned the following needs to be done: * Version strings consist of 3 parts and a dot: The string "sgi", a decimal number (the major number), a dot, and a decimal number (the minor number). * Add the command -set_version sgi1.0 to the command to build the shared object (cc -shared, ld -shared, etc.). * Whenever you make a COMPATIBLE change update the minor version number (the one after the dot), and add the latest version string to colon-separated list of version strings, e.g., -set_version sgi1.0:sgi1.1:sgi1.3 * Whenever you make an INCOMPATIBLE change, update the major version number. Pass this as the version list, e.g., -set_version sgi2.0. Change the filename of the OLD shared object by adding a dot followed by the previous major number to the filename of the shared object. DO NOT CHANGE the soname of the object. No change to the file contents are necessary or desirable. Simply rename the file. -- Janos - Don't worry, my address is real. I'm just bored of spam. From nobody Wed Oct 14 16:54:11 1998 X-From-Line: gord@gnu.org Fri Jul 03 02:26:01 1998 Return-Path: Delivered-To: gord@trick.fig.org Received: (qmail 9753 invoked from network); 3 Jul 1998 02:25:59 -0000 Received: from unknown (HELO bambam.m-tech.ab.ca) (127.0.0.1) by 127.0.0.1 with SMTP; 3 Jul 1998 02:25:59 -0000 Received: from mescaline.gnu.org (gateway [10.0.0.1]) by bambam.m-tech.ab.ca (8.8.5/8.6.9) with ESMTP id SAA13535 for ; Thu, 2 Jul 1998 18:34:06 -0600 Received: from platinum.math.arizona.edu by mescaline.gnu.org (8.8.5/8.6.12GNU) with ESMTP id UAA09573 for ; Thu, 2 Jul 1998 20:41:52 -0400 Date: Fri, 3 Jul 1998 00:40:12 GMT Message-Id: <199807030040.AAA16739@platinum.math.arizona.edu> Received: by platinum.math.arizona.edu; Fri, 3 Jul 1998 00:40:12 GMT From: "Robert S. Maier" To: bug-libtool@gnu.org Subject: misc. libtool bugs Phase-of-Moon: Waxing Gibbous (62% of Full) Organization: Mathematics Department, University of Arizona Xref: trick.fig.org mail.libtool:1516 Lines: 46 X-Gnus-Article-Number: 2 Wed Nov 4 08:02:28 1998 Through installing the plotutils package on several platforms, I've turned up a few additional bugs in libtool-1.2. Here they are... 1. The plotutils package uses libtool to link together a shared library, `libplot'. It also compiles several executables, each in its own subdirectory, and links them with `libplot'. It then runs tests on the executables. By looking at the test output I figured out that the version of libplot that gets linked with the executables is by default the previously installed version (if any), rather than the one that that's just been built. This happens under IRIX 5.3 and 6.4, when compiling with both cc and gcc. Probably on other platforms as well. I assume there's something wrong with LD_LIBRARY_PATH. But the shell scripts that libtool generates (i.e., the pseudo-executables) contain the lines # Add our own library path to LD_LIBRARY_PATH LD_LIBRARY_PATH="$thisdir/../libplot/.libs:$LD_LIBRARY_PATH" # Some systems cannot cope with colon-terminated LD_LIBRARY_PATH LD_LIBRARY_PATH=`$echo "X$LD_LIBRARY_PATH" | $Xsed -e 's/:*$//'` which certainly look right. A workaround here is to do `rm -f /usr/local/lib/libplot.*' before installing the package. But that's a pretty drastic workaround. 2. At least on those IRIX platforms, there's something buggy about the option "-set_version 1.1.2:0.0:1.0" that libtool-1.2 passes to ld. If I compile a version of my `graph' utility that is meant to be linked with -lXm instead of -lXaw (the default), as well as -lplot, I get the following when I go to its subdirectory and try to run it without installing it: cosmo$ echo 0 0 1 1 2 0 | graph -TX -C 4352:graph: rld: Warning: version search suppressed because object libplot.so in liblist has non-sgi interface version (1.0) 4352:graph: rld: Fatal Error: cannot map soname 'libplot.so' using any of the filenames /usr/local/lib/libplot.so:/lib/libplot.so:/usr/lib/libplot.so:/usr/local/ivtools/lib/SGI/libplot.so:/lib/cmplrs/cc/libplot.so:/usr/lib/cmplrs/cc/libplot.so: -- either the file does not exist or the file is not mappable (with reason indicated in previous msg) Not sure what's going on here. If I do a `make install', the installed version of `graph' functions perfectly. It's only the uninstalled one, built specially to be linked with -lXm, that gives error messages about SGI version numbering for -lplot. --Robert