Wednesday, May 1, 2024
 Popular · Latest · Hot · Upcoming
2
rated 0 times [  2] [ 0]  / answers: 1 / hits: 3256  / 3 Years ago, thu, september 23, 2021, 3:27:43

I have recently uninstalled Rhythmbox on my Ubuntu 14.04 laptop, through the Ubuntu Software Center and, because it still appeared under the sound icon, I ran the command sudo apt-get purge rhythmbox in Terminal. In case you are wondering why, Rhythmbox was failing to start on a regular basis, so I foolishly thought that a simple reinstall would make life better!



Next I installed Rhythmbox again through the Ubuntu Software Center now, when I click the icon to run it, nothing happens and when I enter the command rhythmbox in terminal, I receive the following error.



$ rhythmbox
rhythmbox: error while loading shared libraries: libtotem-plparser.so.17: cannot open shared object file: No such file or directory


How do I reinstall the shared libraries libtotem-plparser.so.17 or access/re-create the necessary shared object file?



I have tried:



the fix on Missing shared library for Rhythmbox Changing the librhythmbox-core7 to 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


I also tried the fix on Rhythmbox does not start after upgrading to Ubuntu 14.04



but still get the same error message in both cases:



$ rhythmbox
rhythmbox: error while loading shared libraries: libtotem-plparser.so.17: cannot open shared object file: No such file or directory


Update 1



Suggested by 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


Update 2



I have tried downloading and reinstalling 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

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


When I make the file it runs well until:



  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


Then running Rhythmbox from the Terminal gives:



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'


Update 3 from Dobey



$ 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


Update 4 by sneetsher



After running sudo dpkg -i libtotem-plparser17_3.4.5-1_amd64.deb in 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

More From » 14.04

 Answers
5

  • Well, libtotem-plparser17 is not available in Trusty repo:



    http://packages.ubuntu.com/search?keywords=libtotem-plparser17&searchon=names



    In my Ubuntu 14.04, I've both libtotem-plparser17 and libtotem-plparser18, most probably because I made an upgrade from Saucy.


  • So suggest downloading & installing Saucy libtotem-plparser17 pacakge, from:



    http://packages.ubuntu.com/saucy/libtotem-plparser17



    64bit package:



    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


    32bit package:



    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


    I'm not sure about any of its dependencies.


  • Even if it works, that was just a workaround. Possibly, you've multiple copies of Rhythmbox executable.




    1. Check which rhythmbox (@fossfreedom asked about already) or try run /usr/bin/rhythmbox

    2. Check sudo updatedb; locate -r /bin/rhythmbox$ (this should cover regular installation configure, executable in a bin/ folder )


  • If you get multiple copies, clean up manually installed Rhythmbox




    1. Check if all list files/folders are related rhythmbox (As rm -rf is dangerous command)



      find /usr/local/ -iname *rhythmbox* -exec rm -rf {} ;

    2. If it's ok, add sudo to it:



      sudo find /usr/local/ -iname *rhythmbox* -exec rm -rf {} ;


  • If there is only one copy. Another assumption either some way you get rhythmbox itself that was build vs libtotem-plparser.so.17 or one of the loaded plugins (any custom plugins?)




    1. Confirm ldd /usr/bin/rhythmbox list only libtotem-plparser.so.18 (no libtotem-plparser.so.17)


    2. Then it could be a loaded plugin. Use strace for debuging:



      strace -e trace=open -o trace.log rhythmbox


      Check for paths which plugins are loaded from:



      grep -i plugin trace.log | sort
      grep -i ".so" trace.log | sort


      Purge it manually:



       sudo rm -rf /usr/lib/rhythmbox/plugins/ /usr/share/rhythmbox/plugins/ [...]


  • Purge packages then Reinstall



         sudo apt-get --purge remove -s 'rhythmbox*'
    sudo apt-get install rhythmbox


[#24691] Thursday, September 23, 2021, 3 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
tionavocad

Total Points: 189
Total Questions: 101
Total Answers: 118

Location: Liechtenstein
Member since Wed, Dec 8, 2021
2 Years ago
tionavocad questions
Tue, May 23, 23, 00:07, 1 Year ago
Tue, Jan 17, 23, 20:38, 1 Year ago
Sun, Oct 10, 21, 04:50, 3 Years ago
Tue, Jun 7, 22, 08:50, 2 Years ago
;