Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 245487 - eix fails to find libstdc++-v3 package
Summary: eix fails to find libstdc++-v3 package
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Jeremy Olexa (darkside) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-04 07:58 UTC by Peter Volkov (RETIRED)
Modified: 2008-11-04 19:46 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Volkov (RETIRED) gentoo-dev 2008-11-04 07:58:33 UTC
eix fails to find libstdc++-v3 package. Just take a look at the output:

 $ eix -c libstdc++
[I] sys-libs/libstdc++-v3 (3.3.6(5)@03.11.2008): Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++
[N] sys-libs/libstdc++-v3-bin (--): Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++
[I] virtual/libstdc++ (3.3(3.3)@14.07.2008): Virtual for the GNU Standard C++ Library
Found 3 matches.
 $ eix -c libstdc++-v3
No matches found.
 $ eix -c libstdc++-v3-bin
No matches found.

bug reproducible with eix 0.14.2.
Comment 1 Martin Väth 2008-11-04 12:51:07 UTC
This is expected behavior: Your expression "libstdc++-v3" is interpreted as a
regular expression, and "+" has a special meaning for such expressions.
Either you must use some of the rules of regular expressions to avoid it
(e.g. escape + [but be aware that the escape is not eaten by the shell] or
replace it by .) or change the match algorithm e.g. by -p (and put * at the end).
Comment 2 Peter Volkov (RETIRED) gentoo-dev 2008-11-04 13:26:31 UTC
Eh, true. Thanks for explanation...

BTW, have you thought to add some kind of warning to user for this exact case (when ++ encountered)? It's obviously has not much sense to have ++ in regexp so if user requested ++ then quite possibly user wanted something different and if search revealed zero results output warning.
Comment 3 Martin Väth 2008-11-04 19:46:09 UTC
(In reply to comment #2)
> BTW, have you thought to add some kind of warning to user

This is the task of the regular expression library which eix uses,
which may actually vary from system to system:
If this library considers the expression as illegal, eix will even report
an error (try e.g. eix '('). However, eix will not try to "correct" the
results of that library (with one exception: the handling of empty
expressions).
In fact, the POSIX specification of (extended) regular expression leaves
it explicitly unspecified whether several successive "+" are syntactically admissible ("c++" _might_ mean that the previous "c+" must occur one or
several times). Since apparently the GNU library considers this case as OK,
and so most other programs under GNU/Linux will also accept this case,
it is just consistent that also eix will accept this case.