You are not logged in.
Hi there.
My favourite musicplayer gmb has some problems on arch. I've already asked about this
in the gmb forums and it looks like my perl libraries have been compiled with 32bits but I have a
64bit system. So it looks like my perl installation may be faulty, this is why I'm asking here now.
I can't select gstreamer from the audio menu although I have perl-gstreamer installed and gstreamer
itself works perfectly in other applications. When I install the perl-gtk2-trayicon package to get a trayicon
gmb won't even start.
These are the errors I get when I start gmb without having perl-gtk2-trayicon installed:
Locale::gettext not found -> no translations
Gtk2::TrayIcon not found -> tray icon won't be available
Error loading Net::DBus :
Can't load '/usr/lib/perl5/vendor_perl/auto/Net/DBus/DBus.so' for module Net::DBus: /usr/lib/perl5/vendor_perl/auto/Net/DBus/DBus.so: wrong ELF class: ELFCLASS32 at /usr/lib/perl5/core_perl/XSLoader.pm line 70.
at /usr/lib/perl5/vendor_perl/Net/DBus.pm line 92
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/Net/DBus.pm line 93.
Compilation failed in require at /usr/lib/perl5/vendor_perl/Net/DBus/Binding/Iterator.pm line 73.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/Net/DBus/Binding/Iterator.pm line 73.
Compilation failed in require at /usr/lib/perl5/vendor_perl/Net/DBus/Binding/Message.pm line 148.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/Net/DBus/Binding/Message.pm line 148.
Compilation failed in require at /usr/lib/perl5/vendor_perl/Net/DBus/Binding/Introspector.pm line 59.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/Net/DBus/Binding/Introspector.pm line 59.
Compilation failed in require at /usr/lib/perl5/vendor_perl/Net/DBus/Exporter.pm line 245.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/Net/DBus/Exporter.pm line 245.
Compilation failed in require at /usr/lib/perl5/vendor_perl/Net/DBus/Object.pm line 129.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/Net/DBus/Object.pm line 129.
Compilation failed in require at (eval 26) line 3.
...propagated at /usr/share/perl5/core_perl/base.pm line 94.
BEGIN failed--compilation aborted at /usr/bin/../share/gmusicbrowser/gmusicbrowser_dbus.pm line 13.
Compilation failed in require at /usr/bin/gmusicbrowser line 261.
=> controling gmusicbrowser through DBus won't be possible.
Can't load '/usr/lib/perl5/vendor_perl/auto/GStreamer/GStreamer.so' for module GStreamer: /usr/lib/perl5/vendor_perl/auto/GStreamer/GStreamer.so: wrong ELF class: ELFCLASS32 at /usr/lib/perl5/core_perl/DynaLoader.pm line 200.
at /usr/bin/../share/gmusicbrowser/gmusicbrowser_gstreamer-0.10.pm line 54
Compilation failed in require at /usr/bin/../share/gmusicbrowser/gmusicbrowser_gstreamer-0.10.pm line 54.
-> gstreamer output won't be available.
mpg321 not found => mp3 files won't be played through the 123 output.
flac123 or ogg123 not found => flac files won't be played through the 123 output.
ogg123 not found => ogg files won't be played through the 123 output.
Reading saved tags in /home/orim/.config/gmusicbrowser/tags ...
Reading saved tags in /home/orim/.config/gmusicbrowser/tags ... done
plugin /usr/bin/../share/gmusicbrowser/plugins/gnome_mmkeys.pm failed : Attempt to reload Net/DBus.pm aborted.
Compilation failed in require at /usr/bin/../share/gmusicbrowser/plugins/gnome_mmkeys.pm line 18.
BEGIN failed--compilation aborted at /usr/bin/../share/gmusicbrowser/plugins/gnome_mmkeys.pm line 18
And this I get when perl-gtk2-trayicon is installed:
Can't load '/usr/lib/perl5/vendor_perl/auto/Gtk2/TrayIcon/TrayIcon.so' for module Gtk2::TrayIcon: /usr/lib/perl5/vendor_perl/auto/Gtk2/TrayIcon/TrayIcon.so: wrong ELF class: ELFCLASS32 at /usr/lib/perl5/core_perl/DynaLoader.pm line 200.
at /usr/bin/gmusicbrowser line 121
Compilation failed in require at /usr/bin/gmusicbrowser line 121.
BEGIN failed--compilation aborted at /usr/bin/gmusicbrowser line 123.
Any help is appreciated, thanks.
Offline
Did you use pacman to automatically download the perl-gstreamer and perl-gtk2-trayicon packages? I would imagine if you used pacman with these perl packages you would also have problems with many other packages as well. Are you using x86_64 directories in your /etc/pacman.d/mirrorlist file?
I checked the files at the ftp.archlinux.org repository (for example: ftp://ftp.archlinux.org/community/os/x8 … pkg.tar.gz) but they seem to be ELFCLASS64, according to "readelf -h ..."
You could always try building the perl modules yourself to make sure they are built for x86_64. You would have to download the PKGBUILD for the perl-gstreamer and perl-gtk2-trayicon modules to an empty directory, cd to the directory and then run makepkg.
There is a list of tools at the archlinux wiki which help you to automatically package perl modules you compile yourself from CPAN.
I am unsure why this would only happen to your perl modules and not your entire system...
Offline
Did you use pacman to automatically download the perl-gstreamer and perl-gtk2-trayicon packages? I would imagine if you used pacman with these perl packages you would also have problems with many other packages as well. Are you using x86_64 directories in your /etc/pacman.d/mirrorlist file?
Man, I feel stupid. I actually had a i686 repository in my mirrorlist ftp://ftp.archlinux.org/community/os/i686
Is there any way to find out what packages I have installed using this server?
Or what packages I have on my system that are meant for a i686 system?
I might have more broken packages than I think...
Thanks for your answer, when I first read your reply I thought: "Of course my mirrorlist file is in order"
Silly me ![]()
Oh yeah, gmb is running perfectly now, of course.
Offline
maybe you want to do that as root (it wont take really long)
rm -rf /var/lib/pacman/sync/*
pacman -Syy
for i in $( pacman -Qe | cut -d ' ' -f 1 ); do echo -n "$i " >> ./exp; done
for i in $( pacman -Q | cut -d ' ' -f 1 ); do echo -n "$i " >> ./bla; done && pacman -S `cat bla` --asdeps
pacman -S `cat exp` --asexplicitit will re-install all your packages (and than with 64bit
)
Last edited by Vamp898 (2010-01-08 00:03:35)
Offline
Vamp898 - check out pacman -Qq instead of that cut stuff. ![]()
Offline
Vamp898 - check out pacman -Qq instead of that cut stuff.
than it doesn´t look this nice
BASH is such a nice langauge
xD
Offline
Thank you.
I just used pacman -Qq and then checked all packages that I thought might
come from community. Luckily I have not installed this much, yet.
Is there really no way to tell from which server a package has been installed?
Offline
ls /var/cache/pacman/pkg/*i686.pkg.tar.gzOffline
I knew that the answer must be very very easy ![]()
Thanks, all my packages have now been installed correctly.
Offline