[gentoo-user] virtual/libstdc++ keeps trying to pull in gcc-3.3 :(

2007-03-05 Thread Mark David Dumlao

I did an emerge --update --newuse world and it keeps trying to build
gcc-3.3.4 and ends in errors.  Upon further inspection, I found that I
already have gcc-4.1.1-r3.  Everything was working prior to that, and I
couldn't understand why it kept asking for gcc-3.3.  I went through a whole
lot of equeries and headbanging to find the package that wanted gcc-3.3.
libstdc++ itself didn't seem to want it, but im not that good at reading
ebuilds just yet.

I checked the ebuild of virtual/libstdc++ and it gives me an  rdepends of  =
gcc-3.3.*

But I already have >gcc-4.1.  Nothing seemed to be not working with my
system then prior to the upgrade.  So I made an overlay with anrdepends of

=gcc-3.3.  I continued trying to emerge and voila gcc-3.3 wasnt in the list

anymore.

I wonder if I'll break something this way.  playing with libstdc++ sounds
scary, but I don't want to compile gcc when I already have a working one.

any ideas why virtual/libstdc++ asks specifically for 3.3?  And was it a bad
idea for me to do what I just did?
--
thing.


Re: [gentoo-user] virtual/libstdc++ keeps trying to pull in gcc-3.3 :(

2007-03-05 Thread Neil Bothwick
On Mon, 5 Mar 2007 18:45:23 +0800, Mark David Dumlao wrote:

> I did an emerge --update --newuse world and it keeps trying to build
> gcc-3.3.4 and ends in errors.  Upon further inspection, I found that I
> already have gcc-4.1.1-r3.  Everything was working prior to that, and I
> couldn't understand why it kept asking for gcc-3.3.  I went through a
> whole lot of equeries and headbanging to find the package that wanted
> gcc-3.3. libstdc++ itself didn't seem to want it, but im not that good
> at reading ebuilds just yet.

Add --tree to the above emerge command.

> I checked the ebuild of virtual/libstdc++ and it gives me an  rdepends
> of  = gcc-3.3.*

The full depend is

RDEPEND="|| ( =sys-libs/libstdc++-v3-3.3* =sys-devel/gcc-3.3* )"

This means either =sys-libs/libstdc++-v3-3.3* or =sys-devel/gcc-3.3*. If
neither is installed the first listed will be used. this indicates that
you already have gcc-3.3* installed. If you have nothing that needs it
(very few packages fail to compile on 4.1 now), you can unmerge gcc-3.3
and the next emerge world will install sys-libs/libstdc++ instead.

equery list gcc will show you exactly which gcc packages you have
installed.


-- 
Neil Bothwick

Top Oxymorons Number 18: Taped live


signature.asc
Description: PGP signature


Re: [gentoo-user] virtual/libstdc++ keeps trying to pull in gcc-3.3 :(

2007-03-05 Thread Mark David Dumlao


> I checked the ebuild of virtual/libstdc++ and it gives me an  rdepends
> of  = gcc-3.3.*

The full depend is

RDEPEND="|| ( =sys-libs/libstdc++-v3-3.3* =sys-devel/gcc-3.3* )"

This means either =sys-libs/libstdc++-v3-3.3* or =sys-devel/gcc-3.3*. If
neither is installed the first listed will be used. this indicates that
you already have gcc-3.3* installed. If you have nothing that needs it
(very few packages fail to compile on 4.1 now), you can unmerge gcc-3.3
and the next emerge world will install sys-libs/libstdc++ instead.



hey thanks.  So I think the more elegant solution is to install
sys-libs/libstdc++,
unmerge my overlayed virtual/libstdc++, delete my overlayed
virtual/libstdc++,
then reemerge --oneshot virtual/libstdc++ again, this time using the one in
the
portage tree.  I don't think I can just delete my overlay before then or it
might
fess up unmerging.

--
thing.


Re: [gentoo-user] virtual/libstdc++ keeps trying to pull in gcc-3.3 :(

2007-03-05 Thread Neil Bothwick
On Mon, 5 Mar 2007 23:04:34 +0800, Mark David Dumlao wrote:

> > This means either =sys-libs/libstdc++-v3-3.3* or =sys-devel/gcc-3.3*.
> > If neither is installed the first listed will be used. this indicates
> > that you already have gcc-3.3* installed. If you have nothing that
> > needs it (very few packages fail to compile on 4.1 now), you can
> > unmerge gcc-3.3 and the next emerge world will install
> > sys-libs/libstdc++ instead.  
> 
> 
> hey thanks.  So I think the more elegant solution is to install
> sys-libs/libstdc++,
> unmerge my overlayed virtual/libstdc++, delete my overlayed
> virtual/libstdc++,
> then reemerge --oneshot virtual/libstdc++ again, this time using the
> one in the
> portage tree.

Do you already have sys-libs/libstdc++ installed? If you had, you
wouldn't need GCC 3.3. In fact, I have a feeling the packages are mutually
exclusive as both provide libstdc++. Just remove your overlayed version,
remove any installed versions of gcc-3.3* and update world again.

> I don't think I can just delete my overlay before then
> or it might
> fess up unmerging.

It won't. unmerging doesn't use the ebuild in the portage tree but the
one saved in /var/db/pkg when the package was merged.


-- 
Neil Bothwick

I don't work here. I'm a consultant.


signature.asc
Description: PGP signature


Re: [gentoo-user] virtual/libstdc++ keeps trying to pull in gcc-3.3 :(

2007-03-05 Thread Bo Ørsted Andresen
On Monday 05 March 2007 12:55:04 Neil Bothwick wrote:
> > I checked the ebuild of virtual/libstdc++ and it gives me an  rdepends
> > of  = gcc-3.3.*
>
> The full depend is
>
> RDEPEND="|| ( =sys-libs/libstdc++-v3-3.3* =sys-devel/gcc-3.3* )"
>
> This means either =sys-libs/libstdc++-v3-3.3* or =sys-devel/gcc-3.3*. If
> neither is installed the first listed will be used. this indicates that
> you already have gcc-3.3* installed. If you have nothing that needs it
> (very few packages fail to compile on 4.1 now), you can unmerge gcc-3.3
> and the next emerge world will install sys-libs/libstdc++ instead.
>
> equery list gcc will show you exactly which gcc packages you have
> installed.

That's kind of the point of bug #161953. It picks gcc-3.3* because gcc-4* is 
already installed. Portage interprets that as an indicator that you prefer 
gcc despite that's hardly the case. The solution is to manually merge 
libstdc++-v3.

https://bugs.gentoo.org/show_bug.cgi?id=161953

-- 
Bo Andresen


pgpLG3XtFqMSm.pgp
Description: PGP signature