* Minimum GMP/MPFR version bumps for GCC-4.5
@ 2009-03-26 22:52 Kaveh R. Ghazi
2009-03-27 0:01 ` Steven Bosscher
0 siblings, 1 reply; 23+ messages in thread
From: Kaveh R. Ghazi @ 2009-03-26 22:52 UTC (permalink / raw)
To: gcc
Hi,
I'd like to open the issue of minimum GMP/MPFR versions for gcc-4.5. We
currently require gmp-4.1 and mpfr-2.3.0 to build GCC.
Part of my motivation is that MPC requires more recent versions of these
packages. But also older GMP/MPFR have known bugs and I'd like to encourage
upgrading to less ancient versions. E.g. on x86_64-unknown-linux-gnu, you
can't even build gmp-4.1.1, it gets some kids of assembler error midway
through.
So I'd like to bump the minimum required GMP version to 4.2. According to
the datestamps in http://ftp.gnu.org/gnu/gmp/ the 4.2.0 package has been out
since at least March 2006. It usually takes a year to release GCC so by the
time gcc-4.5 is out, gmp-4.2.x will have been available for four years.
I'd like to bump MPFR from 2.3.0 to 2.3.1. There are several bugs in the
2.3.0 release that are exposed by the way MPC uses MPFR. Upgrading to
version 2.3.1 fixes these issues. MPFR 2.3.0 was released in sept 2007, the
2.3.1 release was available 5 months later in Jan 2008. So by the time
gcc-4.5 is out, it will have been released for at least two years.
If there are no objections, I'll create a patch.
Thanks,
--Kaveh
--
Kaveh R. Ghazi
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-26 22:52 Minimum GMP/MPFR version bumps for GCC-4.5 Kaveh R. Ghazi
@ 2009-03-27 0:01 ` Steven Bosscher
2009-03-27 0:11 ` Kaveh R. Ghazi
2009-03-27 21:27 ` Toon Moene
0 siblings, 2 replies; 23+ messages in thread
From: Steven Bosscher @ 2009-03-27 0:01 UTC (permalink / raw)
To: Kaveh R. Ghazi; +Cc: gcc
On Thu, Mar 26, 2009 at 10:39 PM, Kaveh R. Ghazi <ghazi@caip.rutgers.edu> wrote:
> If there are no objections, I'll create a patch.
Pffff... for those of us who just install the latest-and-greatest
fedora/suse/ubuntu/... once and don't change installations for two or
three years (stable machine, etc.) it becomes increasingly harder to
install all required libraries to build GCC...
Is this really necessary? Do those bugs you speak about actually
cause trouble for GCC if you make it use MPC (which I'm also not too
happy about, fwiw)?
Ciao!
Steven
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 0:01 ` Steven Bosscher
@ 2009-03-27 0:11 ` Kaveh R. Ghazi
2009-03-27 3:10 ` Tim Prince
2009-03-27 21:27 ` Toon Moene
1 sibling, 1 reply; 23+ messages in thread
From: Kaveh R. Ghazi @ 2009-03-27 0:11 UTC (permalink / raw)
To: Steven Bosscher; +Cc: gcc
From: "Steven Bosscher" <stevenb.gcc@gmail.com>
> On Thu, Mar 26, 2009 at 10:39 PM, Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
> wrote:
>> If there are no objections, I'll create a patch.
>
> Pffff... for those of us who just install the latest-and-greatest
> fedora/suse/ubuntu/... once and don't change installations for two or
> three years (stable machine, etc.) it becomes increasingly harder to
> install all required libraries to build GCC...
Since GMP-4.2 is three years old, I had hoped it wouldn't be controversial.
I can see more of a case for mpfr-2.3.1 being too recent, but it's really
just a micro version bump over what we require now. I just checked and
ubuntu (v8.10) seems to offer gmp-4.2.2 and mpfr-2.3.2 through it's package
manager. What versions of GMP/MPFR do you get on your typical development
box and how old are your distros?
> Is this really necessary? Do those bugs you speak about actually
> cause trouble for GCC if you make it use MPC (which I'm also not too
> happy about, fwiw)?
I don't know if you can expose these particular bugs through GCC. The issue
is that you can definitely see them in MPC through MPC testsuite failures if
you e.g. build MPC with mpfr-2.3.0. So MPC has a minimum MPFR version
requirement that it checks for during it's own configure time. I don't
think it's fair to ask MPC to lower its configure checks for building if
real bugs show up in their testsuite. We could keep lower GMP/MPFR version
requirements in GCC, but if we hard-require MPC then it's kind of moot cause
you'd have to get/build MPC somehow.
I'm still open to making MPC optional for a transition period. But others
have argued for making it hard-required. There are certainly valid reasons
both ways IMHO. But I think that's something for another thread. My hope
is that these version upgrades are reasonably simple.
--Kaveh
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 0:11 ` Kaveh R. Ghazi
@ 2009-03-27 3:10 ` Tim Prince
2009-03-27 9:12 ` Joel Sherrill
0 siblings, 1 reply; 23+ messages in thread
From: Tim Prince @ 2009-03-27 3:10 UTC (permalink / raw)
To: Kaveh R. Ghazi; +Cc: Steven Bosscher, gcc
Kaveh R. Ghazi wrote:
> What versions of GMP/MPFR do you get on
> your typical development box and how old are your distros?
>
OpenSuSE 10.3 (originally released Oct. 07):
gmp-devel-4.2.1-58
gmp-devel-32bit-4.2.1-58
mpfr-2.2.1-45
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 3:10 ` Tim Prince
@ 2009-03-27 9:12 ` Joel Sherrill
2009-03-27 12:24 ` Joe Buck
0 siblings, 1 reply; 23+ messages in thread
From: Joel Sherrill @ 2009-03-27 9:12 UTC (permalink / raw)
To: tprince; +Cc: Kaveh R. Ghazi, Steven Bosscher, gcc
Tim Prince wrote:
> Kaveh R. Ghazi wrote:
>
>
>> What versions of GMP/MPFR do you get on
>> your typical development box and how old are your distros?
>>
>>
For the RTEMS Project machines we try to stay
on fairly recent Fedora versions. All our internal GCC
test machines are Fedora 9 or 10 and 10 has this:
gmp-devel-4.2.2-8.fc10.i386
gmp-4.2.2-8.fc10.i386
mpfr-2.3.2-1.fc10.i386
Fedora 9 has:
gmp-devel-4.2.2-7.fc9.x86_64
gmp-4.2.2-7.fc9.x86_64
mpfr-2.3.1-1.fc9.x86_64
Fedora 9 was released in May 2008.
--joel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 9:12 ` Joel Sherrill
@ 2009-03-27 12:24 ` Joe Buck
2009-03-27 12:38 ` Ralf Corsepius
2009-03-27 19:06 ` Kaveh Ghazi
0 siblings, 2 replies; 23+ messages in thread
From: Joe Buck @ 2009-03-27 12:24 UTC (permalink / raw)
To: Joel Sherrill; +Cc: tprince, Kaveh R. Ghazi, Steven Bosscher, gcc
On Thu, Mar 26, 2009 at 05:11:04PM -0700, Joel Sherrill wrote:
> Tim Prince wrote:
> > Kaveh R. Ghazi wrote:
> >
> >
> >> What versions of GMP/MPFR do you get on
> >> your typical development box and how old are your distros?
> >>
> >>
> For the RTEMS Project machines we try to stay
> on fairly recent Fedora versions. All our internal GCC
> test machines are Fedora 9 or 10 and 10 has this:
>
> gmp-devel-4.2.2-8.fc10.i386
> gmp-4.2.2-8.fc10.i386
> mpfr-2.3.2-1.fc10.i386
>
> Fedora 9 has:
> gmp-devel-4.2.2-7.fc9.x86_64
> gmp-4.2.2-7.fc9.x86_64
> mpfr-2.3.1-1.fc9.x86_64
>
> Fedora 9 was released in May 2008.
Debian stable, and Ubuntu Hardy (most recent LTS release) have 2.3.1.
Same with OpenSUSE 11.0. So I think 2.3.1 is typical of current stable
releases; Fedora tends to be bleeding edge and not typical.
I still have to deal with older distros (e.g. RHEL 4), but it's
already necessary to use newer gmp and gas versions, as well as a newer
mpfr version, in that case.
I do see that FreeBSD Ports has mpfr 2.4.1. How advanced of them.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 12:24 ` Joe Buck
@ 2009-03-27 12:38 ` Ralf Corsepius
2009-03-29 22:47 ` Gerald Pfeifer
2009-03-27 19:06 ` Kaveh Ghazi
1 sibling, 1 reply; 23+ messages in thread
From: Ralf Corsepius @ 2009-03-27 12:38 UTC (permalink / raw)
To: Joe Buck; +Cc: Joel Sherrill, tprince, Kaveh R. Ghazi, Steven Bosscher, gcc
Joe Buck wrote:
> On Thu, Mar 26, 2009 at 05:11:04PM -0700, Joel Sherrill wrote:
>> Tim Prince wrote:
>>> Kaveh R. Ghazi wrote:
>>>
>>>
>>>> What versions of GMP/MPFR do you get on
>>>> your typical development box and how old are your distros?
>>>>
>>>>
>> For the RTEMS Project machines we try to stay
>> on fairly recent Fedora versions.
> I still have to deal with older distros (e.g. RHEL 4), but it's
> already necessary to use newer gmp and gas versions, as well as a newer
> mpfr version, in that case.
For the RTEMS's toolchain packages on such "stagnating OSes", we
resort to bundling "sufficiently recent enough" mpfr/gmp-source tarballs
with the GCC-sources and building them "in-GCC-source-tree" instead of
using the host provided system-libs.
One ends up with GCC being statically linked against these libmpfr/gmp's
on such OSes.
> I do see that FreeBSD Ports has mpfr 2.4.1. How advanced of them.
Amazing :-()
Ralf
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 12:24 ` Joe Buck
2009-03-27 12:38 ` Ralf Corsepius
@ 2009-03-27 19:06 ` Kaveh Ghazi
1 sibling, 0 replies; 23+ messages in thread
From: Kaveh Ghazi @ 2009-03-27 19:06 UTC (permalink / raw)
To: Joe Buck, Joel Sherrill; +Cc: tprince, Steven Bosscher, gcc
From: "Joe Buck" <Joe.Buck@synopsys.COM>
> Debian stable, and Ubuntu Hardy (most recent LTS release) have 2.3.1.
> Same with OpenSUSE 11.0. So I think 2.3.1 is typical of current stable
> releases; Fedora tends to be bleeding edge and not typical.
>
> I still have to deal with older distros (e.g. RHEL 4), but it's
> already necessary to use newer gmp and gas versions, as well as a newer
> mpfr version, in that case.
Thanks to all who responded. Based on the various feedback, it seem like
for most (all?) people their box arrives with a recent enough GMP/MPFR or
they already have to get a sufficiently recent copy from source and build it
in-tree.
So upgrading GCC's requirements to gmp-4.2 and mpfr-2.3.1 should be
minimally disruptive. I'll prepare a patch for 4.5.
Regards,
--Kaveh
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 0:01 ` Steven Bosscher
2009-03-27 0:11 ` Kaveh R. Ghazi
@ 2009-03-27 21:27 ` Toon Moene
2009-03-27 22:35 ` Steven Bosscher
1 sibling, 1 reply; 23+ messages in thread
From: Toon Moene @ 2009-03-27 21:27 UTC (permalink / raw)
To: Steven Bosscher; +Cc: Kaveh R. Ghazi, gcc
Steven Bosscher wrote:
> On Thu, Mar 26, 2009 at 10:39 PM, Kaveh R. Ghazi <ghazi@caip.rutgers.edu> wrote:
>> If there are no objections, I'll create a patch.
>
> Pffff... for those of us who just install the latest-and-greatest
> fedora/suse/ubuntu/... once and don't change installations for two or
> three years (stable machine, etc.) it becomes increasingly harder to
> install all required libraries to build GCC...
But why do you want to work this way (assuming that people who need a
stable OS don't want to upgrade their compiler on a whim).
We're in the process of developing the next GCC. Therefore, my modus
operandi is to "apt-get update && apt-get dist-upgrade" my Debian
testing OS every Sunday morning.
--
Toon Moene - e-mail: toon@moene.org (*NEW*) - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.org/~toon/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.4/changes.html
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 21:27 ` Toon Moene
@ 2009-03-27 22:35 ` Steven Bosscher
2009-03-27 22:52 ` Toon Moene
` (2 more replies)
0 siblings, 3 replies; 23+ messages in thread
From: Steven Bosscher @ 2009-03-27 22:35 UTC (permalink / raw)
To: Toon Moene; +Cc: Kaveh R. Ghazi, gcc
On Fri, Mar 27, 2009 at 8:40 PM, Toon Moene <toon@moene.org> wrote:
> Steven Bosscher wrote:
>
>> On Thu, Mar 26, 2009 at 10:39 PM, Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
>> wrote:
>>>
>>> If there are no objections, I'll create a patch.
>>
>> Pffff... for those of us who just install the latest-and-greatest
>> fedora/suse/ubuntu/... once and don't change installations for two or
>> three years (stable machine, etc.) it becomes increasingly harder to
>> install all required libraries to build GCC...
>
> But why do you want to work this way (assuming that people who need a stable
> OS don't want to upgrade their compiler on a whim).
The problem doesn't happen on machines I own or have root access to.
It's only a problem when you try to do gcc development on machines
hosted by 3rd parties (SF compile farm, HP cluster, machines at places
where I work and/or where I try to convince people to use gfortran
instead of e.g. sunf90, etc.).
Ciao!
Steven
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 22:35 ` Steven Bosscher
@ 2009-03-27 22:52 ` Toon Moene
2009-03-28 16:48 ` Laurent GUERBY
2009-03-29 7:50 ` Kaveh Ghazi
2 siblings, 0 replies; 23+ messages in thread
From: Toon Moene @ 2009-03-27 22:52 UTC (permalink / raw)
To: Steven Bosscher; +Cc: Kaveh R. Ghazi, gcc
Steven Bosscher wrote:
> The problem doesn't happen on machines I own or have root access to.
> It's only a problem when you try to do gcc development on machines
> hosted by 3rd parties (SF compile farm, HP cluster, machines at places
> where I work and/or where I try to convince people to use gfortran
> instead of e.g. sunf90, etc.).
I fully agree. Therefore, I practice, and advice anyone to apply RRTC
(reverse reverse telecommuting):
"When arriving at your work place, log in to your home system using ssh
-X and continue from there."
Works for me.
--
Toon Moene - e-mail: toon@moene.org (*NEW*) - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.org/~toon/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.4/changes.html
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 22:35 ` Steven Bosscher
2009-03-27 22:52 ` Toon Moene
@ 2009-03-28 16:48 ` Laurent GUERBY
2009-03-28 16:49 ` David Edelsohn
2009-03-29 7:50 ` Kaveh Ghazi
2 siblings, 1 reply; 23+ messages in thread
From: Laurent GUERBY @ 2009-03-28 16:48 UTC (permalink / raw)
To: Steven Bosscher; +Cc: Toon Moene, Kaveh R. Ghazi, gcc
On Fri, 2009-03-27 at 20:58 +0100, Steven Bosscher wrote:
> On Fri, Mar 27, 2009 at 8:40 PM, Toon Moene <toon@moene.org> wrote:
> > Steven Bosscher wrote:
> >
> >> On Thu, Mar 26, 2009 at 10:39 PM, Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
> >> wrote:
> >>>
> >>> If there are no objections, I'll create a patch.
> >>
> >> Pffff... for those of us who just install the latest-and-greatest
> >> fedora/suse/ubuntu/... once and don't change installations for two or
> >> three years (stable machine, etc.) it becomes increasingly harder to
> >> install all required libraries to build GCC...
> >
> > But why do you want to work this way (assuming that people who need a stable
> > OS don't want to upgrade their compiler on a whim).
>
> The problem doesn't happen on machines I own or have root access to.
> It's only a problem when you try to do gcc development on machines
> hosted by 3rd parties (SF compile farm, HP cluster, machines at places
> where I work and/or where I try to convince people to use gfortran
> instead of e.g. sunf90, etc.).
If you're able to compile and install GCC on a system then my experience
is that configuring and installing GMP and MPFR from .tar.gz is hassle
free (you must use --disable-shared on both) and does not take very long
relative to GCC bootstrap. On the GCC Compile Farm if you look
at it GMP and MPFR in /opt/cfarm are not compiled by root :).
Sincerely,
Laurent
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-28 16:48 ` Laurent GUERBY
@ 2009-03-28 16:49 ` David Edelsohn
2009-03-29 10:33 ` Joseph S. Myers
0 siblings, 1 reply; 23+ messages in thread
From: David Edelsohn @ 2009-03-28 16:49 UTC (permalink / raw)
To: Laurent GUERBY; +Cc: Steven Bosscher, Toon Moene, Kaveh R. Ghazi, gcc
On Sat, Mar 28, 2009 at 8:41 AM, Laurent GUERBY <laurent@guerby.net> wrote:
> On Fri, 2009-03-27 at 20:58 +0100, Steven Bosscher wrote:
>> On Fri, Mar 27, 2009 at 8:40 PM, Toon Moene <toon@moene.org> wrote:
>> > Steven Bosscher wrote:
>> >
>> >> On Thu, Mar 26, 2009 at 10:39 PM, Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
>> >> wrote:
>> >>>
>> >>> If there are no objections, I'll create a patch.
>> >>
>> >> Pffff... for those of us who just install the latest-and-greatest
>> >> fedora/suse/ubuntu/... once and don't change installations for two or
>> >> three years (stable machine, etc.) it becomes increasingly harder to
>> >> install all required libraries to build GCC...
>> >
>> > But why do you want to work this way (assuming that people who need a stable
>> > OS don't want to upgrade their compiler on a whim).
>>
>> The problem doesn't happen on machines I own or have root access to.
>> It's only a problem when you try to do gcc development on machines
>> hosted by 3rd parties (SF compile farm, HP cluster, machines at places
>> where I work and/or where I try to convince people to use gfortran
>> instead of e.g. sunf90, etc.).
>
> If you're able to compile and install GCC on a system then my experience
> is that configuring and installing GMP and MPFR from .tar.gz is hassle
> free (you must use --disable-shared on both) and does not take very long
> relative to GCC bootstrap. On the GCC Compile Farm if you look
> at it GMP and MPFR in /opt/cfarm are not compiled by root :).
Graphite needs shared libgmpxx to avoid linking cc1 with libstdc++.
David
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 22:35 ` Steven Bosscher
2009-03-27 22:52 ` Toon Moene
2009-03-28 16:48 ` Laurent GUERBY
@ 2009-03-29 7:50 ` Kaveh Ghazi
2 siblings, 0 replies; 23+ messages in thread
From: Kaveh Ghazi @ 2009-03-29 7:50 UTC (permalink / raw)
To: Steven Bosscher, Toon Moene; +Cc: gcc
From: "Steven Bosscher" <stevenb.gcc@gmail.com>
> The problem doesn't happen on machines I own or have root access to.
> It's only a problem when you try to do gcc development on machines
> hosted by 3rd parties (SF compile farm, HP cluster, machines at places
> where I work and/or where I try to convince people to use gfortran
> instead of e.g. sunf90, etc.).
I've frequently been in those situations, especially evangelizing GCC on
non-linux-gnu where you never have GMP/MPFR by default. In that case you
simply drop the necessary tarballs of GMP/MPFR in your GCC source dir and do
an in-tree build of the whole lot. For the MPC library integration, the
patches I posted support in-tree builds for MPC as well. So there's no loss
of this workaround for the situation you described.
Anyway I think that's tangential to the topic at hand, this isn't really the
MPC thread. Here's it's only whether it's okay (i.e. low disruption) to
upgrade to gmp-4.2 (three year old release) and mpfr-2.3.1 (a micro bump
above what we require now). Based on my own observations and what othes
have said here, it seems to me that either you already have the necessary
versions supplied by your distro, or you've already had to go through the
trouble of getting a recent release. I haven't heard of anyone who would
have previously gotten the software by default and would now have to do an
extra manual step. Even if there were, it's not such a big deal IMHO to get
the packages and drop them in your gcc sources.
--Kaveh
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-28 16:49 ` David Edelsohn
@ 2009-03-29 10:33 ` Joseph S. Myers
2009-03-29 14:36 ` Laurent GUERBY
0 siblings, 1 reply; 23+ messages in thread
From: Joseph S. Myers @ 2009-03-29 10:33 UTC (permalink / raw)
To: David Edelsohn
Cc: Laurent GUERBY, Steven Bosscher, Toon Moene, Kaveh R. Ghazi, gcc
On Sat, 28 Mar 2009, David Edelsohn wrote:
> > If you're able to compile and install GCC on a system then my experience
> > is that configuring and installing GMP and MPFR from .tar.gz is hassle
> > free (you must use --disable-shared on both) and does not take very long
> > relative to GCC bootstrap. On the GCC Compile Farm if you look
> > at it GMP and MPFR in /opt/cfarm are not compiled by root :).
>
> Graphite needs shared libgmpxx to avoid linking cc1 with libstdc++.
I added the --with-host-libstdcxx configure option specifically so you can
link with static copies of GMP, MPFR, PPL, CLooG and with either a shared
or a static copy of libstdc++.
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-29 10:33 ` Joseph S. Myers
@ 2009-03-29 14:36 ` Laurent GUERBY
2009-03-29 15:17 ` Joseph S. Myers
0 siblings, 1 reply; 23+ messages in thread
From: Laurent GUERBY @ 2009-03-29 14:36 UTC (permalink / raw)
To: Joseph S. Myers
Cc: David Edelsohn, Steven Bosscher, Toon Moene, Kaveh R. Ghazi, gcc
On Sun, 2009-03-29 at 00:48 +0000, Joseph S. Myers wrote:
> On Sat, 28 Mar 2009, David Edelsohn wrote:
>
> > > If you're able to compile and install GCC on a system then my experience
> > > is that configuring and installing GMP and MPFR from .tar.gz is hassle
> > > free (you must use --disable-shared on both) and does not take very long
> > > relative to GCC bootstrap. On the GCC Compile Farm if you look
> > > at it GMP and MPFR in /opt/cfarm are not compiled by root :).
> >
> > Graphite needs shared libgmpxx to avoid linking cc1 with libstdc++.
>
> I added the --with-host-libstdcxx configure option specifically so you can
> link with static copies of GMP, MPFR, PPL, CLooG and with either a shared
> or a static copy of libstdc++.
I tested the following build process:
export ROOT=/some/where
gmp-4.2.4
./configure --prefix=$ROOT/gmp-4.2.4 --disable-shared --enable-cxx
mpfr-2.3.1
./configure --prefix=$ROOT/mpfr-2.3.1 --disable-shared --with-gmp=$ROOT/gmp-4.2.4
ppl-0.10
./configure --prefix=$ROOT/ppl-0.10 --disable-shared --with-gmp=$ROOT/gmp-4.2.4
cloog-ppl
./configure --prefix=$ROOT/cloog-ppl-1.5 --disable-shared --with-gmp=$ROOT/gmp-4.2.4 --with-ppl=$ROOT/ppl-0.10
trunk
../trunk/configure --prefix=$ROOT/trunk --enable-languages=c,ada --enable-__cxa_atexit --enable-threads=posix \
--with-gmp=$ROOT/gmp-4.2.4 --with-mpfr=$ROOT/mpfr-2.3.1 --with-ppl=$ROOT/ppl-0.10 \
--with-cloog=$ROOT/cloog-ppl-1.5 --with-host-libstdcxx=-lstdc++
However it fails during stage2:
make[3]: Entering directory `/home/guerby/build-ppl/gcc'
...
/home/guerby/build-ppl/./prev-gcc/xgcc -B/home/guerby/build-ppl/./prev-gcc/ -B/n/17/guerby/install-trunk-ppl/x86_64-unknown-linux-gnu/bin/ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -o cc1-dummy c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o dummy-checksum.o \
main.o tree-browser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/home/guerby/root/cloog-ppl-1.5/lib -lcloog -L/home/guerby/root/ppl-0.10/lib -lppl_c -lppl -lgmpxx -lstdc++ -L/home/guerby/root/gmp-4.2.4/lib -L/home/guerby/root/mpfr-2.3.1/lib -lmpfr -lgmp
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
make[3]: *** [cc1-dummy] Error 1
make[3]: Leaving directory `/home/guerby/build-ppl/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/guerby/build-ppl'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/guerby/build-ppl'
make: *** [bootstrap] Error 2
What am I missing?
Thanks in advance,
Laurent
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-29 14:36 ` Laurent GUERBY
@ 2009-03-29 15:17 ` Joseph S. Myers
2009-03-29 15:28 ` Laurent GUERBY
0 siblings, 1 reply; 23+ messages in thread
From: Joseph S. Myers @ 2009-03-29 15:17 UTC (permalink / raw)
To: Laurent GUERBY
Cc: David Edelsohn, Steven Bosscher, Toon Moene, Kaveh R. Ghazi, gcc
On Sun, 29 Mar 2009, Laurent GUERBY wrote:
> /home/guerby/build-ppl/./prev-gcc/xgcc -B/home/guerby/build-ppl/./prev-gcc/ -B/n/17/guerby/install-trunk-ppl/x86_64-unknown-linux-gnu/bin/ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -o cc1-dummy c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o dummy-checksum.o \
> main.o tree-browser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/home/guerby/root/cloog-ppl-1.5/lib -lcloog -L/home/guerby/root/ppl-0.10/lib -lppl_c -lppl -lgmpxx -lstdc++ -L/home/guerby/root/gmp-4.2.4/lib -L/home/guerby/root/mpfr-2.3.1/lib -lmpfr -lgmp
> /usr/bin/ld: cannot find -lstdc++
> collect2: ld returned 1 exit status
> make[3]: *** [cc1-dummy] Error 1
> make[3]: Leaving directory `/home/guerby/build-ppl/gcc'
> make[2]: *** [all-stage2-gcc] Error 2
> make[2]: Leaving directory `/home/guerby/build-ppl'
> make[1]: *** [stage2-bubble] Error 2
> make[1]: Leaving directory `/home/guerby/build-ppl'
> make: *** [bootstrap] Error 2
>
> What am I missing?
If you are doing a bootstrap rather than building a cross compiler, and
the host libstdc++ is not in a path searched by the compiler being built,
you'll need --with-host-libstdcxx="-L/some/where -lstdc++" so the newly
built compiler can find the host libstdc++.
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-29 15:17 ` Joseph S. Myers
@ 2009-03-29 15:28 ` Laurent GUERBY
2009-03-29 15:47 ` Joseph S. Myers
0 siblings, 1 reply; 23+ messages in thread
From: Laurent GUERBY @ 2009-03-29 15:28 UTC (permalink / raw)
To: Joseph S. Myers
Cc: David Edelsohn, Steven Bosscher, Toon Moene, Kaveh R. Ghazi, gcc
On Sun, 2009-03-29 at 14:37 +0000, Joseph S. Myers wrote:
> On Sun, 29 Mar 2009, Laurent GUERBY wrote:
>
> > /home/guerby/build-ppl/./prev-gcc/xgcc -B/home/guerby/build-ppl/./prev-gcc/ -B/n/17/guerby/install-trunk-ppl/x86_64-unknown-linux-gnu/bin/ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -o cc1-dummy c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o dummy-checksum.o \
> > main.o tree-browser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/home/guerby/root/cloog-ppl-1.5/lib -lcloog -L/home/guerby/root/ppl-0.10/lib -lppl_c -lppl -lgmpxx -lstdc++ -L/home/guerby/root/gmp-4.2.4/lib -L/home/guerby/root/mpfr-2.3.1/lib -lmpfr -lgmp
> > /usr/bin/ld: cannot find -lstdc++
> > collect2: ld returned 1 exit status
> > make[3]: *** [cc1-dummy] Error 1
> > make[3]: Leaving directory `/home/guerby/build-ppl/gcc'
> > make[2]: *** [all-stage2-gcc] Error 2
> > make[2]: Leaving directory `/home/guerby/build-ppl'
> > make[1]: *** [stage2-bubble] Error 2
> > make[1]: Leaving directory `/home/guerby/build-ppl'
> > make: *** [bootstrap] Error 2
> >
> > What am I missing?
>
> If you are doing a bootstrap rather than building a cross compiler, and
> the host libstdc++ is not in a path searched by the compiler being built,
> you'll need --with-host-libstdcxx="-L/some/where -lstdc++" so the newly
> built compiler can find the host libstdc++.
--with-host-libstdcxx="-L/usr/lib -lstdc++" fails earlier:
make[3]: Entering directory `/home/guerby/build-ppl/gcc'
...
gcc -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -o cc1-dummy c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o dummy-checksum.o \
main.o tree-browser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/home/guerby/root/cloog-ppl-1.5/lib -lcloog -L/home/guerby/root/ppl-0.10/lib -lppl_c -lppl -lgmpxx -L/usr/lib -lstdc++ -L/home/guerby/root/gmp-4.2.4/lib -L/home/guerby/root/mpfr-2.3.1/lib -lmpfr -lgmp
libbackend.a(builtins.o): In function `fold_builtin_1':
../../trunk/gcc/builtins.c:10319: undefined reference to `mpfr_j0'
../../trunk/gcc/builtins.c:10325: undefined reference to `mpfr_j1'
../../trunk/gcc/builtins.c:10331: undefined reference to `mpfr_y0'
../../trunk/gcc/builtins.c:10337: undefined reference to `mpfr_y1'
libbackend.a(builtins.o): In function `fold_builtin_2':
../../trunk/gcc/builtins.c:10458: undefined reference to `mpfr_jn'
../../trunk/gcc/builtins.c:10464: undefined reference to `mpfr_yn'
../../trunk/gcc/builtins.c:10472: undefined reference to `mpfr_remainder'
libbackend.a(builtins.o): In function `do_mpfr_remquo':
../../trunk/gcc/builtins.c:13372: undefined reference to `mpfr_remquo'
libbackend.a(builtins.o): In function `do_mpfr_lgamma_r':
../../trunk/gcc/builtins.c:13450: undefined reference to `mpfr_lgamma'
collect2: ld returned 1 exit status
make[3]: *** [cc1-dummy] Error 1
make[3]: Leaving directory `/home/guerby/build-ppl/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/home/guerby/build-ppl'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/guerby/build-ppl'
make: *** [bootstrap] Error 2
guerby@gcc17:~/build-ppl$ ls -l /usr/lib/libstdc++*
lrwxrwxrwx 1 root root 18 2008-05-09 14:37 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.7
-rw-r--r-- 1 root root 829896 2007-01-03 20:58 /usr/lib/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 18 2008-05-09 10:08 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8
-rw-r--r-- 1 root root 965344 2006-12-11 00:11 /usr/lib/libstdc++.so.6.0.8
If I rerun the failing gcc command removing manually the "-L/usr/lib" and keeping the "-lstdc++"
it works and the resulting cc1-dummy is as follows:
guerby@gcc17:~/build-ppl/gcc$ ldd ./cc1-dummy
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00002aaaaabc3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaadc1000)
libc.so.6 => /lib/libc.so.6 (0x00002aaaaaecf000)
libm.so.6 => /lib/libm.so.6 (0x00002aaaab10c000)
/lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
May be we need something for stage1 and a different thing later on?
Thanks in advance for your help,
Laurent
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-29 15:28 ` Laurent GUERBY
@ 2009-03-29 15:47 ` Joseph S. Myers
2009-03-29 17:28 ` Laurent GUERBY
0 siblings, 1 reply; 23+ messages in thread
From: Joseph S. Myers @ 2009-03-29 15:47 UTC (permalink / raw)
To: Laurent GUERBY
Cc: David Edelsohn, Steven Bosscher, Toon Moene, Kaveh R. Ghazi, gcc
On Sun, 29 Mar 2009, Laurent GUERBY wrote:
> libbackend.a(builtins.o): In function `fold_builtin_1':
> ../../trunk/gcc/builtins.c:10319: undefined reference to `mpfr_j0'
> ../../trunk/gcc/builtins.c:10325: undefined reference to `mpfr_j1'
> ../../trunk/gcc/builtins.c:10331: undefined reference to `mpfr_y0'
> ../../trunk/gcc/builtins.c:10337: undefined reference to `mpfr_y1'
It appears your problem is that the directory with libstdc++ in it also
has an old MPFR version in it, so passing a -L option for it interferes
with finding the right MPFR. In that case,
--with-host-libstdc++=/usr/lib/libstdc++.so should work - you need to name
the actual file to use for linking libstdc++ rather than giving -L and -l
options.
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-29 15:47 ` Joseph S. Myers
@ 2009-03-29 17:28 ` Laurent GUERBY
0 siblings, 0 replies; 23+ messages in thread
From: Laurent GUERBY @ 2009-03-29 17:28 UTC (permalink / raw)
To: Joseph S. Myers
Cc: David Edelsohn, Steven Bosscher, Toon Moene, Kaveh R. Ghazi, gcc
On Sun, 2009-03-29 at 15:21 +0000, Joseph S. Myers wrote:
> On Sun, 29 Mar 2009, Laurent GUERBY wrote:
>
> > libbackend.a(builtins.o): In function `fold_builtin_1':
> > ../../trunk/gcc/builtins.c:10319: undefined reference to `mpfr_j0'
> > ../../trunk/gcc/builtins.c:10325: undefined reference to `mpfr_j1'
> > ../../trunk/gcc/builtins.c:10331: undefined reference to `mpfr_y0'
> > ../../trunk/gcc/builtins.c:10337: undefined reference to `mpfr_y1'
>
> It appears your problem is that the directory with libstdc++ in it also
> has an old MPFR version in it, so passing a -L option for it interferes
> with finding the right MPFR. In that case,
> --with-host-libstdc++=/usr/lib/libstdc++.so should work - you need to name
> the actual file to use for linking libstdc++ rather than giving -L and -l
> options.
With --with-host-libstdc++=/usr/lib/libstdc++.so.6 the build did
succeed, thanks for your advices.
guerby@gcc17:~/build-ppl$ ldd gcc/cc1
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00002aaaaabc3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaadc1000)
libc.so.6 => /lib/libc.so.6 (0x00002aaaaaecf000)
libm.so.6 => /lib/libm.so.6 (0x00002aaaab10c000)
/lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
Should we add to the documentation the steps to configure and
build an all-static but libstdc++ GCC (as in my first email)? Or less
ambitious in install.texi:
Typical values of @var{linker-args} might be
@samp{-lstdc++} or @samp{-Wl,-Bstatic,-lstdc++,-Bdynamic -lm}.
=>
Typical values of @var{linker-args} might be
@samp{/usr/lib/libstdc++.so.6}, @samp{-lstdc++} or
@samp{-Wl,-Bstatic,-lstdc++,-Bdynamic -lm}.
Sincerely,
Laurent
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-27 12:38 ` Ralf Corsepius
@ 2009-03-29 22:47 ` Gerald Pfeifer
2009-03-30 11:40 ` Ralf Corsepius
0 siblings, 1 reply; 23+ messages in thread
From: Gerald Pfeifer @ 2009-03-29 22:47 UTC (permalink / raw)
To: Ralf Corsepius, Joe Buck; +Cc: gcc
On Fri, 27 Mar 2009, Ralf Corsepius wrote:
>> I do see that FreeBSD Ports has mpfr 2.4.1. How advanced of them.
> Amazing :-()
It's possible I am missing something here. According to
http://www.mpfr.org/mpfr-current/ (reachable from http://www.mpfr.org/
by following "Latest release") this is the latest official release,
but your comments seem to indicate there is a problem with that?
My daily testsuite runs on FreeBSD have been using this version for
a while, and there are no problems striking out. I think. :-)
Is there anything I might want to raise with the maintainer of that
package?
Gerald
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-29 22:47 ` Gerald Pfeifer
@ 2009-03-30 11:40 ` Ralf Corsepius
2009-03-30 11:53 ` Andreas Schwab
0 siblings, 1 reply; 23+ messages in thread
From: Ralf Corsepius @ 2009-03-30 11:40 UTC (permalink / raw)
To: Gerald Pfeifer; +Cc: Joe Buck, gcc
Gerald Pfeifer wrote:
> On Fri, 27 Mar 2009, Ralf Corsepius wrote:
>
>>> I do see that FreeBSD Ports has mpfr 2.4.1. How advanced of them.
>>>
>> Amazing :-()
>>
>
> It's possible I am missing something here. According to
> http://www.mpfr.org/mpfr-current/ (reachable from http://www.mpfr.org/
> by following "Latest release") this is the latest official release,
> but your comments seem to indicate there is a problem with that?
>
Pardon, there seems to be a misunderstanding. I only was surprised to
see FreeBSD shipping much newer versions of packages than most Linux
distros (even those who claim to be "(b)leading edge").
Ralf
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Minimum GMP/MPFR version bumps for GCC-4.5
2009-03-30 11:40 ` Ralf Corsepius
@ 2009-03-30 11:53 ` Andreas Schwab
0 siblings, 0 replies; 23+ messages in thread
From: Andreas Schwab @ 2009-03-30 11:53 UTC (permalink / raw)
To: Ralf Corsepius; +Cc: Gerald Pfeifer, Joe Buck, gcc
Ralf Corsepius <ralf.corsepius@rtems.org> writes:
> Pardon, there seems to be a misunderstanding. I only was surprised to see
> FreeBSD shipping much newer versions of packages than most Linux distros
> (even those who claim to be "(b)leading edge").
If you want to have the bleading edge you need to look at something like
openSUSE Factory, which does have mpfr 2.4.1.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2009-03-30 9:22 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-26 22:52 Minimum GMP/MPFR version bumps for GCC-4.5 Kaveh R. Ghazi
2009-03-27 0:01 ` Steven Bosscher
2009-03-27 0:11 ` Kaveh R. Ghazi
2009-03-27 3:10 ` Tim Prince
2009-03-27 9:12 ` Joel Sherrill
2009-03-27 12:24 ` Joe Buck
2009-03-27 12:38 ` Ralf Corsepius
2009-03-29 22:47 ` Gerald Pfeifer
2009-03-30 11:40 ` Ralf Corsepius
2009-03-30 11:53 ` Andreas Schwab
2009-03-27 19:06 ` Kaveh Ghazi
2009-03-27 21:27 ` Toon Moene
2009-03-27 22:35 ` Steven Bosscher
2009-03-27 22:52 ` Toon Moene
2009-03-28 16:48 ` Laurent GUERBY
2009-03-28 16:49 ` David Edelsohn
2009-03-29 10:33 ` Joseph S. Myers
2009-03-29 14:36 ` Laurent GUERBY
2009-03-29 15:17 ` Joseph S. Myers
2009-03-29 15:28 ` Laurent GUERBY
2009-03-29 15:47 ` Joseph S. Myers
2009-03-29 17:28 ` Laurent GUERBY
2009-03-29 7:50 ` Kaveh Ghazi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).