From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17979 invoked by alias); 12 May 2009 17:54:35 -0000 Received: (qmail 17953 invoked by uid 22791); 12 May 2009 17:54:34 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 May 2009 17:54:29 +0000 Received: from spaceape7.eur.corp.google.com (spaceape7.eur.corp.google.com [172.28.16.141]) by smtp-out.google.com with ESMTP id n4CHsILM007256; Tue, 12 May 2009 10:54:19 -0700 Received: from smtp.corp.google.com (spacemonkey1.corp.google.com [192.168.120.115]) by spaceape7.eur.corp.google.com with ESMTP id n4CHsEIC011203 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 12 May 2009 10:54:15 -0700 Received: from localhost.localdomain.google.com (adsl-71-133-8-30.dsl.pltn13.pacbell.net [71.133.8.30]) (authenticated bits=0) by smtp.corp.google.com (8.13.8/8.13.8) with ESMTP id n4CHsC3l001552 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 12 May 2009 10:54:13 -0700 To: Roberto Bagnara Cc: janis187@us.ibm.com, gcc@gcc.gnu.org, "The Parma Polyhedra Library developers' list" Subject: Re: Graphite build fails if PPL configured with --disable-shared References: <1242072864.6516.18.camel@janis-laptop> <4A09A801.8070702@cs.unipr.it> From: Ian Lance Taylor Date: Tue, 12 May 2009 18:05:00 -0000 In-Reply-To: <4A09A801.8070702@cs.unipr.it> (Roberto Bagnara's message of "Tue\, 12 May 2009 18\:46\:57 +0200") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-System-Of-Record: true 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: 2009-05/txt/msg00311.txt.bz2 Roberto Bagnara writes: > Janis Johnson wrote: >> On Mon, 2009-05-11 at 13:07 -0700, Ian Lance Taylor wrote: >>> Another Graphite build issue: it appears that I must not use >>> --disable-shared when I configure PPL. If I do use --disable-shared, I >>> get this: >>> >>> /home/iant/gnu/ppl-0.10.2-install/lib/libppl_c.a(ppl_c_implementation_common.o): In function `finalize': >>> /home/iant/gnu/ppl-0.10.2/interfaces/C/../../src/ppl.hh:1842: undefined reference to `operator delete(void*)' >>> >>> followed by thousands of similar errors. This is unfortunate, as it >>> means that I must manually set LD_LIBRARY_PATH to the directory where >>> the PPL library is installed. This also makes it harder for anybody >>> else to run the compiler that I build. This needs to be fixed. >> >> I get around this by setting LDFLAGS for the ppl configure: >> >> LDFLAGS="-static" \ >> ./configure \ >> --prefix=$PREFIX \ >> --build=powerpc-linux \ >> --with-gnu-ld \ >> --with-libgmp-prefix=$PREFIX \ >> --with-libgmpxx-prefix=$PREFIX \ >> --disable-shared > > I am not sure I understand: we trust that Libtool, which provides us > with the --disable-shared option, will do the right thing. And it > seems it does here: the static library is built and passes its checks. > > Perhaps you want something different from what --disable-shared promises, > that is, not to build any shared libraries? > >> I copy libstdc++.a into the directory with the other GCC host >> libraries (gmp/mpfr/ppl/cloog/mpc). >> >> Building these libraries is indeed quite painful. > > Any suggestion about how to improve the PPL is welcome. This, of course, > applies also to the build machinery. I don't think this is a problem with PPL. The problem is that PPL uses libstdc++ and gcc does not. Thus, linking against PPL configured with --disable-shared requires also linking against libstdc++. That is the part which needs to be improved when using gcc with PPL. We have ways to do it, but they are not good ways, and they are not documented on the Graphite_build wiki page. Ian