Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 136799 - emerge -K requires dependencies to be provided by a binary package
Summary: emerge -K requires dependencies to be provided by a binary package
Status: RESOLVED WORKSFORME
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Binary packages support (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-14 09:57 UTC by Kevin O'Gorman
Modified: 2006-06-14 21:12 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
output of emerge --info (emerge-info.txt,2.83 KB, text/plain)
2006-06-14 19:10 UTC, Kevin O'Gorman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin O'Gorman 2006-06-14 09:57:32 UTC
This essentially reopens bug 35070, but I guessed enough time has passed
that a new bug is called for.  That one was marked as invalid.  I urge
reconsideration.

My reason:
emerging and old libc binary package was disallowed for a failed dependency
on virtual glibc.  Consider:
   1) What are the chances I'm running portage without a working glibc?
   2) What is the use of dependency checking at all if every binary
        emerge requires --nodeps?
It may be that this is somehow a special case; I don't know enough about
portage to determine that.  But it sure strikes me as odd, not to mention
frustrating.

If libc is special and this does not occur that much in practice,
perhaps there's a way to either alert the poor user, or make it *not*
explicitly depend on glibc.
Comment 1 solar (RETIRED) gentoo-dev 2006-06-14 10:07:17 UTC
This bug looks invalid. Please provide a testcase.
Comment 2 Kevin O'Gorman 2006-06-14 19:10:36 UTC
Created attachment 89224 [details]
output of emerge --info
Comment 3 Kevin O'Gorman 2006-06-14 19:22:11 UTC
(In reply to comment #1)
> This bug looks invalid. Please provide a testcase.
> 

I'm not sure what's required, but I've attached emerge --info, and quoted
my original complaint on gentoo-user forum, under the thread
"Use and removal of binary packages".  Please not that I used
the lowercase "k", which I had supposed meant to use both binary
and portage packages.  It then says there's no package for "glibc".
That is just about astonishing.  I couldn't get that far without
a working glibc.  So I submit that portage should be changed in one
of these ways:
  1) portage should lighten up and allow non-binary dependencies
      (I cannot see why not, particularly for the permissive -k).
  2) notice packages that are in the profile and let the user
      rely on them at least
  3) make a better diagnostic message that says it has no *binary*
      package for that dependency (which would help the user identify
      the real as opposed to the apparent problem).  The current message
      complains about "ebuilds" which in fact it *does* have, not about
      *binary packages* which admittedly it does not.
  4) confirm that the user desires to rely on particular non-binary
      ebuilds.

Okay, with that said, here's what I was complaining about:


> Okay, that helped.  But not as much as I had hoped. 
> 
> Now I get:
> > treat dev-libs # emerge -avk =glib-1.2.10-r5
> > 
> > These are the packages that would be merged, in order: 
> > 
> > Calculating dependencies -
> > emerge: there are no ebuilds to satisfy "virtual/glibc".
> > (dependency required by "dev-libs/glib-1.2.10-r5" [binary])
> > 
> > treat dev-libs # 
> So it sees that it has the glib package, but is still unwilling to emerge it
> because of something else I need to do.  But I don't know how to find
> out what to do about this virtual.  In /var/cache/edb/virtuals, I have
> > virtual/glibc sys-libs/glibc
> > 
> and I have 2.3.6-r3 installed:
> 
> > sys-libs/glibc 
> >      Available versions:  [P]2.2.5-r10 [P]2.3.2-r12 2.3.3.20040420-r2
> ~2.3.4.20040619-r2 2.3.4.20040808-r1 2.3.4.20041102-r1 *2.3.4.20041102-r2
> ~2.3.4.20050125-r1 2.3.5 2.3.5-r1 2.3.5-r2 2.3.5-r3 *2.3.6 *2.3.6-r1
> ~2.3.6-r2 2.3.6-r3 ~2.3.6-r4 ~2.4-r1 ~2.4-r2 ~2.4-r3
> >      Installed:           2.3.6-r3
> >      Homepage:           
> http://www.gnu.org/software/libc/libc.html
> >      Description:         GNU libc6 (also called glibc2) C library 
> > 
> > 
Comment 4 Zac Medico gentoo-dev 2006-06-14 19:52:51 UTC
(In reply to comment #0)
>    1) What are the chances I'm running portage without a working glibc?
>    2) What is the use of dependency checking at all if every binary
>         emerge requires --nodeps?

If you want to ignore some deps but don't want to use --nodeps, your alternative is to use /etc/portage/profile/package.provided (documented in `man portage`).
Comment 5 Alec Warner (RETIRED) archtester gentoo-dev Security 2006-06-14 21:12:56 UTC
(In reply to comment #3)
> (In reply to comment #1)
> > This bug looks invalid. Please provide a testcase.
> > 
> 
> I'm not sure what's required, but I've attached emerge --info, and quoted
> my original complaint on gentoo-user forum, under the thread
> "Use and removal of binary packages".  Please not that I used
> the lowercase "k", which I had supposed meant to use both binary
> and portage packages.  It then says there's no package for "glibc".
> That is just about astonishing.  I couldn't get that far without
> a working glibc.  So I submit that portage should be changed in one
> of these ways:

-k works how you like, uses binary packages if they exist, otherwise uses source packages.
 
> Okay, with that said, here's what I was complaining about:
> 
> 
> > Okay, that helped.  But not as much as I had hoped. 
> > 
> > Now I get:
> > > treat dev-libs # emerge -avk =glib-1.2.10-r5
> > > 
> > > These are the packages that would be merged, in order: 
> > > 
> > > Calculating dependencies -
> > > emerge: there are no ebuilds to satisfy "virtual/glibc".
> > > (dependency required by "dev-libs/glib-1.2.10-r5" [binary])

This is a completely unrelated issue.  If there was no binary package, portage would say so, ala:

gentoo apache2 # emerge -K silo
Calculating dependencies
!!! There are no packages available to satisfy: "silo"
!!! Either add a suitable binary package or compile from an ebuild.