[richardc@richard-ms7c91 ~]$ radiotray-ng
radiotray-ng: error while loading shared libraries: libboost_log.so.1.87.0: cannot open shared object file: No such file or directory
[richardc@richard-ms7c91 ~]$
What’s the fix here? No idea. . . what does it need?
Rich ;
It was working great the last time I ran the app a day ago.
What version of boost
is installed? What does yay -F libboost_log.so
return?
cscs
May 3, 2025, 3:25am
3
Or the other way around..
Was radiotray-ng
rebuilt recently?
Did it maybe need one since system libraries (libboost
) were upgraded?
Boost is newer now, so maybe radiotray-ng-git
works? If not, you can look at the AUR page of radiotray-ng
to find more info or report a problem.
In the past there were often problems with Radiotray after updates. I used to use this programme every day, just like its Windows sister Trayradio.
For this reason I switched to Goodvibes , which can also remain in the taskbar after starting.
The station list can be maintained just as easily as with Radiotray.
I can highly recommend Goodvibes.
(translated with deepl)
1 Like
Another radio player is shortwave
which is a native package.
Haven’t used it though, so I don’t know about its features.
boost 1.88 latest version in AUR. . . .
Rich
Files updated daily. . . .
Rich
Thnx. . . . .installed goodvibes as backup. . . .
Rich;)
Install Shortwave as backup. . . . .
Rich
Rebuild (cleanbuild) the package.
It’s trying to use old libraries because it was built against them.
/usr/include/c++/15.1.1/bits/stl_construct.h:133:7: error: invalid new-expression of abstract class type ‘RadiotrayNG’
133 | ::new(static_cast<void*>(__p)) _Tp(std::forward<_Args>(__args)…);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/richardc/.cache/yay/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/radiotray_ng.hpp:34:7: note: because the following virtual functions are pure within ‘RadiotrayNG’:
34 | class RadiotrayNG final : public IRadioTrayNG
| ^~~~~~~~~~~
/home/richardc/.cache/yay/radiotray-ng/src/radiotray-ng-0.2.9/include/radiotray-ng/i_radiotray_ng.hpp:76:22: note: ‘virtual void IRadioTrayNG::set_volume_msg(int)’
76 | virtual void set_volume_msg(uint32_t volume) = 0;
| ^~~~~~~~~~~~~~
make[2]: *** [src/radiotray-ng/CMakeFiles/radiotray-ng.dir/build.make:79: src/radiotray-ng/CMakeFiles/radiotray-ng.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:403: src/radiotray-ng/CMakeFiles/radiotray-ng.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
Aborting…
→ error making: radiotray-ng-exit status 4
checking dependencies…
Package (1) Old Version Net Change
boost 1.88.0-2 -181.73 MiB
Total Removed Size: 181.73 MiB
:: Do you want to remove these packages? [Y/n]
:: Running pre-transaction hooks…
(1/1) Performing snapper pre snapshots for the following configurations…
:: Processing package changes…
(1/1) removing boost [---------------------------------------------------------------------------------------] 100%
:: Running post-transaction hooks…
(1/2) Arming ConditionNeedsUpdate…
(2/2) Performing snapper post snapshots for the following configurations…
→ Failed to install the following packages. Manual intervention is required:
radiotray-ng - exit status 4
[richardc@richard-ms7c91 ~]$
Rich
Problem reported on their github page. You’ll probably have to wait a bit until the package is fixed.
opened 06:48AM - 03 May 25 UTC
The software does not build anymore. I only noticed it when needing to rebuild f… or boost version 1.88.0. It might also be due to gcc version 15.
A source file relied on a transitive include `#include <cstdint>` which is no longer included. This is one obvious error.
I would be greatful for a fix and a new release.
```sh
-- The CXX compiler identification is GNU 15.1.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found CURL: /usr/lib/libcurl.so (found version "8.13.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.4.3")
-- Found Boost: /usr/lib/cmake/Boost-1.88.0/BoostConfig.cmake (found version "1.88.0") found components: filesystem system log program_options thread
-- wxWidgets: Found gtk3 version, using it.
-- Found wxWidgets: -lwx_gtk3u_core-3.2;-lwx_baseu-3.2 (found version "3.2.8")
-- Checking for one of the modules 'jsoncpp'
-- Checking for one of the modules 'gstreamer-1.0'
-- Checking for one of the modules 'libxdg-basedir'
-- Checking for one of the modules 'libbsd'
-- Checking for one of the modules 'appindicator3-0.1'
-- Checking for one of the modules 'libnotify'
-- Checking for one of the modules 'glibmm-2.4'
-- Checking for one of the modules 'giomm-2.4'
Building version: 0.2.9 for arch rolling -- DEB packaging...
-- Configuring done (2.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/build
[ 2%] Generating rtng_user_agent.hpp
Schwerwiegend: Keine Namen gefunden, kann nichts beschreiben.
[ 2%] Built target user-agent
[ 4%] Building CXX object src/radiotray-ng/gui/appindicator/CMakeFiles/appindicator_gui.dir/appindicator_gui.cpp.o
[ 7%] Linking CXX static library libappindicator_gui.a
[ 7%] Built target appindicator_gui
[ 9%] Building CXX object src/radiotray-ng/config/CMakeFiles/config.dir/config.cpp.o
[ 11%] Linking CXX static library libconfig.a
[ 11%] Built target config
[ 14%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/asf_decoder.cpp.o
[ 16%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/asx_decoder.cpp.o
[ 19%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/m3u_decoder.cpp.o
[ 21%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/ds_decoder.cpp.o
[ 23%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/pls_decoder.cpp.o
[ 26%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/ram_decoder.cpp.o
[ 28%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/xspf_decoder.cpp.o
[ 30%] Building CXX object src/radiotray-ng/playlist/CMakeFiles/playlist.dir/playlist_downloader.cpp.o
[ 33%] Linking CXX static library libplaylist.a
[ 33%] Built target playlist
[ 35%] Building CXX object src/radiotray-ng/bookmarks/CMakeFiles/bookmarks.dir/bookmarks.cpp.o
[ 38%] Linking CXX static library libbookmarks.a
[ 38%] Built target bookmarks
[ 40%] Building CXX object src/radiotray-ng/event_bus/CMakeFiles/event_bus.dir/event_bus.cpp.o
[ 42%] Linking CXX static library libevent_bus.a
[ 42%] Built target event_bus
[ 45%] Building CXX object src/radiotray-ng/player/CMakeFiles/player.dir/player.cpp.o
[ 47%] Linking CXX static library libplayer.a
[ 47%] Built target player
[ 50%] Building CXX object src/radiotray-ng/notification/CMakeFiles/notification.dir/linux/notification.cpp.o
[ 52%] Linking CXX static library libnotification.a
[ 52%] Built target notification
[ 54%] Building CXX object src/radiotray-ng/extras/media_keys/CMakeFiles/media_keys.dir/linux/media_keys.cpp.o
[ 57%] Linking CXX static library libmedia_keys.a
[ 57%] Built target media_keys
[ 59%] Building CXX object src/radiotray-ng/extras/rtng_dbus/CMakeFiles/rtng_dbus.dir/rtng_dbus.cpp.o
[ 61%] Linking CXX static library librtng_dbus.a
[ 61%] Built target rtng_dbus
[ 64%] Building CXX object src/radiotray-ng/CMakeFiles/radiotray-ng.dir/main.cpp.o
In Datei, eingebunden von /home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/radiotray_ng.hpp:21,
von /home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/main.cpp:18:
/home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/include/radiotray-ng/i_radiotray_ng.hpp:76:37: Fehler: »uint32_t« wurde nicht deklariert
76 | virtual void set_volume_msg(uint32_t volume) = 0;
| ^~~~~~~~
/home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/include/radiotray-ng/i_radiotray_ng.hpp:1:1: Anmerkung: »uint32_t« ist im Header »<cstdint>« definiert; das ist wahrscheinlich behebbar, indem Sie »#include <cstdint>« hinzufügen
+++ |+#include <cstdint>
1 | // Copyright 2017 Edward G. Bruck <ed.bruck1@gmail.com>
/home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/include/radiotray-ng/i_radiotray_ng.hpp:76:22: Warnung: »virtual void IRadioTrayNG::set_volume_msg(int)« war versteckt [-Woverloaded-virtual=]
76 | virtual void set_volume_msg(uint32_t volume) = 0;
| ^~~~~~~~~~~~~~
/home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/radiotray_ng.hpp:93:14: Anmerkung: von »void RadiotrayNG::set_volume_msg(uint32_t)«
93 | void set_volume_msg(uint32_t volume);
| ^~~~~~~~~~~~~~
In Datei, eingebunden von /usr/include/c++/15.1.1/bits/alloc_traits.h:33,
von /usr/include/c++/15.1.1/ext/alloc_traits.h:36,
von /usr/include/c++/15.1.1/bits/basic_string.h:41,
von /usr/include/c++/15.1.1/string:56,
von /home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/include/radiotray-ng/i_notification.hpp:20,
von /home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/notification/notification.hpp:19,
von /home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/radiotray_ng.hpp:20:
/usr/include/c++/15.1.1/bits/stl_construct.h: In instantiation of »void std::_Construct(_Tp*, _Args&& ...) [with _Tp = RadiotrayNG; _Args = {shared_ptr<Config>&, shared_ptr<Bookmarks>&, shared_ptr<Player>&, shared_ptr<EventBus>&}]«:
/usr/include/c++/15.1.1/bits/alloc_traits.h:805:19: required from »static void std::allocator_traits<std::allocator<void> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = RadiotrayNG; _Args = {std::shared_ptr<Config>&, std::shared_ptr<Bookmarks>&, std::shared_ptr<Player>&, std::shared_ptr<EventBus>&}; allocator_type = std::allocator<void>]«
805 | { std::_Construct(__p, std::forward<_Args>(__args)...); }
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/bits/shared_ptr_base.h:606:39: required from »std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<Config>&, std::shared_ptr<Bookmarks>&, std::shared_ptr<Player>&, std::shared_ptr<EventBus>&}; _Tp = RadiotrayNG; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]«
606 | allocator_traits<_Alloc>::construct(__a, _M_ptr(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
607 | std::forward<_Args>(__args)...); // might throw
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/bits/shared_ptr_base.h:969:16: required from »std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = RadiotrayNG; _Alloc = std::allocator<void>; _Args = {std::shared_ptr<Config>&, std::shared_ptr<Bookmarks>&, std::shared_ptr<Player>&, std::shared_ptr<EventBus>&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]«
969 | auto __pi = ::new (__mem)
| ^~~~~~~~~~~~~
970 | _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/bits/shared_ptr_base.h:1719:14: required from »std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {std::shared_ptr<Config>&, std::shared_ptr<Bookmarks>&, std::shared_ptr<Player>&, std::shared_ptr<EventBus>&}; _Tp = RadiotrayNG; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]«
1719 | : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/bits/shared_ptr.h:463:59: required from »std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {std::shared_ptr<Config>&, std::shared_ptr<Bookmarks>&, std::shared_ptr<Player>&, std::shared_ptr<EventBus>&}; _Tp = RadiotrayNG]«
463 | : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
| ^
/usr/include/c++/15.1.1/bits/shared_ptr.h:1007:14: required from »std::shared_ptr<typename std::enable_if<(! std::is_array<_Tp>::value), _Tp>::type> std::make_shared(_Args&& ...) [with _Tp = RadiotrayNG; _Args = {shared_ptr<Config>&, shared_ptr<Bookmarks>&, shared_ptr<Player>&, shared_ptr<EventBus>&}; typename enable_if<(! is_array<_Tp>::value), _Tp>::type = RadiotrayNG]«
1007 | return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1008 | std::forward<_Args>(__args)...);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/main.cpp:279:51: required from here
279 | auto radiotray_ng = std::make_shared<RadiotrayNG>(config, bookmarks, player, event_bus);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/bits/stl_construct.h:133:7: Fehler: ungültiger new-Ausdruck für abstrakte Klasse »RadiotrayNG«
133 | ::new(static_cast<void*>(__p)) _Tp(std::forward<_Args>(__args)...);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/radiotray_ng.hpp:34:7: Anmerkung: denn die folgenden virtuellen Funktionen sind rein innerhalb »RadiotrayNG«:
34 | class RadiotrayNG final : public IRadioTrayNG
| ^~~~~~~~~~~
/home/matheus/.cache/paru/clone/radiotray-ng/src/radiotray-ng-0.2.9/include/radiotray-ng/i_radiotray_ng.hpp:76:22: Anmerkung: »virtual void IRadioTrayNG::set_volume_msg(int)«
76 | virtual void set_volume_msg(uint32_t volume) = 0;
| ^~~~~~~~~~~~~~
make[2]: *** [src/radiotray-ng/CMakeFiles/radiotray-ng.dir/build.make:79: src/radiotray-ng/CMakeFiles/radiotray-ng.dir/main.cpp.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:403: src/radiotray-ng/CMakeFiles/radiotray-ng.dir/all] Fehler 2
make: *** [Makefile:156: all] Fehler 2
```
1 Like
swh
May 3, 2025, 1:58pm
14
Advanced Radio Player is another useful Radio Plasmoid running in panel
I can wait a day, thanks for this info.
thanks for the tip about goodvibes. I don’t think this stuff is “easily” maintained at all. you know how many stations/instances completely disappear from Radiotray? Many at random. Chasing down streams is a pita but if yr tastes are niche you need to do it. I always figured that was the cost for a taskbar radio which I love having. edit: typo
1 Like
Thanks everyone for the responses. . . . . I’ll wait till the fix if it ever comes out does. I’ve got one streaming channel on Radiotray-ng that hit’s a chord with me. . . I’ve installed the other internet radio apps that I didn’t have and will play with them for a while also. Redundancy in apps sometimes helps. . .
Rich
cscs
May 3, 2025, 6:45pm
17
rich52:
/usr/include/c++/15.1.1/bits/stl_construct.h:133:7: error: invalid new-expression of abstract class type ‘RadiotrayNG’
133 | ::new(static_cast<void*>(__p)) _Tp(std::forward<_Args>(__args)…);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/richardc/.cache/yay/radiotray-ng/src/radiotray-ng-0.2.9/src/radiotray-ng/radiotray_ng.hpp:34:7: note: because the following virtual functions are pure within ‘RadiotrayNG’:
34 | class RadiotrayNG final : public IRadioTrayNG
| ^~~~~~~~~~~
/home/richardc/.cache/yay/radiotray-ng/src/radiotray-ng-0.2.9/include/radiotray-ng/i_radiotray_ng.hpp:76:22: note: ‘virtual void IRadioTrayNG::set_volume_msg(int)’
76 | virtual void set_volume_msg(uint32_t volume) = 0;
| ^~~~~~~~~~~~~~
make[2]: *** [src/radiotray-ng/CMakeFiles/radiotray-ng.dir/build.make:79: src/radiotray-ng/CMakeFiles/radiotray-ng.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:403: src/radiotray-ng/CMakeFiles/radiotray-ng.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
Aborting…
→ error making: radiotray-ng-exit status 4
checking dependencies…
Package (1) Old Version Net Change
boost 1.88.0-2 -181.73 MiB
Total Removed Size: 181.73 MiB
:: Do you want to remove these packages? [Y/n]
:: Running pre-transaction hooks…
(1/1) Performing snapper pre snapshots for the following configurations…
:: Processing package changes…
(1/1) removing boost [---------------------------------------------------------------------------------------] 100%
:: Running post-transaction hooks…
(1/2) Arming ConditionNeedsUpdate…
(2/2) Performing snapper post snapshots for the following configurations…
→ Failed to install the following packages. Manual intervention is required:
radiotray-ng - exit status 4
Apparently not, or not ‘completely’.
So this would be a yes.
But radiotray
source is not up to date enough to work with newer libs.
This isnt really related at all.
The issue (recurring?) of radiotray not working after ‘some updates’ has nothing to do with stations, number of stations, or needing to keep up with them.
Besides which radiotray doesnt do anything with its default code as pertains to needing to find or list all stations. If its a compatible station radio tray can interact with it. If not ..
Just like your browser and websites. You dont need a new firefox version when google makes a change, and mozilla does not scrape the entire world wide web as part of its development process for each point release.
This is just a very simple, very common, AUR situation - especially for less nimbly maintained projects.
New system libraries. Package needs rebuild against new libraries.
If package is locked down enough or old enough the source software itself may need some changes to be compatible with the new libraries, aside from just the rebuild.
The current radiotray situation fits both of those - meaning that while it needs a rebuild, the source is not ready so builds fail. When the source is updated then the rebuilds should be functional and radiotray can be succesfully built against the newer libs.
ah, the nature of anecdotal minutiae. sorry.
This is the issue at hand. . . . just have to wait until somebody fixes the problem.
Rich
1 Like
I know this already. Mine doesn’t work either. I already thanked StaggerLee, in this very thread, about his news that the package would be repaired soon as it always is.