Received: (at 9316) by debbugs.gnu.org; 20 Aug 2011 14:05:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 20 10:05:51 2011 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1QumBJ-00040p-Ro for submit <at> debbugs.gnu.org; Sat, 20 Aug 2011 10:05:51 -0400 Received: from pogma.xen.prgmr.com ([68.68.97.8]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <peter@HIDDEN>) id 1Quch2-0005Do-HG for 9316 <at> debbugs.gnu.org; Fri, 19 Aug 2011 23:57:58 -0400 Received: from [10.0.0.48] (24-117-47-218.cpe.cableone.net [24.117.47.218]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by pogma.xen.prgmr.com (Postfix) with ESMTP id 7FA8DBF5E2; Sat, 20 Aug 2011 03:55:46 +0000 (UTC) X-DKIM: Sendmail DKIM Filter v2.8.3 pogma.xen.prgmr.com 7FA8DBF5E2 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=pogma.com; s=pogmail; t=1313812546; bh=G2U+Ev6gcrXmPmgejvHkvwM0Dkn1cC+OpzaPsXf4VIM=; h=References:In-Reply-To:Mime-Version:Content-Type:Message-Id: Content-Transfer-Encoding:Cc:From:Subject:Date:To; b=Kamn2Zp8kk+90UG6YaMchqQ3Sa/O8gaLjzJ2EFnDUih+KakwmA20clBLOJmEj10jm H2QnimQ78GQ9ekXqSVIl01wkAJqrroEsYZU07Ccngu8O841Z/fCVR886ZTbhVE5RxH 7/84IszrCLLbJ5K6DjiwkFJIXUl4wMC5GGRFn2ks= References: <1313618306.10853.140258130791573@HIDDEN> In-Reply-To: <1313618306.10853.140258130791573@HIDDEN> Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii Message-Id: <B421A6DB-DDF3-480C-AB36-BBDE9E675A79@HIDDEN> Content-Transfer-Encoding: quoted-printable From: Peter O'Gorman <peter@HIDDEN> Subject: Re: bug#9316: AIX and JNI: *.so versus *.a Date: Fri, 19 Aug 2011 22:55:45 -0500 To: Daniel Richard G. <skunk@HIDDEN> X-Mailer: Apple Mail (2.1082) X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 9316 X-Mailman-Approved-At: Sat, 20 Aug 2011 10:05:48 -0400 Cc: 9316 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.6 (--) On Aug 17, 2011, at 4:58 PM, Daniel Richard G. wrote: > Hello, >=20 > I am using Libtool 2.4 to build Java JNI modules on AIX. Hi, If you add -Wl,-brtl to LDFLAGS at configure time, libtool will build = plain .so's Peter >=20 > I've noticed that on AIX, a shared library is initially built as an = .so > file via "gcc -shared", but then this .so is packed up into an .a file > using ar(1). This is the case even if -export-dynamic -module is > specified. >=20 > When I go to use these JNI modules, however, the JRE makes very clear > that it doesn't like .a files: >=20 > Exception in thread "main" java.lang.UnsatisfiedLinkError: jni_test ( = 0509-022 Cannot load module /tmp/jni/libjni_test.a. > 0509-103 The module has an invalid magic number.) > at = java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:994) > at = java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:958) > at java.lang.System.loadLibrary(System.java:453) > at com.example.jnitest.JniTest.<clinit>(JniTest.java:21) > at java.lang.J9VMInternals.initializeImpl(Native Method) > at java.lang.J9VMInternals.initialize(J9VMInternals.java:196) > at JniTest.main(JniTest.java:56) >=20 > If I extract the .so files from the .a files, however, the JRE happily > uses those. Currently, I am using an install-exec-hook rule to perform > this step during "make install". There does not appear to be a Libtool > option to skip the use of ar(1), which would be a preferable approach. >=20 >=20 > --Daniel >=20 >=20 > --=20 > NAME =3D Daniel Richard G. _\|/_ Remember, skunks > MAIL =3D skunk@HIDDEN (/o|o\) _- don't smell bad--- > MAIL+=3D skunk@HIDDEN < (^),> it's the people who > WWW =3D (not there yet!) / \ annoy us that do! >=20 >=20 >=20 > _______________________________________________ > Bug-libtool mailing list > Bug-libtool@HIDDEN > https://lists.gnu.org/mailman/listinfo/bug-libtool >=20 -- Peter O'Gorman http://pogma.com
owner <at> debbugs.gnu.org, bug-libtool@HIDDEN:bug#9316; Package libtool.
Full text available.
Received: (at 9316) by debbugs.gnu.org; 20 Aug 2011 04:25:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 20 00:25:30 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.69)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1Qud7h-0007A2-Kf
for submit <at> debbugs.gnu.org; Sat, 20 Aug 2011 00:25:30 -0400
Received: from out2.smtp.messagingengine.com ([66.111.4.26])
by debbugs.gnu.org with esmtp (Exim 4.69)
(envelope-from <skunk@HIDDEN>) id 1Qud7e-00079q-Fl
for 9316 <at> debbugs.gnu.org; Sat, 20 Aug 2011 00:25:27 -0400
Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43])
by gateway1.messagingengine.com (Postfix) with ESMTP id 93F9820C73;
Sat, 20 Aug 2011 00:23:17 -0400 (EDT)
Received: from web2.messagingengine.com ([10.202.2.212])
by compute3.internal (MEProxy); Sat, 20 Aug 2011 00:23:17 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
messagingengine.com; h=message-id:from:to:cc:mime-version
:content-transfer-encoding:content-type:references:subject
:in-reply-to:date; s=smtpout; bh=Bg0Mtb6IbbX1LkdZXiIyKzzLuWM=; b=
oW9qL6ogcmWIjfasjicfVfzzX3BfvQ7We9W/wFOhD+7AQ9yVvvNSqW4jNrO47PC4
UDeDP1BCz1j4D3zt7E1L1nCORhJcCYjlGkUkRs+DNeQ59nhIluNv1yj6ZRfJQzIa
Vh7eqRO3n0p7cfU57uoQ2w9Dzle28ooe4ZuuJ/1Q5aY=
Received: by web2.messagingengine.com (Postfix, from userid 99)
id 6BE5C32005D; Sat, 20 Aug 2011 00:23:17 -0400 (EDT)
Message-Id: <1313814197.23567.140258131704837@HIDDEN>
X-Sasl-Enc: q2ngQKRk/J44VYYh+Qw6cyefNTtwNLI24trCbCrtXe8Y 1313814197
From: "Daniel Richard G." <skunk@HIDDEN>
To: "Peter O'Gorman" <peter@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
X-Mailer: MessagingEngine.com Webmail Interface
References: <1313618306.10853.140258130791573@HIDDEN>
<B421A6DB-DDF3-480C-AB36-BBDE9E675A79@HIDDEN>
Subject: Re: bug#9316: AIX and JNI: *.so versus *.a
In-Reply-To: <B421A6DB-DDF3-480C-AB36-BBDE9E675A79@HIDDEN>
Date: Sat, 20 Aug 2011 00:23:17 -0400
X-Spam-Score: -4.8 (----)
X-Debbugs-Envelope-To: 9316
Cc: 9316 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -4.8 (----)
On Fri, 2011 Aug 19 22:55-0500, Peter O'Gorman wrote:
>
> If you add -Wl,-brtl to LDFLAGS at configure time, libtool will build
> plain .so's
Interesting. This bit from doc/notes.txt in the Libtool source
distribution seems relevant:
* On AIX there are two different styles of shared linking, one in
which symbols are bound at link-time and one in which symbols are
bound at runtime only, similar to ELF. In case of doubt use
`LDFLAGS=-Wl,-brtl' for the latter style.
Why isn't Libtool itself already adding this flag when -module is
specified?
owner <at> debbugs.gnu.org, bug-libtool@HIDDEN:bug#9316; Package libtool.
Full text available.
Received: (at submit) by debbugs.gnu.org; 17 Aug 2011 22:00:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 17 18:00:33 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.69)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1QtoA4-0001ej-BD
for submit <at> debbugs.gnu.org; Wed, 17 Aug 2011 18:00:33 -0400
Received: from eggs.gnu.org ([140.186.70.92])
by debbugs.gnu.org with esmtp (Exim 4.69)
(envelope-from <skunk@HIDDEN>) id 1QtoA0-0001c7-1i
for submit <at> debbugs.gnu.org; Wed, 17 Aug 2011 18:00:29 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Qto87-0006dU-P7
for submit <at> debbugs.gnu.org; Wed, 17 Aug 2011 17:58:32 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,
T_DKIM_INVALID autolearn=unavailable version=3.3.1
Received: from lists.gnu.org ([140.186.70.17]:43783)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Qto87-0006dQ-Nh
for submit <at> debbugs.gnu.org; Wed, 17 Aug 2011 17:58:31 -0400
Received: from eggs.gnu.org ([140.186.70.92]:56794)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Qto86-0001V1-Rx
for bug-libtool@HIDDEN; Wed, 17 Aug 2011 17:58:31 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Qto85-0006d6-CR
for bug-libtool@HIDDEN; Wed, 17 Aug 2011 17:58:30 -0400
Received: from out2.smtp.messagingengine.com ([66.111.4.26]:51790)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Qto85-0006cM-49
for bug-libtool@HIDDEN; Wed, 17 Aug 2011 17:58:29 -0400
Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41])
by gateway1.messagingengine.com (Postfix) with ESMTP id EB33921989
for <bug-libtool@HIDDEN>; Wed, 17 Aug 2011 17:58:26 -0400 (EDT)
Received: from web2.messagingengine.com ([10.202.2.212])
by compute1.internal (MEProxy); Wed, 17 Aug 2011 17:58:26 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
messagingengine.com; h=message-id:from:to:mime-version
:content-transfer-encoding:content-type:subject:date; s=smtpout;
bh=HaPD4OE5AWiqednAUiEFDfcypqo=; b=ZjJPNa1Ym1T/BP37kmLuIpDMNfyK
zRpW0gnBwWxrgQ6laU6EQHN9gcPD4W4cR4EO7PkHUlKjjzREAKh/649xc5D4yzNU
ItoCuUUOKBKqbSK9Glias1zwxHpiNVQ7+Aywnda4NMzBIf9ObnkVP2JxPDggU6Wl
p5TLuvR88m3unwo=
Received: by web2.messagingengine.com (Postfix, from userid 99)
id CB6433056EB; Wed, 17 Aug 2011 17:58:26 -0400 (EDT)
Message-Id: <1313618306.10853.140258130791573@HIDDEN>
X-Sasl-Enc: Kz0dDGnl61ssO8JtMjT9FZi0lGPcVpumLXN/ELMav0Ev 1313618306
From: "Daniel Richard G." <skunk@HIDDEN>
To: bug-libtool@HIDDEN
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
X-Mailer: MessagingEngine.com Webmail Interface
Subject: AIX and JNI: *.so versus *.a
Date: Wed, 17 Aug 2011 17:58:26 -0400
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 140.186.70.17
X-Spam-Score: -6.2 (------)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.3 (------)
Hello,
I am using Libtool 2.4 to build Java JNI modules on AIX.
I've noticed that on AIX, a shared library is initially built as an .so
file via "gcc -shared", but then this .so is packed up into an .a file
using ar(1). This is the case even if -export-dynamic -module is
specified.
When I go to use these JNI modules, however, the JRE makes very clear
that it doesn't like .a files:
Exception in thread "main" java.lang.UnsatisfiedLinkError: jni_test ( 0509-022 Cannot load module /tmp/jni/libjni_test.a.
0509-103 The module has an invalid magic number.)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:994)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:958)
at java.lang.System.loadLibrary(System.java:453)
at com.example.jnitest.JniTest.<clinit>(JniTest.java:21)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:196)
at JniTest.main(JniTest.java:56)
If I extract the .so files from the .a files, however, the JRE happily
uses those. Currently, I am using an install-exec-hook rule to perform
this step during "make install". There does not appear to be a Libtool
option to skip the use of ar(1), which would be a preferable approach.
--Daniel
--
NAME = Daniel Richard G. _\|/_ Remember, skunks
MAIL = skunk@HIDDEN (/o|o\) _- don't smell bad---
MAIL+= skunk@HIDDEN < (^),> it's the people who
WWW = (not there yet!) / \ annoy us that do!
"Daniel Richard G." <skunk@HIDDEN>:bug-libtool@HIDDEN.
Full text available.owner <at> debbugs.gnu.org, bug-libtool@HIDDEN:bug#9316; Package libtool.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.