From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28890 invoked by alias); 18 Oct 2011 15:00:18 -0000 Received: (qmail 28860 invoked by uid 22791); 18 Oct 2011 15:00:15 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-iy0-f175.google.com (HELO mail-iy0-f175.google.com) (209.85.210.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 18 Oct 2011 14:59:57 +0000 Received: by iafi7 with SMTP id i7so895982iaf.20 for ; Tue, 18 Oct 2011 07:59:56 -0700 (PDT) MIME-Version: 1.0 Received: by 10.43.132.4 with SMTP id hs4mr5175075icc.57.1318949996918; Tue, 18 Oct 2011 07:59:56 -0700 (PDT) Received: by 10.182.85.104 with HTTP; Tue, 18 Oct 2011 07:59:56 -0700 (PDT) In-Reply-To: References: Date: Tue, 18 Oct 2011 15:37:00 -0000 Message-ID: Subject: Re: AIX library issues From: David Edelsohn To: Perry Smith Cc: gcc@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2011-10/txt/msg00276.txt.bz2 On Mon, Oct 17, 2011 at 10:05 PM, Perry Smith wrote: > dump -H libstdc++.so.6 > > ./powerpc-ibm-aix6.1.0.0/libstdc++-v3/src/.libs/libstdc++.so.6.orig: > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0***Loader Section*** > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Loader Header Information > VERSION# =A0 =A0 =A0 =A0 #SYMtableENT =A0 =A0 #RELOCent =A0 =A0 =A0 =A0LE= NidSTR > 0x00000001 =A0 =A0 =A0 0x00000fe0 =A0 =A0 =A0 0x000033b6 =A0 =A0 =A0 0x00= 0000da > > #IMPfilID =A0 =A0 =A0 =A0OFFidSTR =A0 =A0 =A0 =A0 LENstrTBL =A0 =A0 =A0 = =A0OFFstrTBL > 0x00000003 =A0 =A0 =A0 0x0003e9a8 =A0 =A0 =A0 0x0002dec7 =A0 =A0 =A0 0x00= 03ea82 > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0***Import File Strings*** > INDEX =A0PATH =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0BASE =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0MEMBER > 0 =A0 =A0 =A0/usr/work/build/gcc-4.5.2/powerpc-ibm-aix6.1.0.0/libstdc++-v= 3/src:/usr/work/build/gcc-4.5.2/powerpc-ibm-aix6.1.0.0/libstdc++-v3/src/.li= bs:/usr/work/build/gcc-4.5.2/./gcc:/usr/lib:/lib > 1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= libc.a =A0 =A0 =A0 =A0 =A0 =A0 =A0shr.o > 2 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= libgcc_s.a =A0 =A0 =A0 =A0 =A0shr.o > > What this is telling us is that libstdc++.so.6 needs libc.a(shr.o) and > libgcc_s.a(shr.o) and it is also telling us that when libc.a(shr.o) > and libgcc_s.a(shr.o) is needed at run time, the list of places > searched is the list of directories listed in entry 0. =A0But the list > is the list of where the library is built -- not where it (or more > importantly where libgcc_s.a) will be installed. =A0When I configured > and built this gcc, prefix path was set to > /gsa/ausgsa/projects/r/ruby. > > Here are the first few lines of my config.log: > > =A0/usr/work/src/gcc-4.5.2/configure --prefix=3D/gsa/ausgsa/projects/r/ru= by --with-gmp=3D/gsa/ausgsa/projects/r/ruby --with-mpfr=3D/gsa/ausgsa/proje= cts/r/ruby --with-mpc=3D/gsa/ausgsa/projects/r/ruby --disable-nls --enable-= threads=3Daix --with-libiconv-prefix=3D/usr --enable-languages=3Dc,c++ AIX inserts the list of libraries provided with -L options on the link command line into the default search path. If you want, you can edit libtool created for libstdc++ to add -Wl,-blibpath:/gsa/ausgsa/projects/r/ruby/lib:/usr/lib:/lib and relink libstdc++ (or edit the path in the shared object header directly). - David