Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 142212

Summary: emerge gave non-informative error messages
Product: Gentoo Linux Reporter: BORGULYA Gábor <bugs2>
Component: New packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: VERIFIED WORKSFORME    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description BORGULYA Gábor 2006-07-30 12:35:20 UTC
I tried to update my gentoo system, but the emrege failed. I received a 
couple of error messages, but they did not help solving the problem. The error 
messages should be corrected so that they give a hint what to do. See the 
details below.

=========================================================================

# emerge --update --ask --verbose world

These are the packages that would be merged, in order:

Calculating world dependencies /
!!! Packages for the following atoms are either all
!!! masked or don't exist:
net-print/hpoj

... done!
         ------------------<snip>--------------------
  Above is the first problem. I did install this package earlier without
  problems. I don't know what changed with this package, but it should not
  prevent me from updating the other packages. Emerge should give me a hint
  how to update world excluding this package or any other solution.
  (At least a hint what to read.)
         ------------------<snip>--------------------

[blocks B     ] <=x11-base/xorg-x11-6.9 (is blocking x11-proto/xextproto-7.0.2)
[blocks B     ] <=x11-base/xorg-x11-6.9 (is blocking x11-proto/xf86bigfontproto-1.1.2)
         ------------------<snip>--------------------
  xf86bigfontproto and xextproto etc. are not in my world file, so they must
  be a dependency of something. I don't know what happened with the dependency
  system, but when I installed the programs that are present on my computer
  they din't complain about blocking each other. Emerge should tell me
  which programs in the world file have become incompatible with each other
  so I could choose between them. Or it should suggest an other solution.
  (At least a hint what to read.)
         ------------------<snip>--------------------
[blocks B     ] dev-python/f2py (is blocking dev-python/numpy-0.9.8)
         ------------------<snip>--------------------
  Similar to the above. Two packages coexist on my system which seem to have
  become incompatible. f2py is not in my world file. Emerge should tell me
  which program in the world file needs f2py thus blocking numpy.
         ------------------<snip>--------------------
!!! Error: The above package list contains packages which cannot be installed
!!!        at the same time on the same system.

  These final lines after the long list of packages to be updated give no hint
  what to do. At least a reference to a howto should be put here.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-07-30 12:42:41 UTC
> !!! Packages for the following atoms are either all
> !!! masked or don't exist:
> net-print/hpoj

> I don't know what changed with this package, but it should not prevent me from >updating the other packages

Uhm, it doesn't prevent you from updating anything, it's an informative message. And it tells you exactly what happened.

As for the blockers, unmerge them, not a rocket science really. And, it's covered by documentation as well.

http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml
Comment 2 BORGULYA Gábor 2006-07-30 13:11:42 UTC
Thank you for your helpful link to the documentation. It solved one of my 
problems, but unfortunately not the problems of `emerge'.

Emerge does not give enough information. You write that 
>> !!! Packages for the following atoms are either all
>> !!! masked or don't exist:
>> net-print/hpoj
is just a warning, and it is not the problem that prevents starting compilation.
If true, emerege should report skipping the update of this package.

The documentation link you wrote is useful, but I don't know how I would have
found it without witing a bug report - which is not a good way to get to the
documentation. And it only answers the problem with xorg-x11, not the one
with f2py and numpy. I guess the solution is not just unmerging and emerging 
some packages.
I think emerge should name which package needs f2py, and a few lines what I can
do. If it is complicated (more than a few lines) a link to the documentation
should be named which describes how to solve such problems.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-07-30 13:22:58 UTC
(In reply to comment #2)
> I think emerge should name which package needs f2py, and a few lines what I can
> do. If it is complicated (more than a few lines) a link to the documentation
> should be named which describes how to solve such problems.

Please, read the changelog.
 
*f2py-2.45.241.1926 (17 Jul 2006)

  17 Jul 2006; Alastair Tse <liquidx@gentoo.org> -f2py-2.32.225.1419.ebuild,
  f2py-2.39.235.1693.ebuild, +f2py-2.45.241.1926.ebuild:
  version bump. add block to dev-python/numpy because it also provides f2py.
  no packages depend directly on f2py.

Portage is a package manager, it does not replace documentation, changelogs etc. etc. If you want, file a documentation bug. Portage tells you what's wrong, not how to handle it. 

Comment 4 BORGULYA Gábor 2006-07-30 14:06:22 UTC
Thank you for pointing my attention to the f2py changelog.

I read `emerge --help', `emerge --help world' and `man emerge' to see if the
problems 1) "masked or don't exist" and 2) the "X is blocking Y" are explained 
there. 

1) The first one in NOT explained. I insist that emerge has to tell if the 
   message it is displaying is an error blocking compilation or a warning 
   only.
2) The blocking problem is covered shortly only in the manpage:
>   [blocks B ] app-text/dos2unix (from pkg app-text/hd2u-0.8.0)
>          Dos2unix is Blocking hd2u  from  being  emerged.   Blockers  are
>          defined  when  two  packages  will clobber each others files, or
>          otherwise cause some form of breakage in your system.   However,
>          blockers  usually  do  not  need  to  be  simultaneously emerged
>          because they usually provide the same functionality.
  I am happy to know that one of the packages I have is unnecessary. Probably 
  one of them is numpy. But I don't know which the other package is.
  The other package is not f2py, because it is not in my world file; f2py is
  a dependency of something. 
  Emerge does build the dependency tree so it must know which entry of the 
  world file pulls in f2py. I think this information is available and 
  essential to go on, so emerge has to print it.

The above are not documentation errors, these involve the code of portage.

You are right, by the way, that the documentation is insufficient, too,
because the help and man pages should tell what to do or where to 
read on. I will consider writing a documentation bug as well. (The 
documentation should suggest reading the changelogs, mention the xorg 
partitioning and describe the general way of handling blockers.) This bug is
about emerge itself.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-07-30 14:16:40 UTC
(In reply to comment #4)

> 1) The first one in NOT explained. I insist that emerge has to tell if the 
>   message it is displaying is an error blocking compilation or a warning 
>   only.

What's not explained? There's no error, otherwise you'd get some block from it. Please, read the package.mask file.

$ grep -C2 hpoj /usr/portage/profiles/package.mask 
# Stefan Schweizer <genstef@gentoo.org> (06 Feb 2006)
# deprecated - please use net-print/hplip now
net-print/hpoj

>   I am happy to know that one of the packages I have is unnecessary. Probably 
>   one of them is numpy. But I don't know which the other package is.
>   The other package is not f2py, because it is not in my world file; f2py is
>   a dependency of something. 

It's not a dependency of anything. Unmerge it. And it tells you _exactly_ what's wrong, read the message.

> dev-python/f2py (is blocking dev-python/numpy-0.9.8)

>   Emerge does build the dependency tree so it must know which entry of the 
>   world file pulls in f2py.

None. And you've misread the message as well - it's numpy that gets pulled in, not f2py. Sorry, portage error messages are really not a proper place to teach you how to work w/ portage.
Comment 6 BORGULYA Gábor 2006-07-30 14:45:50 UTC
I compiled the above mentioned documentation bug: bug#142225.
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-07-30 14:52:03 UTC
(In reply to comment #6)
> I compiled the above mentioned documentation bug: bug#142225.

Thanks. ;)