X-From-Line: gord@gnu.org Wed Oct 08 00:03:13 1997
Return-Path: <gord@gnu.org>
Delivered-To: gord@trick.profitpress.com
Received: (qmail 13926 invoked from network); 8 Oct 1997 00:03:12 -0000
Received: from localhost (HELO bambam.m-tech.ab.ca) (127.0.0.1)
by localhost with SMTP; 8 Oct 1997 00:03:12 -0000
X-POP3-Rcpt: gord@bambam
Received: from mescaline.gnu.org (root@mescaline.gnu.org [158.121.106.21]) by m-tech.ab.ca (8.6.12/8.6.9) with ESMTP id LAA01054 for <gord@m-tech.ab.ca>; Tue, 7 Oct 1997 11:58:02 -0600
Received: from listserv.ucalgary.ca by mescaline.gnu.org (8.8.5/8.6.12GNU) with SMTP id NAA18464 for <bug-libtool@gnu.ai.mit.edu>; Tue, 7 Oct 1997 13:53:36 -0400
Received: from ts3-port-52.acs.ucalgary.ca by listserv.ucalgary.ca (AIX 3.2/UCB 5.64/4.03)
id AA15145; Tue, 7 Oct 1997 11:53:10 -0600
Received: (qmail 11153 invoked by uid 1001); 7 Oct 1997 17:52:59 -0000
Sender: gord@trick.profitpress.com
To: Akim Demaille <demaille@inf.enst.fr>
Cc: bug-libtool@gnu.org
Subject: Re: Shared libs before installation
References: <qylg1qstg1o.fsf@gargantua.enst.fr>
X-Attribution: Gord
Mime-Version: 1.0 (generated by tm-edit 7.92)
Content-Type: text/plain; charset=US-ASCII
From: Gordon Matzigkeit <gord@m-tech.ab.ca>
Date: 07 Oct 1997 11:52:59 -0600
In-Reply-To: Akim Demaille's message of 26 Sep 1997 14:28:51 +0200
AD> We once talked about this, but let's do it again :)
Okay! ;)
AD> I know this is the kind of things version numbers should
AD> solve. Nevertheless, to avoid having quickly too big a version
AD> number, the version should be set right before a _public_
AD> distribution (correct?). Not when sharing with
AD> testers/maintainers.
AD> But then they are most likely to link with an old installed
AD> version of the .so, failing to compile correctly.
Actually, you may consider having *huge* version numbers for testers,
and using tiny ones for public releases.
For testing releases use a major version corresponding with the
current date: -version-info 19971007
Then for the public release, figure out what has actually changed
since last time: -version-info 3:0:1
The huge test release major numbers will guarantee that every new test
release will require relinking, but the public versions will be
smarter and possibly backwards-compatible.
AD> I am no system guy, so I may say stupid things :)
Nothing stupid. These are legitimate questions that I will have to
answer eventually in the documentation.
Thanks for your questions,
--
Gord Matzigkeit | Proudly running pieces of the GNU operating system.
gord@m-tech.ab.ca | Jacques Cousteau loved programming in assembler.
From nobody Wed Oct 15 00:04:31 1997
X-From-Line: coolo@itm.mu-luebeck.de Wed Oct 15 00:11:44 1997
Return-Path: <coolo@itm.mu-luebeck.de>
Delivered-To: gord@trick.profitpress.com
Received: (qmail 4396 invoked from network); 15 Oct 1997 00:11:42 -0000
Received: from localhost (HELO bambam.m-tech.ab.ca) (127.0.0.1)
by localhost with SMTP; 15 Oct 1997 00:11:42 -0000
X-POP3-Rcpt: gord@bambam
Received: from itm.mu-luebeck.de (wotan.itm.mu-luebeck.de [141.83.21.121]) by m-tech.ab.ca (8.6.12/8.6.9) with ESMTP id MAA12037 for <gord@m-tech.ab.ca>; Tue, 14 Oct 1997 12:59:53 -0600
Received: from buri.itm.mu-luebeck.de (coolo@buri [141.83.21.130]) by itm.mu-luebeck.de (8.8.7/8.7.1) with ESMTP id UAA12900 for <gord@m-tech.ab.ca>; Tue, 14 Oct 1997 20:54:08 +0200 (MET DST)
From: Stephan Kulow <coolo@itm.mu-luebeck.de>
Received: (from coolo@localhost)
by buri.itm.mu-luebeck.de (8.8.4/8.8.4)
id UAA01692 for gord@m-tech.ab.ca; Tue, 14 Oct 1997 20:55:19 +0200
> I think we've adequately discussed your library dependencies, but I
> wanted to comment on the dlopen support that you mention below:
>
> SK> BTW: I made some efforts to use the dlopen support in libtool. I
> SK> think, it works the way I tried it. I link staticly, if dlfcn.h
> SK> or libdl is not supported. For this I patched libtool.m4 to
> SK> support this. I had to remove the --enable-shared/static options
> SK> and replaced it with --disable-dlopen option, since it looks
> SK> somewhat strange, if you have --enable-shared in a package, where
> SK> you do not expect libs.
>
> Yes, you are right. When I fully support dlopen emulation, I will
> need to make a configure flag that can turn things on and off.
>
> SK> We create a binary, that loads libraries, that contain C++
> SK> classes derived from a specific class. So, it's not necessary,
> SK> that the binary knows, which "applets" are there while compile
> SK> time.
>
> Okay, this makes sense. This is why I generate the `symbol file' when
> -export-dynamic is given, which contains a list of symbols mapped to
> pointers in a C source file.
>
> Your solution is acceptable, and if it works for your application,
> congratulations! As I've said before, my eventual solution will be
> generic and application-independent: I will write a true dlopen
> implementation that uses a libtool `symbol file' to resolve pointers
> rather than dynamic loading of code.
>
> The C++ portion of this will need to understand name mangling, which
> is probably why you chose the easier way, of making your dlopening
> application-specific.
You say, you will write code? I tried to imagine a solution without
new code, but I failed. So you write a new linker or just a library,
that I can use in my own code?
>
> SK> This is somewhat a problem and I don't know a solution, how to
> SK> solve this. So, I added a header file, that contains all
> SK> currently known modules and this is only used, if no dlopen is
> SK> available.
>
> Okay, I think I understand. You are saying that when dlopen is not
> available, you emulate it by knowing in advance which modules have
> been linked into the executable (SANE calls this `preloading'), and
> changing your application to refer to specific C++ modules.
Yes. I have to know while compilation time of the binary, which libraries
get linked.
>
> As I've said above, when I release DLD 4.0 I'll let you know, but
> until then, your application-specific preloading is acceptable, and
> the Right Thing To Do.
Thanks, it's a pleasure to hear such comments ;)
>
> SK> Thanks for writing libtool, Stephan
>
> My pleasure! Thanks for using it, :)
BTW: Perhaps you remember, I once contacted you because of some problems
with C++ and static objects in shared libs. I found out (or read in a
news group), that most compilers on such plattforms do some magic before
calling the linker. So, what libtool have to do to support such plattforms
(Solaris, FreeBSD and perhaps some more), is to call the compiler and not
the linker to create C++ shared libs.
CC (under Solaris) has the same options then the linker, but should create
correct libraries.
Currently I set CC to CXX before I run AM_PROG_LIBTOOL to let libtool
find the correct linker options for the C++ compiler instead of the C
compiler.
I just wanted to let you know, what I found out. I thought about patching
libtool to have better support for C++, but this would mean some drastic
changes, so I left it up to you ;)
Greets, Stephan
--
Stephan Kulow (coolo@kde.org)
Student of medical CS
Medical University of Luebeck
GCS/M/MD d-x s++: a-- C+++$ ULS+++ P--- L++ E W- N- o? K--? w
!O-- !M !V PS++ !PE Y PGP++ t+ 5 X+ !R tv+ b+ DI? D- G e+>$
h--(++) r y
From nobody Thu Aug 20 09:31:03 1998
X-From-Line: gord@gnu.org Wed Aug 05 11:02:23 1998
Return-Path: <gord@gnu.org>
Delivered-To: gord@trick.fig.org
Received: (qmail 6829 invoked from network); 5 Aug 1998 11:02:23 -0000
Received: from gen2-93ip34.cadvision.com (HELO bambam.m-tech.ab.ca) (209.91.93.34)
by cs366707-a.cgmo1.ab.wave.home.com with SMTP; 5 Aug 1998 11:02:23 -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 EAA09526 for <gord@m-tech.ab.ca>; Wed, 5 Aug 1998 04:59:58 -0600
Received: from uranus.ubs.com by mescaline.gnu.org (8.8.5/8.6.12GNU) with ESMTP id HAA22473 for <bug-libtool@gnu.org>; Wed, 5 Aug 1998 07:00:29 -0400
From: alois.camenzind@ubs.com
Received: by uranus.ubs.com; id MAA10838; Wed, 5 Aug 1998 12:56:10 +0200 (MET DST)
Received: from <alois.camenzind@ubs.com> (svscan [192.168.85.11]) by uranus via smap (V2.1)
id xma010753; Wed, 5 Aug 98 12:55:53 +0200
Received: from localhost by svscan.ubinet.ubs.com (SMI-8.6/SMI-SVR4)
id MAA01005; Wed, 5 Aug 1998 12:58:25 +0200
Received: from localhost (root@localhost)
by svcastor.flur.zuerich.ubs.ch (8.8.6 (PHNE_12836)/8.8.6) with SMTP id MAA21146
for bug-libtool@gnu.org; Wed, 5 Aug 1998 12:58:23 +0200 (METDST)
X-From-Line: gord@gnu.org Thu Aug 06 20:23:55 1998
Return-Path: <gord@gnu.org>
Delivered-To: gord@trick.fig.org
Received: (qmail 1251 invoked from network); 6 Aug 1998 20:23:54 -0000
Received: from gen2-93ip34.cadvision.com (HELO bambam.m-tech.ab.ca) (209.91.93.34)
by cs366707-a.cgmo1.ab.wave.home.com with SMTP; 6 Aug 1998 20:23:54 -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 OAA21853 for <gord@m-tech.ab.ca>; Thu, 6 Aug 1998 14:21:27 -0600
Received: from juliet.wcom.com by mescaline.gnu.org (8.8.5/8.6.12GNU) with SMTP id QAA20365 for <bug-libtool@gnu.org>; Thu, 6 Aug 1998 16:21:44 -0400
Received: from moloko.wcom.com by juliet with ESMTP; Thu, 6 Aug 1998 15:17:19 -0500
Received: from pinebilly.wcom.com (pinebilly.wcom.com [159.98.206.11]) by moloko.wcom.com (8.8.8/8.8.8)
with SMTP id PAA27920 for <bug-libtool@gnu.org>; Thu, 6 Aug 1998 15:17:18 -0500 (CDT)