Ubuntu 14.04ラップトップでUbuntu Software Centerを使用してRhythmboxをアンインストールしましたが、サウンドアイコンの下にまだ表示されていたため、コマンドSudo apt-get purge rhythmbox
inTerminal。理由がわからない場合は、Rhythmboxが定期的に起動できなかったので、単純な再インストールで生活が良くなると愚かに思っていました。
次に、RhythmboxをUbuntu Software Centerから再度インストールしました。アイコンをクリックして実行しても何も起こりません。コマンドrhythmbox
を入力してもターミナルで、次のエラーが表示されます。
$ rhythmbox
rhythmbox: error while loading shared libraries: libtotem-plparser.so.17: cannot open shared object file: No such file or directory
共有ライブラリlibtotem-plparser.so.17を再インストールするか、必要な共有オブジェクトファイルにアクセス/再作成するにはどうすればよいですか?
の修正Rhythmboxの共有ライブラリの欠落 変更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
また、 で修正を試みましたUbuntu 14.04にアップグレードした後、Rhythmboxが起動しません
ただし、どちらの場合でも同じエラーメッセージが表示されます。
$ rhythmbox
rhythmbox: error while loading shared libraries: libtotem-plparser.so.17: cannot open shared object file: No such file or directory
提案 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
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
ファイルを作成すると、次の状態になるまで正常に実行されます。
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
次に、ターミナルからRhythmboxを実行すると次の結果が得られます。
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
ターミナルでSudo dpkg -i libtotem-plparser17_3.4.5-1_AMD64.deb
を実行した後
$ 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
まあ、libtotem-plparser17
はTrustyリポジトリで利用できません:
http://packages.ubuntu.com/search?keywords=libtotem-plparser17&searchon=names
Ubuntu 14.04では、libtotem-plparser17
とlibtotem-plparser18
の両方を使用していますが、これはおそらくSaucyからアップグレードしたためです。
Saucy libtotem-plparser17
pacakgeのダウンロードとインストールをお勧めします。
http://packages.ubuntu.com/saucy/libtotem-plparser17
64ビットパッケージ:
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
32ビットパッケージ:
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
その依存関係についてはわかりません。
それが機能したとしても、それは単なる回避策でした。おそらく、Rhythmbox実行可能ファイルの複数のコピーがあります。
which rhythmbox
(@fossfreedomは既に質問されています)を確認するか、/usr/bin/rhythmbox
を実行してくださいSudo updatedb; locate -r /bin/rhythmbox$
(通常のインストールconfigure
、bin /フォルダーで実行可能)を確認します。複数のコピーを取得する場合、手動でインストールしたRhythmboxをクリーンアップします
すべてのリストファイル/フォルダーがリズムボックスに関連しているかどうかを確認します(rm -rf
は危険なコマンドです)
find /usr/local/ -iname *rhythmbox* -exec rm -rf {} \;
よければ、Sudo
を追加します:
Sudo find /usr/local/ -iname *rhythmbox* -exec rm -rf {} \;
コピーが1つだけの場合。別の仮定は、何らかの方法でビルドされたリズムボックス自体を取得しますlibtotem-plparser.so.17
またはロードされたプラグインのいずれか(カスタムプラグイン?)
ldd /usr/bin/rhythmbox
リストのみlibtotem-plparser.so.18
を確認します(libtotem-plparser.so.17
はなし)
次に、ロードされたプラグインである可能性があります。デバッグにはstrace
を使用します。
strace -e trace=open -o trace.log rhythmbox
プラグインのロード元のパスを確認します。
grep -i plugin trace.log | sort
grep -i "\.so" trace.log | sort
手動で削除します。
Sudo rm -rf /usr/lib/rhythmbox/plugins/ /usr/share/rhythmbox/plugins/ [...]
パッケージを削除してから再インストール
Sudo apt-get --purge remove -s 'rhythmbox*'
Sudo apt-get install rhythmbox
/usr/local
プレフィックスにインストールされたrhythmboxの古いビルドがあります。そこから削除する必要があります。次のコマンドがそれを助けます。
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
次に、アーカイブからバージョンを削除して再インストールします。
sudo apt-get autoremove --purge librhythbmox-core8 libtotem-plparser17 sudo apt-get install rhythmbox
これにより、アーカイブの内容と動作するリズムボックスに戻るはずです。
経験に基づいた推測では、ターミナルを開いて次のように入力して、libtotem-plparser18
パッケージをインストールする必要があるかもしれないことがわかります。
Sudo apt-get install libtotem-plparser18
どうやってそれを知っていますか?
そのエラーメッセージなしでrhythmboxを開くことができます。これは、そのパッケージがあることを意味します。そのため、ターミナルを開いて次のように入力します。
locate libtotem | grep plparser
次の結果が返されました。
/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
/usr/lib/libtotem-plparser.so.18
が最適な候補のように見えます。この共有オブジェクトを取得するには、インストールする必要があるため、次のように入力します。
apt-cache search libtotem-plparser
返されるもの:
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
その中で、再びlibtotem-plparser18
は必要なパッケージのように見えます。