[arch-general] kwrite: error while loading shared libraries: libqt-mt.so.3: wrong ELF class: ELFCLASS64 ??

David C. Rankin drankinatty at suddenlinkmail.com
Sun Oct 18 06:30:40 EDT 2009


On Sunday 18 October 2009 03:54:54 am David C. Rankin wrote:
> On Sunday 18 October 2009 12:36:07 am Eric Bélanger wrote:
> 
> Oh,... you are good :)
> 
> [03:51 supersff:/home/david] # l /var/cache/pacman/pkg/qt*
> -rw-r--r-- 1 root root 28017189 2009-10-07 23:49
> /var/cache/pacman/pkg/qt-4.5.3-3-i686.pkg.tar.gz
> -rw-r--r-- 1 root root 10646153 2009-06-17 19:26
> /var/cache/pacman/pkg/qt3-3.3.8-11-i686.pkg.tar.gz
> -rw-r--r-- 1 root root 10619044 2009-10-13 11:58
> /var/cache/pacman/pkg/qt3-3.3.8-13-i686.pkg.tar.gz
> -rw-r--r-- 1 root root 10599475 2009-04-28 21:14 /var/cache/pacman/pkg/qt3-
> enhanced-3.3.8-1-i686.pkg.tar.gz
> -rw-r--r-- 1 root root 11185765 2009-10-07 23:37 /var/cache/pacman/pkg/qt3-
> enhanced-3.3.8-26-x86_64.pkg.tar.gz
> 
> Somehow, how I don't know, but somehow I did get an x86_64 package
>  installed on this box. Go figure ;-) (too much Scotch ):p
> 

Solved - The Arch Repository is Messed up. I just removed qt3-
enhanced-3.3.8-26-x86_64.pkg.tar.gz with 'pacman -R -d qt3-enhanced', then 
deleted the file from my machine with:

rm /var/cache/pacman/pkg/qt3-enhanced-3.3.8-26-x86_64.pkg.tar.gz

then I reinstalled the package with 'pacman -Sy qt3-enhanced'

and I'll be damned if it didn't install /var/cache/pacman/pkg/qt3-
enhanced-3.3.8-26-x86_64.pkg.tar.gz again! 

......That's when the lightbulb winked on and when the feeling of SHAME begin 
to settle in on my consciousness. Further investigation revealed that on 10/8 
when I had updated my box and the new pacman package was installed, I used the 
pacman.conf from an earlier update of my x86_64 Arch server as a "go-by". It 
would seem that there was one occasion with the community repository that an 
'x86_64' did not get replaced by and 'i686', thus 'the loose nut behind the 
keyboard' had installed some:

04:32 supersff:~> l /var/cache/pacman/pkg/*x86_64* | wc -l
52

Yes FIFTY-TWO x86_64 packages on my fine little i686 box. (SMACK to make sure 
I have learned the lesson and SMACK, just for good measure)

Now it seems I need to stroll on over to the bug I opened against the intel 
graphics dying after updates -- and quietly close it diplomatically ;-)

Now to clumbisly stumble through removing 52 x86_64 packages and reinstalling 
the same, but correct i686 package: drum-roll...

## Parse packages to create a list of packages for removal
for i in $(ls -1 /var/cache/pacman/pkg/*x86_64*); do pkg=${i##*/pkg/}; echo 
"$pkg"; done > x86_64pkgs 
while read line; do pkg=${line%%.*}; pkg=${pkg%-*}; echo -n " $pkg" >> rmlist; 
done<x86_64pkgs

## Setup the package list as a removal script
(edit rmlist and add):
#!/bin/sh
pacman -R -d (before the string of packages)

## Execute the removal of x86_64 packages
sh rmlist

## Setup the package list as an install script
(edit rmlist and change -R -d to -Sy):
#!/bin/sh
pacman -Sy (before the string of packages)

## Execute the reinstall of i686 packages
sh rmlist

Done!! Wohoo!! the box is back in fighting shape -- now I'm going to bed!

-- 
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com


More information about the arch-general mailing list