J'ai récemment désinstallé Rhythmbox sur mon ordinateur portable Ubuntu 14.04, via le Ubuntu Software Center et, comme il apparaissait toujours sous l’icône du son, j’exécutais la commande Sudo apt-get purge rhythmbox
dans Terminal . Au cas où vous vous demanderiez pourquoi, Rhythmbox ne parvenait pas à démarrer régulièrement, alors j'ai bêtement pensé qu'une réinstallation simple rendrait la vie meilleure!
Ensuite, j'ai installé Rhythmbox à nouveau via le Ubuntu Software Center maintenant, lorsque je cliquez sur l'icône pour l'exécuter, rien ne se passe et lorsque j'entre la commande rhythmbox
dans le terminal, le message d'erreur suivant s'affiche.
$ rhythmbox
rhythmbox: error while loading shared libraries: libtotem-plparser.so.17: cannot open shared object file: No such file or directory
Comment puis-je réinstaller les bibliothèques partagées libtotem-plparser.so.17 ou accéder/recréer le fichier d'objet partagé nécessaire?
le correctif sur bibliothèque partagée manquante pour Rhythmbox Modification du librhythmbox-core7 à librhythmbox-core8 :
Sudo apt-get --reinstall install gir1.2-rb-3.0 librhythmbox-core8 rhythmbox rhythmbox-data rhythmbox-mozilla rhythmbox-plugin-cdrecorder rhythmbox-plugin-zeitgeist rhythmbox-plugins
J'ai aussi essayé le correctif sur Rhythmbox ne démarre pas après la mise à niveau vers Ubuntu 14.04
mais obtenez toujours le même message d'erreur dans les deux cas:
$ rhythmbox
rhythmbox: error while loading shared libraries: libtotem-plparser.so.17: cannot open shared object file: No such file or directory
Proposé par Jobin
$ ls -l /usr/lib/libtotem-plparser.so.18:
lrwxrwxrwx 1 root root 27 Apr 1 14:32 /usr/lib/libtotem-plparser.so.18 -> libtotem-plparser.so.18.1.0
J'ai essayé de télécharger et de réinstaller Rhythmbox 3:
simon@simon-TS44HR:~/Downloads/rhythmbox-3.0.2$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gobject-introspection... yes
checking whether NLS is requested... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for intltool >= 0.35.0... 0.50.2 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for Perl... /usr/bin/Perl
checking for Perl >= 5.8.1... 5.18.2
checking for XML::Parser... ok
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking build system type... x86_64-unknown-linux-gnu
checking Host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the Shell understands some XSI constructs... yes
checking whether the Shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating ./config.lt
config.lt: creating libtool
checking whether byte ordering is bigendian... no
checking size of long... 8
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GNU extension fwrite_unlocked... yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for RB_CLIENT... yes
checking for RHYTHMBOX... yes
checking for TOTEM_PLPARSER... yes
checking for GUDEV... yes
checking for HAL... no
checking for iPod... yes
checking for MTP... yes
checking for LIBSECRET... yes
checking for GSTREAMER... yes
checking for NOTIFY... yes
Your libnotify version is 0,7,6.
checking for uncompress in -lz... yes
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for XFree86 headers... yes
checking for LIBBRASERO_MEDIA... yes
checking for glib-genmarshal... /usr/bin/glib-genmarshal
checking for gdk-pixbuf-csource... /usr/bin/gdk-pixbuf-csource
checking whether strftime supports %E and %O modifiers... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for msgmerge... (cached) /usr/bin/msgmerge
checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path Origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking lirc/lirc_client.h usability... yes
checking lirc/lirc_client.h presence... yes
checking for lirc/lirc_client.h... yes
checking for lirc_init in -llirc_client... yes
checking for WEBKIT... yes
checking for more warnings... no
checking whether gcc understands -fno-strict-aliasing... yes
checking for gtk-doc... yes
checking for gtkdoc-check... gtkdoc-check.test
checking for gtkdoc-check... /usr/bin/gtkdoc-check
checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase
checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf
checking whether to build gtk-doc documentation... no
checking for GTKDOC_DEPS... yes
checking for itstool... itstool
checking for xmllint... xmllint
checking for a Python interpreter with version >= 3.2.3... python3
checking for python3... /usr/bin/python3
checking for python3 version... 3.4
checking for python3 platform... linux
checking for python3 script directory... ${prefix}/lib/python3.4/site-packages
checking for python3 extension module directory... ${exec_prefix}/lib/python3.4/site-packages
checking for PYTHON... yes
checking whether Vala plugin support is requested... autodetect
checking whether FM radio support is requested... checking linux/videodev2.h usability... yes
checking linux/videodev2.h presence... yes
checking for linux/videodev2.h... yes
checking for CHECK... no
checking for DMAPSHARING... yes
checking for CLUTTER... yes
checking for GRILO... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating rhythmbox.pc
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating lib/libmediaplayerid/Makefile
config.status: creating metadata/Makefile
config.status: creating rhythmdb/Makefile
config.status: creating widgets/Makefile
config.status: creating podcast/Makefile
config.status: creating Shell/Makefile
config.status: creating data/Makefile
config.status: creating data/rhythmbox.desktop.in
config.status: creating data/rhythmbox-device.desktop.in
config.status: creating data/ui/Makefile
config.status: creating data/icons/Makefile
config.status: creating data/icons/hicolor/Makefile
config.status: creating data/icons/hicolor/16x16/Makefile
config.status: creating data/icons/hicolor/16x16/apps/Makefile
config.status: creating data/icons/hicolor/16x16/status/Makefile
config.status: creating data/icons/hicolor/22x22/Makefile
config.status: creating data/icons/hicolor/22x22/apps/Makefile
config.status: creating data/icons/hicolor/24x24/Makefile
config.status: creating data/icons/hicolor/24x24/apps/Makefile
config.status: creating data/icons/hicolor/32x32/Makefile
config.status: creating data/icons/hicolor/32x32/apps/Makefile
config.status: creating data/icons/hicolor/48x48/Makefile
config.status: creating data/icons/hicolor/48x48/apps/Makefile
config.status: creating data/icons/hicolor/48x48/status/Makefile
config.status: creating data/icons/hicolor/256x256/Makefile
config.status: creating data/icons/hicolor/256x256/apps/Makefile
config.status: creating data/icons/hicolor/scalable/Makefile
config.status: creating data/icons/hicolor/scalable/apps/Makefile
config.status: creating data/icons/src/Makefile
config.status: creating sources/Makefile
config.status: creating sources/sync/Makefile
config.status: creating plugins/Makefile
config.status: creating plugins/audiocd/Makefile
config.status: creating plugins/audioscrobbler/Makefile
config.status: creating plugins/brasero-disc-recorder/Makefile
config.status: creating plugins/daap/Makefile
config.status: creating plugins/fmradio/Makefile
config.status: creating plugins/im-status/Makefile
config.status: creating plugins/iPod/Makefile
config.status: creating plugins/mtpdevice/Makefile
config.status: creating plugins/iradio/Makefile
config.status: creating plugins/lirc/Makefile
config.status: creating plugins/lyrics/Makefile
config.status: creating plugins/pythonconsole/Makefile
config.status: creating plugins/artsearch/Makefile
config.status: creating plugins/magnatune/Makefile
config.status: creating plugins/generic-player/Makefile
config.status: creating plugins/rb/Makefile
config.status: creating plugins/rb/rbconfig.py
config.status: creating plugins/power-manager/Makefile
config.status: creating plugins/mmkeys/Makefile
config.status: creating plugins/context/Makefile
config.status: creating plugins/sendto/Makefile
config.status: creating plugins/replaygain/Makefile
config.status: creating plugins/mpris/Makefile
config.status: creating plugins/dbus-media-server/Makefile
config.status: creating plugins/rbzeitgeist/Makefile
config.status: creating plugins/notification/Makefile
config.status: creating plugins/visualizer/Makefile
config.status: creating plugins/grilo/Makefile
config.status: creating sample-plugins/Makefile
config.status: creating sample-plugins/sample/Makefile
config.status: creating sample-plugins/sample-python/Makefile
config.status: creating sample-plugins/sample-vala/Makefile
config.status: creating bindings/Makefile
config.status: creating bindings/vala/Makefile
config.status: creating bindings/gi/Makefile
config.status: creating help/Makefile
config.status: creating po/Makefile.in
config.status: creating tests/Makefile
config.status: creating doc/Makefile
config.status: creating doc/reference/Makefile
config.status: creating backends/Makefile
config.status: creating backends/gstreamer/Makefile
config.status: creating remote/Makefile
config.status: creating remote/dbus/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing po/stamp-it commands
configure: Rhythmbox was configured with the following options:
configure: ** Tree database is enabled
configure: ** Multimedia keys support is enabled
configure: ** iPod integration enabled
configure: ** MTP integration enabled
configure: ** CD burning support enabled
configure: ** DAAP (music sharing) support is enabled
configure: ** libnotify support is enabled
configure: ** WebKit support is enabled
configure: ** GUdev support enabled
configure: ** Python plugin support enabled
configure: Vala plugin support disabled
configure: ** Libsecret keyring support enabled
configure: ** FM radio support enabled
configure: ** iTunes detection browser plugin (for podcasts) enabled
configure: ** Visualizer plugin enabled
configure: End options
Lorsque je crée le fichier, il fonctionne bien jusqu'à ce que:
File "/usr/lib/gobject-introspection/giscanner/cachestore.py", line 148, in _clean
self._remove_filename(os.path.join(self._directory, filename))
File "/usr/lib/gobject-introspection/giscanner/cachestore.py", line 130, in _remove_filename
os.unlink(filename)
OSError: [Errno 13] Permission denied: '/home/simon/.cache/g-ir-scanner/c3fdfb2eef221c4c5ec8d16026d3ec132ad90e39'
make[3]: *** [MPID-3.0.gir] Error 1
make[3]: Leaving directory `/home/simon/Downloads/rhythmbox-3.0.2/bindings/gi'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/simon/Downloads/rhythmbox-3.0.2/bindings'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/simon/Downloads/rhythmbox-3.0.2'
make: *** [all] Error 2
Ensuite, lancer Rhythmbox à partir du terminal donne:
simon@simon-TS44HR:~/Downloads/rhythmbox-3.0.2$ rhythmbox
rhythmbox: error while loading shared libraries: libtotem-plparser.so.17: cannot open shared object file: No such file or directory'
$ apt-cache policy rhythmbox
rhythmbox:
Installed: 3.0.2-0ubuntu2
Candidate: 3.0.2-0ubuntu2
Version table:
*** 3.0.2-0ubuntu2 0
500 http://gb.archive.ubuntu.com/ubuntu/ trusty-updates/main AMD64 Packages
100 /var/lib/dpkg/status
3.0.2-0ubuntu1 0
500 http://gb.archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
Après avoir exécuté Sudo dpkg -i libtotem-plparser17_3.4.5-1_AMD64.deb
dans le terminal
$ rhythmbox
(rhythmbox:4104): GLib-GIO-CRITICAL **: g_settings_new_with_path: assertion 'path_is_valid (path)' failed
(rhythmbox:4104): GLib-GIO-CRITICAL **: g_settings_new_with_path: assertion 'path_is_valid (path)' failed
(rhythmbox:4104): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(rhythmbox:4104): GLib-GObject-CRITICAL **: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(rhythmbox:4104): GLib-GIO-CRITICAL **: g_settings_get_value: assertion 'G_IS_SETTINGS (settings)' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_get_type: assertion 'value != NULL' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_get_boolean: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_unref: assertion 'value != NULL' failed
(rhythmbox:4104): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(rhythmbox:4104): GLib-GObject-CRITICAL **: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(rhythmbox:4104): GLib-GIO-CRITICAL **: g_settings_get_value: assertion 'G_IS_SETTINGS (settings)' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_get_type: assertion 'value != NULL' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_get_boolean: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)' failed
(rhythmbox:4104): GLib-CRITICAL **: g_variant_unref: assertion 'value != NULL' failed
(rhythmbox:4104): Rhythmbox-WARNING **: Could not open device /dev/radio0
Eh bien, libtotem-plparser17
n'est pas disponible dans le dépôt Trusty:
http://packages.ubuntu.com/search?keywords=libtotem-plparser17&searchon=names
Dans mon Ubuntu 14.04, j'ai à la fois libtotem-plparser17
et libtotem-plparser18
, probablement parce que j'ai mis à jour Saucy.
Nous vous suggérons donc de télécharger et d'installer Saucy libtotem-plparser17
pacakge, à partir de:
http://packages.ubuntu.com/saucy/libtotem-plparser17
Paquet 64 bits:
wget http://gb.archive.ubuntu.com/ubuntu/pool/main/t/totem-pl-parser/libtotem-plparser17_3.4.5-1_AMD64.deb
Sudo dpkg -i libtotem-plparser17_3.4.5-1_AMD64.deb
Paquet 32bit:
wget http://gb.archive.ubuntu.com/ubuntu/pool/main/t/totem-pl-parser/libtotem-plparser17_3.4.5-1_i386.deb
Sudo dpkg -i libtotem-plparser17_3.4.5-1_i386.deb
Je ne suis pas sûr de l'une de ses dépendances.
Même si cela fonctionne, ce n'était qu'une solution de contournement. Vous avez peut-être plusieurs copies de l'exécutable Rhythmbox.
which rhythmbox
(@fossfreedom a déjà été interrogé) ou essayez de lancer /usr/bin/rhythmbox
Sudo updatedb; locate -r /bin/rhythmbox$
(cela devrait couvrir l’installation normale configure
, exécutable dans un bin/dossier)Si vous avez plusieurs copies , nettoyez manuellement Rhythmbox installé
Vérifiez si tous les fichiers/dossiers de la liste sont liés à rhythmbox (la commande As rm -rf
is dangerous)
find /usr/local/ -iname *rhythmbox* -exec rm -rf {} \;
Si c'est bon, ajoutez Sudo
à cela:
Sudo find /usr/local/ -iname *rhythmbox* -exec rm -rf {} \;
S'il n'y a qu'une seule copie . Une autre hypothèse est que, d'une manière ou d'une autre, vous obtenez Rhythmbox lui-même qui était build vs libtotem-plparser.so.17
ou l'un des plugins chargés (des plugins personnalisés?)
Confirmez ldd /usr/bin/rhythmbox
liste seulement libtotem-plparser.so.18
(no libtotem-plparser.so.17
)
Ensuite, il pourrait s'agir d'un plugin chargé. Utilisez strace
pour le débogage:
strace -e trace=open -o trace.log rhythmbox
Recherchez les chemins depuis lesquels les plugins sont chargés:
grep -i plugin trace.log | sort
grep -i "\.so" trace.log | sort
Purgez-le manuellement:
Sudo rm -rf /usr/lib/rhythmbox/plugins/ /usr/share/rhythmbox/plugins/ [...]
Purger les paquets puis réinstaller
Sudo apt-get --purge remove -s 'rhythmbox*'
Sudo apt-get install rhythmbox
Vous avez une ancienne version de rhythmbox installée dans le préfixe /usr/local
. Vous devriez l'enlever de là. Les commandes suivantes devraient aider avec ça:
rm /usr/local/bin/rhythmbox* rm /usr/local/lib/librhythmbox* rm -rf /usr/local/lib/rhythmbox rm -rf /usr/local/share/rhythmbox rm /usr/local/share/applications/rhythmbox* rm /usr/share/glib-2.0/schemas/org.gnome. rhythmbox.gschema.xml
Puis purgez et réinstallez la version de l'archive:
Sudo apt-get autoremove --purge librhythbmox-core8 libtotem-plparser17 Sudo apt-get install rhythmbox
Cela devrait vous ramener à ce qui est dans les archives et à une boîte à rythmes de travail.
Une supposition éclairée indique que vous devrez peut-être installer le paquet libtotem-plparser18
en ouvrant un terminal et en tapant:
Sudo apt-get install libtotem-plparser18
comment tu sais ça?
Je peux ouvrir rhythmbox sans ce message d'erreur, ce qui veut dire que j'ai ce paquet. Alors, ouvrez un terminal et tapez:
locate libtotem | grep plparser
qui a retourné les résultats suivants:
/usr/lib/libtotem-plparser-mini.so.18
/usr/lib/libtotem-plparser-mini.so.18.1.0
/usr/lib/libtotem-plparser.so.18
/usr/lib/libtotem-plparser.so.18.1.0
/usr/share/doc/libtotem-plparser18
/usr/share/doc/libtotem-plparser18/AUTHORS
/usr/share/doc/libtotem-plparser18/NEWS.gz
/usr/share/doc/libtotem-plparser18/README
/usr/share/doc/libtotem-plparser18/changelog.Debian.gz
/usr/share/doc/libtotem-plparser18/copyright
/var/lib/dpkg/info/libtotem-plparser18.list
/var/lib/dpkg/info/libtotem-plparser18.md5sums
/var/lib/dpkg/info/libtotem-plparser18.postinst
/var/lib/dpkg/info/libtotem-plparser18.postrm
/var/lib/dpkg/info/libtotem-plparser18.shlibs
/var/lib/dpkg/info/libtotem-plparser18.symbols
à partir duquel /usr/lib/libtotem-plparser.so.18
"ressemble" au meilleur candidat. Maintenant, pour obtenir cet objet partagé, vous devez l'installer, tapez:
apt-cache search libtotem-plparser
qui retourne:
libtotem-plparser-dbg - Totem Playlist Parser library - debugging symbols
libtotem-plparser-dev - Totem Playlist Parser library - development files
libtotem-plparser18 - Totem Playlist Parser library - runtime files
parmi lesquels encore libtotem-plparser18
"ressemble" au paquet requis.