Right now I've checked in the changes to use the new shared library
model called "aix-soname" I've proposed recently along bug#213277 [1].
Due to filenames staying the same but having different kind of content now,
unfortunately @preserved-rebuild will not work.
So there is no upgrade path from the previous shared library model,
and things will break badly if you update system packages, especially
those ones python depends on.
You will have to start over not earlier than tomorrow (after the mirrors got updated).
Sorry for the inconvenience, but as far as I can tell, the number of
affected users isn't so high anyway (self, Perry, Benda(still?), anyone?).
Thank you!
/haubi/
--
Michael Haubenwallner
Gentoo on a different level
02-10-2011, 08:11 PM
Perry Smith
Breaking news: Need to start over on AIX
On Feb 10, 2011, at 9:32 AM, Michael Haubenwallner wrote:
> Hi AIX users!
>
> Right now I've checked in the changes to use the new shared library
> model called "aix-soname" I've proposed recently along bug#213277 [1].
Can you tell us which version you picked? At one point you had about
five ideas you were weighing.
02-11-2011, 08:23 AM
Michael Haubenwallner
Breaking news: Need to start over on AIX
On 02/10/2011 10:11 PM, Perry Smith wrote:
> On Feb 10, 2011, at 9:32 AM, Michael Haubenwallner wrote:
>>
>> Right now I've checked in the changes to use the new shared library
>> model called "aix-soname" I've proposed recently along bug#213277 [1].
>
> Can you tell us which version you picked? At one point you had about
> five ideas you were weighing.
Ohw sorry, sure: The one I've posted at libtool mailing list[1][2] as well as
in the IBM AIX Developers forum[3], and recently to the binutils mailing list[4].
While the big agreement on that variant is still not there - maybe because of
less interest (there's not much response anywhere), I've implemented that in
Prefix now for both prove-of-concept as well as to identify possible problems.
How I prefer doing "shared libraries" with "soname" on AIX now is:
*) Create the shared object "shr.o" (using '-G' linker flag).
*) Set the LOADONLY flag for "shr.o" (using 'strip -e').
*) Create the Import File "shr.imp", containing
- this header line, being the "soname" emulation:
#! libNAME.so.1(shr.o)
- another header line telling the bits used:
# 32
or
# 64
- the list of symbols exported.
*) Create the archive library "libNAME.so.1.2.3" from both
"shr.imp" and "shr.o".
*) Create the symlinks as usual:
libNAME.so.1 -> libNAME.so.1.2.3
libNAME.so -> libNAME.so.1.2.3
*) Create the static library archive "libNAME.a" from static objects.
/haubi/
--
Michael Haubenwallner
Gentoo on a different level
Fri Feb 11 10:30:02 2011
Return-path: <redhat-list-bounces@redhat.com>
Envelope-to: tom@linux-archive.org
Delivery-date: Fri, 11 Feb 2011 10:17:33 +0200
Received: from mx3-phx2.redhat.com ([209.132.183.24]:59259)
by s2.java-tips.org with esmtp (Exim 4.69)
(envelope-from <redhat-list-bounces@redhat.com>)
id 1PnoC4-0002tD-VC
for tom@linux-archive.org; Fri, 11 Feb 2011 10:17:33 +0200
Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33])
by mx3-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p1B9KEh7004676;
Fri, 11 Feb 2011 04:20:38 -0500
Received: from int-mx12.intmail.prod.int.phx2.redhat.com
(int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id p1B9KCP0005429 for <redhat-list@listman.util.phx.redhat.com>;
Fri, 11 Feb 2011 04:20:12 -0500
Received: from mx1.redhat.com (ext-mx14.extmail.prod.ext.phx2.redhat.com
[10.5.110.19])
by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
id p1B9K751010513
for <redhat-list@redhat.com>; Fri, 11 Feb 2011 04:20:07 -0500
Received: from mail-fx0-f46.google.com (mail-fx0-f46.google.com
[209.85.161.46])
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p1B9Juhg031868
for <redhat-list@redhat.com>; Fri, 11 Feb 2011 04:19:57 -0500
Received: by fxm20 with SMTP id 20so2607178fxm.33
for <redhat-list@redhat.com>; Fri, 11 Feb 2011 01:19:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:date:message-id:subject:from:to
:content-type:content-transfer-encoding;
bh=BLzKZr3neM9WO87VpCSG5/mLB4/5rSW7/CEr74qGTDw=;
b=wrmrlEntijz6FQuoGIhC4E/meH2bKHz8SLG/KMS2i6DaRWAgv6iNsdnmmQ6XhlkLk4
25bhl/A2Dsm7kkAc995t3jBeixFb+BerxLQMUA3KtjYhNgqwTnFNKITT sm7pHn6tCXBV
12Zqr8nSrCNu40rRLJ+2aqo/umTC8n17trLuo=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
h=mime-version:date:message-id:subject:from:to:content-type
:content-transfer-encoding;
b=CcDhotgcbNKMulJbOPWysP7RnzuREHfDtRX6KerPFmgyBIxM mYhr70YaJ1bd7LxyOz
pdJHd8NxbdEt7hvqyJOi6dZgzyd3fnT5VEFEEwqicSSpRjr8gX aAHFi0ulFTVwS2KDqH
25KAS36lqkS0qFxzt/EWwLMimjcGigQTOTwoM=
MIME-Version: 1.0
Received: by 10.223.83.6 with SMTP id d6mr279938fal.95.1297415995443; Fri, 11
Feb 2011 01:19:55 -0800 (PST)
Received: by 10.223.112.133 with HTTP; Fri, 11 Feb 2011 01:19:55 -0800 (PST)
Date: Fri, 11 Feb 2011 10:19:55 +0100
Message-ID: <AANLkTinkhWhpcO695U2gQhQF7wp9NWVnnejc69HeCdkW@mai l.gmail.com>
Subject: Re: Is the default red hat 5.4 NFS server multithreaded? (was:
redhat-list Digest, Vol 84, Issue 10)
From: =?UTF-8?B?KEltZWQgQ2hpaGkpINi52YXYp9ivINin2YTYtNmK2K3Zig ==?=
<imed.chihi@gmail.com>
To: redhat-list@redhat.com
X-RedHat-Spam-Score: -0.789 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU,
FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_TO_NO_BRKTS_FREEMAIL)
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25
X-Scanned-By: MIMEDefang 2.68 on 10.5.110.19
X-MIME-Autoconverted: from quoted-printable to 8bit by
lists01.pubmisc.prod.ext.phx2.redhat.com id p1B9KCP0005429
X-loop: redhat-list@redhat.com
X-BeenThere: redhat-list@redhat.com
X-Mailman-Version: 2.1.12
Precedence: junk
Reply-To: General Red Hat Linux discussion list <redhat-list@redhat.com>
List-Id: General Red Hat Linux discussion list <redhat-list.redhat.com>
List-Unsubscribe: <https://www.redhat.com/mailman/options/redhat-list>,
<mailto:redhat-list-request@redhat.com?subject=unsubscribe>
List-Archive: <https://www.redhat.com/archives/redhat-list>
List-Post: <mailto:redhat-list@redhat.com>
List-Help: <mailto:redhat-list-request@redhat.com?subject=help>
List-Subscribe: <https://www.redhat.com/mailman/listinfo/redhat-list>,
<mailto:redhat-list-request@redhat.com?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: redhat-list-bounces@redhat.com
Errors-To: redhat-list-bounces@redhat.com
On Feb 11, 2011, at 3:23 AM, Michael Haubenwallner wrote:
>
> On 02/10/2011 10:11 PM, Perry Smith wrote:
>> On Feb 10, 2011, at 9:32 AM, Michael Haubenwallner wrote:
>>>
>>> Right now I've checked in the changes to use the new shared library
>>> model called "aix-soname" I've proposed recently along bug#213277 [1].
>>
>> Can you tell us which version you picked? At one point you had about
>> five ideas you were weighing.
>
> Ohw sorry, sure: The one I've posted at libtool mailing list[1][2] as well as
> in the IBM AIX Developers forum[3], and recently to the binutils mailing list[4].
> While the big agreement on that variant is still not there - maybe because of
> less interest (there's not much response anywhere), I've implemented that in
> Prefix now for both prove-of-concept as well as to identify possible problems.
>
> How I prefer doing "shared libraries" with "soname" on AIX now is:
>
> *) Create the shared object "shr.o" (using '-G' linker flag).
> *) Set the LOADONLY flag for "shr.o" (using 'strip -e').
> *) Create the Import File "shr.imp", containing
> - this header line, being the "soname" emulation:
> #! libNAME.so.1(shr.o)
> - another header line telling the bits used:
> # 32
> or
> # 64
> - the list of symbols exported.
> *) Create the archive library "libNAME.so.1.2.3" from both
> "shr.imp" and "shr.o".
> *) Create the symlinks as usual:
> libNAME.so.1 -> libNAME.so.1.2.3
> libNAME.so -> libNAME.so.1.2.3
> *) Create the static library archive "libNAME.a" from static objects.
Do you recall the advantage of having a import file plus the shared
object in the archive? What problem does that solve that having
just the shared object creates?
Perry
02-21-2011, 03:29 PM
Michael Haubenwallner
Breaking news: Need to start over on AIX
On 02/13/2011 04:04 PM, Perry Smith wrote:
> On Feb 11, 2011, at 3:23 AM, Michael Haubenwallner wrote:
>>
>> How I prefer doing "shared libraries" with "soname" on AIX now is:
>>
>> *) Create the shared object "shr.o" (using '-G' linker flag).
>> *) Set the LOADONLY flag for "shr.o" (using 'strip -e').
>> *) Create the Import File "shr.imp", containing
>> - this header line, being the "soname" emulation:
>> #! libNAME.so.1(shr.o)
>> - another header line telling the bits used:
>> # 32
>> or
>> # 64
>> - the list of symbols exported.
>> *) Create the archive library "libNAME.so.1.2.3" from both
>> "shr.imp" and "shr.o".
>> *) Create the symlinks as usual:
>> libNAME.so.1 -> libNAME.so.1.2.3
>> libNAME.so -> libNAME.so.1.2.3
>> *) Create the static library archive "libNAME.a" from static objects.
>
> Do you recall the advantage of having a import file plus the shared
> object in the archive? What problem does that solve that having
> just the shared object creates?
Actually I've used to do standalone both Import File libNAME.so and
shared object libNAME.so.1 - which indeed did work for Prefix so far.
However, to get a better chance for upstream integration - especially
into libtool, I've had to look at the Big Picture:
*) Multilib:
Using an archive, it is possible to provide both 32/64 bit shared
objects within one single file - much like AIX libc.a and others do.
We don't do multilib in Prefix.
*) Dynamically load both with and without version number:
dlopen("libNAME.so(shr.o)", RTLD_MEMBER), besides the preferred
dlopen("libNAME.so.1(shr.o)", RTLD_MEMBER), and even
dlopen("libNAME.so.1.2.3(shr.o)", RTLD_MEMBER) does work.
Must admit that I've not seen a package I've built on AIX so far
where this actually is necessary.
*) All-in-one file to call "shared library (with soname)":
This is necessary to allow wrapping the linker to support the '-soname' linker
flag, so existing packages without explicit AIX build support can work right
out of the box. This even includes those symlinks known from ELF-world.
For Prefix this does help a lot as sys-devel/native-cctools provides this
ld-wrapper now: I've been able to drop *all* AIX-specific patches and
handling from within app-arch/bzip2-1.0.6-r1 now.
These (and more) reasons are also listed in libtool-list archives:
http://lists.gnu.org/archive/html/libtool/2011-01/msg00023.html
http://lists.gnu.org/archive/html/libtool/2011-02/msg00000.html
/haubi/
--
Michael Haubenwallner
Gentoo on a different level