| From nobody Tue Oct 7 19:29:17 1997 | |
| 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 | |
| Message-Id: <86201xcves.fsf@trick.profitpress.com> | |
| X-Mailer: Gnus v5.4.42/Emacs 19.34 | |
| Xref: trick.profitpress.com mail.libtool:570 | |
| Lines: 41 | |
| X-Gnus-Article-Number: 4 Mon Nov 2 17:16:26 1998 | |
| Hi! | |
| >>>>> Akim Demaille writes: | |
| 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 | |
| Message-Id: <199710141855.UAA01692@buri.itm.mu-luebeck.de> | |
| Subject: Re: dlopen [was: libs dependencies] | |
| To: gord@m-tech.ab.ca (Gordon Matzigkeit) | |
| Date: Tue, 14 Oct 1997 20:55:19 +0200 (MET DST) | |
| In-Reply-To: <86wwjg1av8.fsf@trick.profitpress.com> from "Gordon Matzigkeit" at Oct 14, 97 12:02:35 pm | |
| Content-Type: text | |
| Xref: trick.profitpress.com mail.libtool:589 | |
| Lines: 89 | |
| X-Gnus-Article-Number: 5 Mon Nov 2 17:16:26 1998 | |
| > | |
| > Hi! | |
| > | |
| > >>>>> Stephan Kulow writes: | |
| > | |
| > 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-OpenMail-Hops: 2 | |
| Date: Wed, 5 Aug 1998 12:58:13 +0200 | |
| Message-Id: <5499F13A@MHS> | |
| Subject: libtool bug/problem | |
| MIME-Version: 1.0 | |
| TO: bug-libtool@gnu.org | |
| Content-Type: multipart/mixed; boundary="MimeMultipartBoundary" | |
| Xref: trick.fig.org libtool:1548 | |
| Lines: 171 | |
| X-Gnus-Article-Number: 6 Mon Nov 2 17:16:26 1998 | |
| --MimeMultipartBoundary | |
| Content-Type: text/plain; charset=US-ASCII; name="PUBLIC:" | |
| Content-Disposition: inline; filename="PUBLIC:" | |
| Content-Transfer-Encoding: 7bit | |
| Hi | |
| I'd like to use libtool (ltmain.sh (GNU libtool) 1.2 togheter with the SUN C++ | |
| compiler (CC: WorkShop Compilers 4.2 30 Oct 1996 C++ 4.2) on Solaris 5.5.1. | |
| Everything works good except if I'm trying to use C++ templates in my code and | |
| put this in a shared library. The linker is afterwards always complaining | |
| about missing references. The problem occurs because libtool renames | |
| the object | |
| files from xxx.o to xxx.lo. The SUN C++ compiler builds for himself a | |
| Template.DB | |
| and this somehow doens't match anymore with the object file. | |
| Have you ever heard of this problem and do you eventually allready have | |
| a solution? | |
| I search in Deja News but couldn't find anything. | |
| A solution I could think of would be to rename the xxx.lo file back to | |
| xxx.o before | |
| the linking phase. | |
| Thanks for any hints. | |
| ciao | |
| Alois | |
| --MimeMultipartBoundary-- | |
| From nobody Wed Oct 14 17:08:59 1998 | |
| X-From-Line: gord@mescaline.gnu.org Mon Oct 05 20:10:38 1998 | |
| Return-Path: <gord@mescaline.gnu.org> | |
| Delivered-To: gord@trick.fig.org | |
| Received: (qmail 2026 invoked from network); 5 Oct 1998 20:10:30 -0000 | |
| Received: from gen2-93ip34.cadvision.com (HELO bambam.m-tech.ab.ca) (209.91.93.34) | |
| by ip223.net247210.cr.sk.ca with SMTP; 5 Oct 1998 20:10:30 -0000 | |
| Received: from mescaline.gnu.org (gateway [10.0.0.1]) | |
| by bambam.m-tech.ab.ca (8.8.7/8.8.7) with ESMTP id OAA31749 | |
| for <gord@m-tech.ab.ca>; Mon, 5 Oct 1998 14:13:57 -0600 | |
| Received: from proxy.grad.kiev.ua (grad-UTC-28k8.ukrtel.net [195.5.25.54]) | |
| by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id PAA26247 | |
| for <bug-libtool@gnu.org>; Mon, 5 Oct 1998 15:57:59 -0400 | |
| Received: from Shevchenko.Kiev.UA (cam [10.0.0.50]) | |
| by proxy.grad.kiev.ua (8.8.8/8.8.7) with ESMTP id WAA07178 | |
| for <bug-libtool@gnu.org>; Mon, 5 Oct 1998 22:56:50 +0300 (EEST) | |
| (envelope-from Ruslan@Shevchenko.Kiev.UA) | |
| Sender: rssh@proxy.grad.kiev.ua | |
| Message-ID: <3619242C.C441DA29@Shevchenko.Kiev.UA> | |
| Date: Mon, 05 Oct 1998 22:55:24 +0300 | |
| From: Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA> | |
| Reply-To: rssh@grad.kiev.ua | |
| X-Mailer: Mozilla 4.05 [en] (X11; I; FreeBSD 2.2.5-STABLE i386) | |
| MIME-Version: 1.0 | |
| To: bug-libtool@gnu.org | |
| Subject: C++ libs on Solaris 2.6 with Sun CC 4.2 | |
| Content-Type: multipart/mixed; boundary="------------48AE685394F01B5105112CF0" | |
| Lines: 109 | |
| Xref: trick.fig.org libtool:1646 | |
| This is a multi-part message in MIME format. | |
| --------------48AE685394F01B5105112CF0 | |
| Content-Type: text/plain; charset=us-ascii | |
| Content-Transfer-Encoding: 7bit | |
| envirowment: | |
| uname -a: | |
| SunOS satory 5.6 Generic_105181-06 sun4u sparc SUNW,Ultra-4 | |
| Sun CC 4.1 | |
| libtool 1.2 | |
| Problem: | |
| building of shared libraries not supported. | |
| (output of simple conffigure is attached.) | |
| and in reality, the process of linking CC library is different, | |
| becouse generation of templates can be doing on stage of linking. | |
| In general, command for linking is | |
| CC -xar -o$(LIBNAME) $(CXXFLAGS) $(OBJECTS) | |
| If anybody will tell me, from what I must begin, I will help to | |
| add such support. | |
| Thanks. | |
| -- | |
| @= | |
| //RSSH | |
| mailto:Ruslan@Shevchenko.Kiev.UA | |
| CORBA in Ukraine & ex-USSR: http://www.corbadev.kiev.ua | |
| --------------48AE685394F01B5105112CF0 | |
| Content-Type: text/plain; charset=us-ascii; name="errs" | |
| Content-Transfer-Encoding: 7bit | |
| Content-Disposition: inline; filename="errs" | |
| creating cache ./config.cache | |
| checking host system type... sparc-sun-solaris2.6 | |
| checking target system type... sparc-sun-solaris2.6 | |
| checking build system type... sparc-sun-solaris2.6 | |
| checking for a BSD compatible install... config/install-sh -c | |
| checking whether build environment is sane... yes | |
| checking whether make sets ${MAKE}... yes | |
| checking for working aclocal... found | |
| checking for working autoconf... found | |
| checking for working automake... found | |
| checking for working autoheader... found | |
| checking for working makeinfo... missing | |
| checking for c++... no | |
| checking for g++... no | |
| checking for gcc... no | |
| checking for CC... CC | |
| checking whether the C++ compiler (CC ) works... yes | |
| checking whether the C++ compiler (CC ) is a cross-compiler... no | |
| checking whether we are using GNU C++... no | |
| checking how to run the C++ preprocessor... CC -E | |
| checking for ranlib... ranlib | |
| checking for gcc... no | |
| checking for cc... cc | |
| checking whether the C compiler (cc ) works... yes | |
| checking whether the C compiler (cc ) is a cross-compiler... no | |
| checking whether we are using GNU C... no | |
| checking for non-GNU ld... /usr/ucb/ld | |
| checking if the linker (/usr/ucb/ld) is GNU ld... no | |
| checking for BSD-compatible nm... /usr/ccs/bin/nm -p | |
| checking whether ln -s works... yes | |
| checking whether we are using GNU C... no | |
| checking for cc option to produce PIC... -KPIC | |
| checking if cc PIC flag -KPIC works... no | |
| checking if cc static flag -Bstatic works... -Bstatic | |
| checking if the linker (/usr/ucb/ld) is GNU ld... no | |
| checking whether the linker (/usr/ucb/ld) supports shared libraries... yes | |
| checking command to parse /usr/ccs/bin/nm -p output... yes | |
| checking how to hardcode library paths into programs... immediate | |
| checking for /usr/ucb/ld option to reload object files... -r | |
| checking dynamic linker characteristics... solaris2.6 ld.so | |
| checking if libtool supports shared libraries... no | |
| checking whether to build shared libraries... no | |
| checking whether to build static libraries... yes | |
| checking for objdir... .libs | |
| creating libtool | |
| checking for a BSD compatible install... config/install-sh -c | |
| CPPFLAGS= -I/usr/local/include | |
| checking for OB/CORBA.h... yes | |
| checking for JTC/JTC.h... yes | |
| checking for OB/CosNaming.h... yes | |
| checking for nanosleep in -lposix4... yes | |
| solaris2.6 | |
| checking for socket in -lsocket... yes | |
| updating cache ./config.cache | |
| creating ./config.status | |
| creating Makefile | |
| creating src/Makefile | |
| creating include/Makefile | |
| creating tests/Makefile | |
| creating tests/naming/Makefile | |
| creating include/SyntaxShugarConfig.h | |
| include/SyntaxShugarConfig.h is unchanged | |
| --------------48AE685394F01B5105112CF0-- | |
| From nobody Wed Oct 14 17:11:47 1998 | |
| X-From-Line: gord@mescaline.gnu.org Tue Oct 13 18:11:55 1998 | |
| Return-Path: <gord@mescaline.gnu.org> | |
| Delivered-To: gord@trick.fig.org | |
| Received: (qmail 694 invoked from network); 13 Oct 1998 18:11:25 -0000 | |
| Received: from gen2-93ip34.cadvision.com (HELO bambam.m-tech.ab.ca) (209.91.93.34) | |
| by ip223.net247210.cr.sk.ca with SMTP; 13 Oct 1998 18:11:25 -0000 | |
| Received: from mescaline.gnu.org (gateway [10.0.0.1]) | |
| by bambam.m-tech.ab.ca (8.8.7/8.8.7) with ESMTP id MAA30151 | |
| for <gord@m-tech.ab.ca>; Tue, 13 Oct 1998 12:14:55 -0600 | |
| Received: from proxy.grad.kiev.ua (grad-UTC-28k8.ukrtel.net [195.5.25.54]) | |
| by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id NAA14314 | |
| for <bug-libtool@gnu.org>; Tue, 13 Oct 1998 13:56:26 -0400 | |
| Received: from Shevchenko.Kiev.UA (cam [10.0.0.50]) | |
| by proxy.grad.kiev.ua (8.8.8/8.8.7) with ESMTP id UAA04080 | |
| for <bug-libtool@gnu.org>; Tue, 13 Oct 1998 20:54:29 +0300 (EEST) | |
| (envelope-from Ruslan@Shevchenko.Kiev.UA) | |
| Sender: rssh@proxy.grad.kiev.ua | |
| Message-ID: <3623937C.7E903DF8@Shevchenko.Kiev.UA> | |
| Date: Tue, 13 Oct 1998 20:53:00 +0300 | |
| From: Ruslan Shevchenko <Ruslan@shevchenko.kiev.ua> | |
| Reply-To: rssh@grad.kiev.ua | |
| X-Mailer: Mozilla 4.05 [en] (X11; I; FreeBSD 2.2.5-STABLE i386) | |
| MIME-Version: 1.0 | |
| To: bug-libtool@gnu.org | |
| Subject: overriding ARFLAGS. | |
| Content-Type: multipart/mixed; boundary="------------E06156B73BE5D4D4AD2BF900" | |
| Xref: trick.fig.org libtool:1683 | |
| Lines: 221 | |
| X-Gnus-Article-Number: 7 Mon Nov 2 17:16:26 1998 | |
| This is a multi-part message in MIME format. | |
| --------------E06156B73BE5D4D4AD2BF900 | |
| Content-Type: text/plain; charset=koi8-r | |
| Content-Transfer-Encoding: 7bit | |
| As I noted few days ago, the process of building a library (static or | |
| shared) | |
| with C++ can include addition steps, such as template instaniation. | |
| In libtool AR can be overrided from configure ${AR}, but ${ARFLAGS} | |
| (cru) | |
| is hardcoded into ltconfig.sh | |
| setting ${ARFLAGS} as variable (or cru if "$ARFLAGS" is empty ) actually | |
| enable | |
| building of templated C++ variables (static only yet) by overriding AR | |
| and ARFLAGS | |
| from configure. | |
| So, I attached to this messages diff, which change cru to ${ARFLAGS} in | |
| ltconfig.in (and therefore in ltconfig) | |
| Also, I think somewhere in documentation must exists the next note | |
| about | |
| Sun Solaris Workshop: | |
| /-------- | |
| When you want build libraries with implicit templates instaniated in, | |
| You must puss to ltconfig next envirowmnent variables: | |
| AR=CC | |
| ARFLAGS=$CXXFLAGS -xar -o | |
| ----------/ | |
| -- | |
| @= | |
| //RSSH | |
| mailto:Ruslan@Shevchenko.Kiev.UA | |
| CORBA in Ukraine & ex-USSR: http://www.corbadev.kiev.ua | |
| --------------E06156B73BE5D4D4AD2BF900 | |
| Content-Type: text/plain; charset=koi8-r; name="libtool.diff" | |
| Content-Transfer-Encoding: 7bit | |
| Content-Disposition: inline; filename="libtool.diff" | |
| Only in libtool-1.2-patched: Makefile | |
| Only in libtool-1.2-patched: config.cache | |
| Only in libtool-1.2-patched: config.log | |
| Only in libtool-1.2-patched: config.status | |
| Common subdirectories: libtool-1.2/demo and libtool-1.2-patched/demo | |
| Common subdirectories: libtool-1.2/doc and libtool-1.2-patched/doc | |
| Only in libtool-1.2-patched: libtool | |
| Only in libtool-1.2-patched: libtoolize | |
| diff -c libtool-1.2/ltconfig libtool-1.2-patched/ltconfig | |
| *** libtool-1.2/ltconfig Fri Mar 20 10:00:29 1998 | |
| --- libtool-1.2-patched/ltconfig Tue Oct 13 20:01:31 1998 | |
| *************** | |
| *** 89,95 **** | |
| --- 89,101 ---- | |
| with_gcc=no | |
| with_gnu_ld=no | |
| + if test "x$ARFLAGS" = x | |
| + then | |
| + ARFLAGS=cru | |
| + fi | |
| + | |
| old_AR="$AR" | |
| + old_ARFLAGS="$ARFLAGS" | |
| old_CC="$CC" | |
| old_CFLAGS="$CFLAGS" | |
| old_CPPFLAGS="$CPPFLAGS" | |
| *************** | |
| *** 320,326 **** | |
| esac | |
| # Determine commands to create old-style static archives. | |
| ! old_archive_cmds='$AR cru $oldlib$oldobjs' | |
| old_postinstall_cmds='chmod 644 $oldlib' | |
| old_postuninstall_cmds= | |
| --- 326,332 ---- | |
| esac | |
| # Determine commands to create old-style static archives. | |
| ! old_archive_cmds='$AR $ARFLAGS $oldlib$oldobjs' | |
| old_postinstall_cmds='chmod 644 $oldlib' | |
| old_postuninstall_cmds= | |
| *************** | |
| *** 732,738 **** | |
| case "$host_os" in | |
| aix3*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname' | |
| # Note: this linker hardcodes the directories in LIBPATH if there | |
| # are no directories specified by -L. | |
| hardcode_minus_L=yes | |
| --- 738,744 ---- | |
| case "$host_os" in | |
| aix3*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR $ARFLAGS $lib $objdir/$soname' | |
| # Note: this linker hardcodes the directories in LIBPATH if there | |
| # are no directories specified by -L. | |
| hardcode_minus_L=yes | |
| *************** | |
| *** 745,757 **** | |
| aix4*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname' | |
| hardcode_direct=yes | |
| hardcode_minus_L=yes | |
| ;; | |
| amigaos*) | |
| ! archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' | |
| hardcode_libdir_flag_spec='-L$libdir' | |
| hardcode_minus_L=yes | |
| ;; | |
| --- 751,763 ---- | |
| aix4*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR $ARFLAGS $lib $objdir/$soname' | |
| hardcode_direct=yes | |
| hardcode_minus_L=yes | |
| ;; | |
| amigaos*) | |
| ! archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR $ARFLAGS $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' | |
| hardcode_libdir_flag_spec='-L$libdir' | |
| hardcode_minus_L=yes | |
| ;; | |
| diff -c libtool-1.2/ltconfig.in libtool-1.2-patched/ltconfig.in | |
| *** libtool-1.2/ltconfig.in Wed Mar 11 18:10:51 1998 | |
| --- libtool-1.2-patched/ltconfig.in Tue Oct 13 20:44:56 1998 | |
| *************** | |
| *** 320,331 **** | |
| esac | |
| # Determine commands to create old-style static archives. | |
| ! old_archive_cmds='$AR cru $oldlib$oldobjs' | |
| old_postinstall_cmds='chmod 644 $oldlib' | |
| old_postuninstall_cmds= | |
| # Set a sane default for `AR'. | |
| test -z "$AR" && AR=ar | |
| # If RANLIB is not set, then run the test. | |
| if test "${RANLIB+set}" != "set"; then | |
| --- 320,332 ---- | |
| esac | |
| # Determine commands to create old-style static archives. | |
| ! old_archive_cmds='$AR $ARFLAGS $oldlib$oldobjs' | |
| old_postinstall_cmds='chmod 644 $oldlib' | |
| old_postuninstall_cmds= | |
| # Set a sane default for `AR'. | |
| test -z "$AR" && AR=ar | |
| + test -z "$ARFLAGS" && ARFLAGS=cru | |
| # If RANLIB is not set, then run the test. | |
| if test "${RANLIB+set}" != "set"; then | |
| *************** | |
| *** 732,738 **** | |
| case "$host_os" in | |
| aix3*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname' | |
| # Note: this linker hardcodes the directories in LIBPATH if there | |
| # are no directories specified by -L. | |
| hardcode_minus_L=yes | |
| --- 733,739 ---- | |
| case "$host_os" in | |
| aix3*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR $ARFLAGS $lib $objdir/$soname' | |
| # Note: this linker hardcodes the directories in LIBPATH if there | |
| # are no directories specified by -L. | |
| hardcode_minus_L=yes | |
| *************** | |
| *** 745,757 **** | |
| aix4*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname' | |
| hardcode_direct=yes | |
| hardcode_minus_L=yes | |
| ;; | |
| amigaos*) | |
| ! archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' | |
| hardcode_libdir_flag_spec='-L$libdir' | |
| hardcode_minus_L=yes | |
| ;; | |
| --- 746,758 ---- | |
| aix4*) | |
| allow_undefined_flag=unsupported | |
| ! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR $ARFLAGS $lib $objdir/$soname' | |
| hardcode_direct=yes | |
| hardcode_minus_L=yes | |
| ;; | |
| amigaos*) | |
| ! archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR $ARFLAGS $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' | |
| hardcode_libdir_flag_spec='-L$libdir' | |
| hardcode_minus_L=yes | |
| ;; | |
| Common subdirectories: libtool-1.2/tests and libtool-1.2-patched/tests | |
| --------------E06156B73BE5D4D4AD2BF900-- | |
| From nobody Wed Oct 14 16:56:33 1998 | |
| 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) | |
| X-Report-Problems-With-Moloko-To: brandon.black@wcom.com | |
| X-If-you-can-read-this-you-are-too-close: :) | |
| Date: Thu, 6 Aug 1998 15:17:11 -0500 (CDT) | |
| From: Ron Romero <ron.romero@wcom.com> | |
| Sender: rdromero@pinebilly.wcom.com | |
| Reply-To: ron.romero@wcom.com | |
| To: bug-libtool@gnu.org | |
| Subject: libtool Doesn't Export C++ Methods on AIX | |
| Message-ID: <Pine.A41.3.96.980806150532.36284A-100000@pinebilly.wcom.com> | |
| MIME-Version: 1.0 | |
| Content-Type: TEXT/PLAIN; charset=US-ASCII | |
| Xref: araguaia.dcc.unicamp.br libtool-cxx:8 | |
| Lines: 26 | |
| X-Gnus-Article-Number: 8 Wed Nov 4 08:08:35 1998 | |
| I'm trying to use libtool with C++ programs, and found that libtool | |
| wouldn't put any C++ methods into the shared library. When I looked | |
| into it, I found that the nm command used to create the export list | |
| doesn't pass a -C flag. On AIX, the -C flag says to leave C++ names | |
| mangled. Since the function names weren't mangled, the sed line | |
| didn't recognize them as functions, so they weren't put into the .exp | |
| file. I found that I could fix the problem by adding a -C flag to | |
| ac_cv_path_NM in config.guess. I suppose the configure script should | |
| check for that and do it automatically. | |
| I'm running libtool version 1.2 on an AIX 4.2 box | |
| (powerpc-ibm-aix4.2.1.0). | |
| I have some test files that I can give to anyone who wants to test | |
| this. And I can test potential fixes on my machine. | |
| Thank you, | |
| Ron Romero | |
| ron.romero@wcom.com | |
| Object Developer | |
| WorldCom, Inc. | |
| From libtool-request@gnu.org Wed Jun 9 13:20 EST 1999 | |
| Received: from grande.dcc.unicamp.br (grande.dcc.unicamp.br [143.106.7.8]) | |
| by amazonas.dcc.unicamp.br (8.8.5/8.8.5) with ESMTP id NAA03816 | |
| for <oliva@amazonas.dcc.unicamp.br>; Wed, 9 Jun 1999 13:20:28 -0300 (EST) | |
| Received: from mescaline.gnu.org (mescaline.gnu.org [158.121.106.21]) | |
| by grande.dcc.unicamp.br (8.9.1/8.9.1) with ESMTP id NAA01398 | |
| for <oliva@dcc.unicamp.br>; Wed, 9 Jun 1999 13:19:57 -0300 (EST) | |
| Received: (from slist@localhost) | |
| by mescaline.gnu.org (8.9.1a/8.9.1) id MAA06914 | |
| for oliva@dcc.unicamp.br; Wed, 9 Jun 1999 12:23:06 -0400 | |
| Received: from pen.sentuny.com.au (pen.sentuny.com.au [203.12.98.6]) | |
| by mescaline.gnu.org (8.9.1a/8.9.1) with SMTP id MAA05773 | |
| for <libtool@gnu.org>; Wed, 9 Jun 1999 12:16:37 -0400 | |
| Received: (qmail 6298 invoked by uid 1000); 9 Jun 1999 16:16:33 -0000 | |
| Received: from localhost (sendmail-bs@127.0.0.1) | |
| by localhost with SMTP; 9 Jun 1999 16:16:32 -0000 | |
| Resent-Date: Wed, 9 Jun 1999 12:23:06 -0400 | |
| Date: Thu, 10 Jun 1999 02:16:32 +1000 (EST) | |
| From: "Ron O'Hara" <rono@sentuny.com.au> | |
| To: libtool@gnu.org | |
| Subject: AIX, C++, shared multi-thread libraries and libtool | |
| X-Gnus-Mail-Source: file:/n/mail.spool/oliva | |
| Message-ID: <Pine.LNX.3.96.990610004224.22907O-100000@pen.sentuny.com.au> | |
| MIME-Version: 1.0 | |
| Resent-Message-ID: <"MVHQY2.0.OQ1.hDfNt"@mescaline.gnu.org> | |
| Resent-From: libtool@gnu.org | |
| X-Mailing-List: <libtool@gnu.org> archive/latest/1500 | |
| X-Loop: libtool@gnu.org | |
| Precedence: list | |
| Resent-Sender: libtool-request@gnu.org | |
| Content-Type: TEXT/PLAIN; charset=US-ASCII | |
| X-Content-Length: 857 | |
| Xref: saci.lsd.dcc.unicamp.br libtool-cxx:9 | |
| Lines: 28 | |
| X-Gnus-Article-Number: 9 Fri Jun 25 20:06:59 1999 | |
| AIX, C++, shared multi-thread libraries and libtool | |
| Ughh ... what a combination | |
| Anyway... it appears that for AIX4.2.1.0 creating shared libraries is very | |
| tricky. You must use the 'makeC++SharedLib_r' script that IBM supplies. | |
| Not the xlC_r compiler as libtool does. | |
| In addition, I kept getting unresolved symbols when linking against my own | |
| libraries. I needed to set 'always_export_symbols=yes' even though the | |
| -bexpall flag is supposed to fix that.. | |
| To do that I had to edit 'ltconfig.in' (about line 1262 for libtool-1.3.2) | |
| and set it always on - regardless of the host_os version. | |
| I can now get it all to link, but this is sure an ugly monster !! and the | |
| executable files are definitely HUGE | |
| ------------------------------------------------------------------ | |
| email: rono@sentuny.com.au | |
| BH: (GMT) +353 21 281469 | |
| Mobile: +61 419 873 801 | |
| From marcusd@cathcart.sysc.pdx.edu Fri Jun 18 17:46 EST 1999 | |
| Received: from grande.dcc.unicamp.br (grande.dcc.unicamp.br [143.106.7.8]) | |
| by amazonas.dcc.unicamp.br (8.8.5/8.8.5) with ESMTP id RAA19966 | |
| for <oliva@amazonas.dcc.unicamp.br>; Fri, 18 Jun 1999 17:46:53 -0300 (EST) | |
| Received: from cathcart.sysc.pdx.edu (cathcart.sysc.pdx.edu [131.252.30.67]) | |
| by grande.dcc.unicamp.br (8.9.1/8.9.1) with ESMTP id RAA20228 | |
| for <oliva@dcc.unicamp.br>; Fri, 18 Jun 1999 17:46:47 -0300 (EST) | |
| Received: (from marcusd@localhost) | |
| by cathcart.sysc.pdx.edu (8.9.3/8.9.3/Debian/GNU) id NAA30172; | |
| Fri, 18 Jun 1999 13:50:02 -0700 | |
| To: Alexandre Oliva <oliva@dcc.unicamp.br> | |
| Cc: libtool@gnu.org | |
| Subject: Re: constructors in HPUX/SOM shared libraries | |
| References: <199905161700.LAA01572@pojoaque.santafe.edu> <ord7zsc7h1.fsf@lua.lbi.dcc.unicamp.br> | |
| From: marcusd@cathcart.sysc.pdx.edu (Marcus G. Daniels) | |
| Date: 18 Jun 1999 13:50:01 -0700 | |
| In-Reply-To: Alexandre Oliva's message of "23 May 1999 09:10:18 -0300" | |
| X-Gnus-Mail-Source: file:/n/mail.spool/oliva | |
| Message-ID: <rfik8t1mdxi.fsf@cathcart.sysc.pdx.edu> | |
| User-Agent: Gnus/5.070084 (Pterodactyl Gnus v0.84) Emacs/20.3.10 | |
| MIME-Version: 1.0 | |
| Content-Type: text/plain; charset=us-ascii | |
| X-Content-Length: 1653 | |
| Xref: saci.lsd.dcc.unicamp.br libtool-cxx:10 | |
| Lines: 68 | |
| X-Gnus-Article-Number: 10 Fri Jun 25 20:06:59 1999 | |
| >>>>> "AO" == Alexandre Oliva <oliva@dcc.unicamp.br> writes: | |
| AO> IMO, the way to go is to try to use gcc -shared to create shared | |
| AO> libraries, because then gcc's collect2 will (is supposed to?) take | |
| AO> care of the magic for constructors to run. | |
| Unfortunately, it doesn't. Of course, with glibc or Solaris, a GNU | |
| as/ld equipped GCC will do the job: | |
| marcusd@cathcart[~] $ cat constructor.c | |
| void tryme (void) __attribute__ ((constructor)); | |
| void | |
| tryme (void) | |
| { | |
| printf ("constructor\n"); | |
| } | |
| marcusd@cathcart[~] $ cat test-constructor.c | |
| #include <dlfcn.h> | |
| main () | |
| { | |
| void *handle = dlopen ("./libconstructor.so", RTLD_GLOBAL | RTLD_LAZY); | |
| printf ("%p\n", handle); | |
| printf ("main\n"); | |
| } | |
| marcusd@cathcart[~] $ gcc -fPIC -c constructor.c | |
| marcusd@cathcart[~] $ gcc -shared constructor.o -o libconstructor.so | |
| marcusd@cathcart[~] $ gcc test-constructor.c -ldl | |
| marcusd@cathcart[~] $ ./a.out | |
| constructor | |
| 0x80496a8 | |
| main | |
| However, the equivalent on HPsUX fails: | |
| mgd@pajarito[~] $ cat test-constructor.c | |
| #include <dl.h> | |
| #define SHL_FLAGS (BIND_IMMEDIATE | BIND_NONFATAL | DYNAMIC_PATH) | |
| main () | |
| { | |
| shl_t handle; | |
| handle = shl_load ("./libconstructor.sl", SHL_FLAGS, 0L); | |
| printf ("%x\n", handle); | |
| printf ("main\n"); | |
| } | |
| mgd@pajarito[~] $ gcc -c -fPIC constructor.c | |
| mgd@pajarito[~] $ gcc -fPIC -shared constructor.o -o libconstructor.sl | |
| mgd@pajarito[~] $ gcc test-constructor.c -ldld | |
| mgd@pajarito[~] $ ./a.out | |
| 7b031748 | |
| main | |
| However, there is a flag to the HP linker that provides the needed | |
| feature: | |
| mgd@pajarito[~] $ gcc -Wl,+I,tryme -fPIC -shared constructor.o -o libconstructor.sl | |
| mgd@pajarito[~] $ ./a.out | |
| constructor | |
| 7b031748 | |
| main | |