Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo User (http://www.linux-archive.org/gentoo-user/)
-   -   eselect binutils list not matching (http://www.linux-archive.org/gentoo-user/676595-eselect-binutils-list-not-matching.html)

Mark Knecht 06-24-2012 06:27 PM

eselect binutils list not matching
 
Hi,
One of my machines is giving an undesired response in eselect:

c2stable ~ # eselect binutils list
!!! Error: Pattern does not match any installed version of binutils!
exiting
c2stable ~ #

All other machiness do something akin to:

k2 ~ # eselect binutils list
Installed binutils for target x86_64-pc-linux-gnu
[1] 2.21.1 *
k2 ~ #

However it seems that binutils-config on the machine having trouble
knows the right answer:

c2stable ~ # binutils-config -l
[1] x86_64-pc-linux-gnu-2.21.1 *
c2stable ~ #

which is what's installed:

c2stable ~ # eix -Ic binutils
[i] sys-devel/binutils (2.21.1-r1{tbz2}@05/03/2012): Tools necessary
to build programs
[i] sys-devel/binutils-config (3-r3{tbz2}@06/11/2012): Utility to
change the binutils version being used
Found 2 matches.
c2stable ~ #

How can I get this resolved in eselect? I'm not sure where eselect
is looking when it complains about the patterns not matching.

Thanks,
Mark

James 06-24-2012 10:04 PM

eselect binutils list not matching
 
Mark Knecht <markknecht <at> gmail.com> writes:


> One of my machines is giving an undesired response in eselect:
>
> c2stable ~ # eselect binutils list
> !!! Error: Pattern does not match any installed version of binutils!
> exiting
> c2stable ~ #
>
> All other machiness do something akin to:
>
> k2 ~ # eselect binutils list
> Installed binutils for target x86_64-pc-linux-gnu
> [1] 2.21.1 *
> k2 ~ #

I checked one of mine:
# eselect binutils list
Installed binutils for target x86_64-pc-linux-gnu


I have this version installed:
Installed versions: 2.21.1-r1

so maybe just rebuild binutils and see what happens?
or rebuild what ever it depends on?

Just quick guesses....


hth,
James

walt 06-24-2012 10:18 PM

eselect binutils list not matching
 
On 06/24/2012 11:27 AM, Mark Knecht wrote:
> Hi,
> One of my machines is giving an undesired response in eselect:
>
> c2stable ~ # eselect binutils list
> !!! Error: Pattern does not match any installed version of binutils!
> exiting

I would start by comparing /usr/share/eselect/* between the bad machine and one of the good ones. I'd probably use scp -r to copy the bad machine's directory to /tmp on the good machine and use diff -r to do the comparison.
(I just discovered sftp, which is another easy way to copy things.)

I love to hear a better suggestion about how to compare two different machines, though. You could set up an nfs mount of one machine on the other, but that's too complicated for my very limited needs.

walt 06-24-2012 10:46 PM

eselect binutils list not matching
 
On 06/24/2012 03:18 PM, walt wrote:
> On 06/24/2012 11:27 AM, Mark Knecht wrote:
>> Hi, One of my machines is giving an undesired response in eselect:
>>
>> c2stable ~ # eselect binutils list !!! Error: Pattern does not
>> match any installed version of binutils! exiting
>

And then there's the dreaded option of forcing an fsck on the bad
machine, but you knew that already :(

Mark Knecht 06-26-2012 05:51 PM

eselect binutils list not matching
 
On Sun, Jun 24, 2012 at 3:18 PM, walt <w41ter@gmail.com> wrote:
> On 06/24/2012 11:27 AM, Mark Knecht wrote:
>> Hi,
>> * *One of my machines is giving an undesired response in eselect:
>>
>> c2stable ~ # eselect binutils list
>> !!! Error: Pattern *does not match any installed version of binutils!
>> exiting
>
> I would start by comparing /usr/share/eselect/* between the bad machine and one of the good ones. *I'd probably use scp -r to copy the bad machine's directory to /tmp on the good machine and use diff -r to do the comparison.
> (I just discovered sftp, which is another easy way to copy things.)
>
> I love to hear a better suggestion about how to compare two different machines, though. *You could set up an nfs mount of one machine on the other, but that's too complicated for my very limited needs.
>
>
>
>

Hi Walt,
It isn't anything like fsck, etc. The machine is healthy in all
other respects (that I know of and have tested) and everything is
actually working. It's only the list option that's failing. eselect
actually knows that binutils is set correctly. It just won't like it.

c2stable ~ # eselect binutils show
x86_64-pc-linux-gnu-2.21.1
c2stable ~ # eselect binutils set x86_64-pc-linux-gnu-2.21.1
!!! Error: Profile "x86_64-pc-linux-gnu-2.21.1" is already active!
exiting
c2stable ~ # eselect binutils list
!!! Error: Pattern does not match any installed version of binutils!
exiting
c2stable ~ #

Actually, I don't think it's that hard to compare files or
directories that are supposed to be consistent on various machines.
That's what rsync does to decide what to sync. The trick is getting
the options correct which is usually my downfall.

Anyway, in this case I compare the /usr/share/eselect/modules
directory on my local (failing) machine with one of the other machines
here in the house. In the first compare I look at the binutils file
specifically which passes. In the second compare I look at everything
in the modules directory which shows one mismatch which in this case
is that the remote machine doesn't actually have a wxwidgets.eselect
file. I cannot tell that until I log into the remote machine to
determine the difference.

mark@c2stable ~ $ rsync --dry-run -crv
/usr/share/eselect/modules/binutils.eselect
mark@k2:/usr/share/eselect/modules/binutils.eselect
Password:
sending incremental file list

sent 55 bytes received 12 bytes 19.14 bytes/sec
total size is 7796 speedup is 116.36 (DRY RUN)
mark@c2stable ~ $ rsync --dry-run -crv /usr/share/eselect/modules/*
mark@k2:/usr/share/eselect/modules Password:
sending incremental file list
wxwidgets.eselect

sent 1095 bytes received 15 bytes 246.67 bytes/sec
total size is 147613 speedup is 132.98 (DRY RUN)
mark@c2stable ~ $

A little bit of Google suggests you can diff the files themselves
using something like:

diff <(ssh -n me@testserver cat /home/me/source/worksforme.php) <(ssh
-n me@clientserver cat /home/me/source/worksforme.php)

I have not tested this but suspect it probably works fine once you get
everything right.

HTH you or someone in the future,
Mark

walt 06-26-2012 10:28 PM

eselect binutils list not matching
 
On 06/26/2012 10:51 AM, Mark Knecht wrote:
> On Sun, Jun 24, 2012 at 3:18 PM, walt <w41ter@gmail.com> wrote:
>> On 06/24/2012 11:27 AM, Mark Knecht wrote:
>>> Hi,
>>> One of my machines is giving an undesired response in eselect:
>>>
>>> c2stable ~ # eselect binutils list
>>> !!! Error: Pattern does not match any installed version of binutils!
>>> exiting
>>
>> I would start by comparing /usr/share/eselect/* between the bad machine and one of the good ones. I'd probably use scp -r to copy the bad machine's directory to /tmp on the good machine and use diff -r to do the comparison.
>> (I just discovered sftp, which is another easy way to copy things.)
>>
>> I love to hear a better suggestion about how to compare two different machines, though. You could set up an nfs mount of one machine on the other, but that's too complicated for my very limited needs.
>>
>>
>>
>>
>
> Hi Walt,
> It isn't anything like fsck, etc. The machine is healthy in all
> other respects (that I know of and have tested) and everything is
> actually working. It's only the list option that's failing. eselect
> actually knows that binutils is set correctly. It just won't like it.
>
> c2stable ~ # eselect binutils show
> x86_64-pc-linux-gnu-2.21.1
> c2stable ~ # eselect binutils set x86_64-pc-linux-gnu-2.21.1
> !!! Error: Profile "x86_64-pc-linux-gnu-2.21.1" is already active!
> exiting
> c2stable ~ # eselect binutils list
> !!! Error: Pattern does not match any installed version of binutils!
> exiting
> c2stable ~ #
>
> Actually, I don't think it's that hard to compare files or
> directories that are supposed to be consistent on various machines.
> That's what rsync does to decide what to sync. The trick is getting
> the options correct which is usually my downfall.
>
> Anyway, in this case I compare the /usr/share/eselect/modules
> directory on my local (failing) machine with one of the other machines
> here in the house. In the first compare I look at the binutils file
> specifically which passes. In the second compare I look at everything
> in the modules directory which shows one mismatch which in this case
> is that the remote machine doesn't actually have a wxwidgets.eselect
> file. I cannot tell that until I log into the remote machine to
> determine the difference.
>
> mark@c2stable ~ $ rsync --dry-run -crv
> /usr/share/eselect/modules/binutils.eselect
> mark@k2:/usr/share/eselect/modules/binutils.eselect
> Password:
> sending incremental file list
>
> sent 55 bytes received 12 bytes 19.14 bytes/sec
> total size is 7796 speedup is 116.36 (DRY RUN)
> mark@c2stable ~ $ rsync --dry-run -crv /usr/share/eselect/modules/*
> mark@k2:/usr/share/eselect/modules Password:
> sending incremental file list
> wxwidgets.eselect
>
> sent 1095 bytes received 15 bytes 246.67 bytes/sec
> total size is 147613 speedup is 132.98 (DRY RUN)
> mark@c2stable ~ $
>
> A little bit of Google suggests you can diff the files themselves
> using something like:
>
> diff <(ssh -n me@testserver cat /home/me/source/worksforme.php) <(ssh
> -n me@clientserver cat /home/me/source/worksforme.php)
>
> I have not tested this but suspect it probably works fine once you get
> everything right.

I'd never have thought of those two ideas. Thanks for the tip.

/usr/bin/eselect is just a shellscript, so adding the line 'set -x' near
the top of the script may give you a clue about what part of 'list' it
doesn't understand :)

Mark Knecht 06-27-2012 02:54 AM

eselect binutils list not matching
 
On Sun, Jun 24, 2012 at 11:27 AM, Mark Knecht <markknecht@gmail.com> wrote:
> Hi,
> * One of my machines is giving an undesired response in eselect:
>
> c2stable ~ # eselect binutils list
> !!! Error: Pattern *does not match any installed version of binutils!
> exiting
> c2stable ~ #
>
<SNIP>

Confirmed bug but at this point I don't understand why some machines
hit it and others don't. Users should try binutils-config if they run
into this problem.

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

Cheers,
Mark

Paul Hartman 06-27-2012 03:27 AM

eselect binutils list not matching
 
On Sun, Jun 24, 2012 at 1:27 PM, Mark Knecht <markknecht@gmail.com> wrote:
> Hi,
> * One of my machines is giving an undesired response in eselect:
>
> c2stable ~ # eselect binutils list
> !!! Error: Pattern *does not match any installed version of binutils!
> exiting
> c2stable ~ #

Mine does the same thing on 1 computer but works on 2 others. All with
the same versions of all involved packages. Weird.

Mark Knecht 06-27-2012 02:34 PM

eselect binutils list not matching
 
On Tue, Jun 26, 2012 at 8:27 PM, Paul Hartman
<paul.hartman+gentoo@gmail.com> wrote:
> On Sun, Jun 24, 2012 at 1:27 PM, Mark Knecht <markknecht@gmail.com> wrote:
>> Hi,
>> * One of my machines is giving an undesired response in eselect:
>>
>> c2stable ~ # eselect binutils list
>> !!! Error: Pattern *does not match any installed version of binutils!
>> exiting
>> c2stable ~ #
>
> Mine does the same thing on 1 computer but works on 2 others. All with
> the same versions of all involved packages. Weird.
>

Hey, at least I'm in good company if my old friend Paul Hartman sees
the same thing. :-)

There is a patch to the binutils.eselect file here that worked for me:

https://423525.bugs.gentoo.org/attachment.cgi?id=316441

Before patching (if you do at all - I recommend you don't patch unless
you just want to) run this command in the directory you are running
eselect in. (For me it was just /root)

echo -*

On a 'good' machine it returns

-q

On a 'bad' machine here it returns

--help -q

I don't think the machine is really bad. I think eselect was likely
just not being selective enough about how it works with whatever is in
the directory or search path? Not sure.

If you see something different you might add it to the bug report but
I suspect we've got the same issue.

Cheers,
Mark

Paul Hartman 06-27-2012 06:26 PM

eselect binutils list not matching
 
On Wed, Jun 27, 2012 at 9:34 AM, Mark Knecht <markknecht@gmail.com> wrote:
> On Tue, Jun 26, 2012 at 8:27 PM, Paul Hartman
> <paul.hartman+gentoo@gmail.com> wrote:
>> On Sun, Jun 24, 2012 at 1:27 PM, Mark Knecht <markknecht@gmail.com> wrote:
>>> Hi,
>>> * One of my machines is giving an undesired response in eselect:
>>>
>>> c2stable ~ # eselect binutils list
>>> !!! Error: Pattern *does not match any installed version of binutils!
>>> exiting
>>> c2stable ~ #
>>
>> Mine does the same thing on 1 computer but works on 2 others. All with
>> the same versions of all involved packages. Weird.
>>
>
> Hey, at least I'm in good company if my old friend Paul Hartman sees
> the same thing. :-)
>
> There is a patch to the binutils.eselect file here that worked for me:
>
> https://423525.bugs.gentoo.org/attachment.cgi?id=316441
>
> Before patching (if you do at all - I recommend you don't patch unless
> you just want to) run this command in the directory you are running
> eselect in. (For me it was just /root)
>
> echo -*
>
> On a 'good' machine it returns
>
> -q
>
> On a 'bad' machine here it returns
>
> --help -q
>
> I don't think the machine is really bad. I think eselect was likely
> just not being selective enough about how it works with whatever is in
> the directory or search path? Not sure.
>
> If you see something different you might add it to the bug report but
> I suspect we've got the same issue.

Ah-ha. When I run the command from a directory which does not contain
any files or dirs starting with hyphen, it is fine. In my user dir
there is ~/- directory for some reason, so that must have been
confusing it.


All times are GMT. The time now is 10:03 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.