Package Details: snapcast 0.28.0-2

Git Clone URL: https://aur.archlinux.org/snapcast.git (read-only, click to copy)
Package Base: snapcast
Description: Synchronous multi-room audio player
Upstream URL: https://github.com/badaix/snapcast
Keywords: audio multi-room
Licenses: GPL
Submitter: mogwai
Maintainer: mogwai
Last Packager: mogwai
Votes: 34
Popularity: 0.004569
First Submitted: 2016-01-01 21:21 (UTC)
Last Updated: 2024-04-19 19:20 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

keithspg commented on 2023-02-02 18:43 (UTC)

Tried it today and get the same error on armv7h (RPi). Is there a version of boost we can build that will allow it to build?

mogwai commented on 2023-01-27 09:49 (UTC)

@gbr: Turns out that this is an upstream issue. The latest released snapcast version does not compile with the current boost version. Upstream has alread been patched, but the fix has not been released yet. I'll ask if they can release a new version.

PS: While I really do appreciate that issues are reported, please only report errors that are reproducible using the bare makepkg command. I've wasted enough time trying to reproduce issues that turn out to be related to helper tools like paru.

gbr commented on 2023-01-27 04:51 (UTC)

Does not build for me:

/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp: In function ‘std::string {anonymous}::path_cat(boost::beast::string_view, boost::beast::string_view)’:
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp:130:21: error: ‘using string_view = boost::core::string_view’ {aka ‘class boost::core::basic_string_view<char>’} has no member named ‘to_string’
  130 |         return path.to_string();
      |                     ^~~~~~~~~
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp:131:31: error: ‘using string_view = boost::core::string_view’ {aka ‘class boost::core::basic_string_view<char>’} has no member named ‘to_string’
  131 |     std::string result = base.to_string();
      |                               ^~~~~~~~~
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp: In lambda function:
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp:174:26: error: ‘using string_view = boost::core::string_view’ {aka ‘class boost::core::basic_string_view<char>’} has no member named ‘to_string’
  174 |         res.body() = why.to_string();
      |                          ^~~~~~~~~
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp: In lambda function:
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp:185:48: error: ‘using string_view = boost::core::string_view’ {aka ‘class boost::core::basic_string_view<char>’} has no member named ‘to_string’
  185 |         res.body() = "The resource '" + target.to_string() + "' was not found.";
      |                                                ^~~~~~~~~
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp: In lambda function:
/tmp/paru/snapcast/src/snapcast-0.26.0/server/control_session_http.cpp:207:52: error: ‘using string_view = boost::core::string_view’ {aka ‘class boost::core::basic_string_view<char>’} has no member named ‘to_string’
  207 |         res.body() = "An error occurred: '" + what.to_string() + "'";
      |                                                    ^~~~~~~~~
make[2]: *** [server/CMakeFiles/snapserver.dir/build.make:118: server/CMakeFiles/snapserver.dir/control_session_http.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:187: server/CMakeFiles/snapserver.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/tmp/paru/snapcast/src/snapcast-0.26.0/build'
==> ERROR: A failure occurred in build().

Corubba commented on 2022-01-09 23:42 (UTC) (edited on 2022-01-09 23:43 (UTC) by Corubba)

I believe pkgconfig should be in the mandatory dependencies.

And why do you believe that? pkgconf is part of the base-devel group, and following the docs it should not be explicitly included as makedepends.

cmc commented on 2022-01-09 23:28 (UTC)

Thanks for making the package!

I believe pkgconfig should be in the mandatory dependencies.

mogwai commented on 2021-12-24 20:50 (UTC)

@m040601: This gcc11 patch is unrelated. That code is now in 0.26.0 itself. Please report upstream as this is indeed most likely an out-of-memory issue.

m040601 commented on 2021-12-24 19:46 (UTC) (edited on 2021-12-24 19:59 (UTC) by m040601)

I wonder if anyone can give me any tips or insight before I try to report my problem to upstream Snapcast.

I've been running Archlinux (ARM) and compiling Snapcast on my 1GB memory humble little Raspberry Pi 2 1.1 (32 bit armv7h) for 2 years. Until version 0.26 had no problems. It always took aaaaaaages to compile this C++ thingy, but in the end it bravely managed to do it. Running MPD and Snapcast with Opus encoding was also very smooth, and the CPU and RAM has always been more than enough.

With the latest version 0.26 in December, I'm stuck. I can't finish compiling it, without running out of memory apparently. Tried already several times. It's the exact same system I've been running for 2 years. But somehow I cant get past 15% in the compilation process and makepkg aborts with:

boost::asio::wait_traits<std::chrono::_V2::steady_clock> > >::heap_entry> > >’ changed in GCC 7.1
 1198 |    _M_realloc_insert(end(), __x);
      |    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
{standard input}: Assembler messages:
{standard input}:178970: Error: invalid operands (*UND* and .ARM.extab sections) for `-'
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [server/CMakeFiles/snapserver.dir/build.make:118: server/CMakeFiles/snapserver.dir/control_session_http.cpp.o] Error 1
make[2]: Leaving directory '/home/r1/deleteme/snapcast/src/snapcast-0.26.0/build'
make[1]: *** [CMakeFiles/Makefile2:160: server/CMakeFiles/snapserver.dir/all] Error 2
make[1]: Leaving directory '/home/r1/deleteme/snapcast/src/snapcast-0.26.0/build'
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/home/r1/deleteme/snapcast/src/snapcast-0.26.0/build'
==> ERROR: A failure occurred in build().
    Aborting...

Sometimes I get a kernel "oom kill" thingy. The system runs out of memory, and the kernel aborts the process and reboots.

alarmpi kernel:

cc1plus invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), 
CPU: 1 PID: 16110 Comm: cc1plus Tainted: G         C        5.10.83-1-r>
kernel: Hardware name: BCM2835
[<8010efe8>] (unwind_backtrace) from [<8010ade0>] (show_stack+0x10/0x14

and

oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allow>
Out of memory: Killed process 16110 (cc1plus) total-vm:876596kB, anon-r>
oom_reaper: reaped process 16110 (cc1plus), now anon-rss:0kB, file-rss:>

I have very little understanding of C++, compilation processes etc. But the first thing that occurred to me, is that, with version 0.26, maybe somehow the requirements of Snapcast have changed, are beefier now, and this hardware can't cope with it now.

Tried to shut down all the other non necessary services, and tried over and over to no avail.

Is this a plausible explanation ?

But before I report this to Snapcast upstream, I want to be 100% sure, that it's not the PKGBUILD fault.

I noticed something with this PKGBUILD here on AUR. The latest changes to the PKGBUILD removed this line:

- "gcc11-fix.patch"

So this patch is no longer being applied as was in version 0.25. I dont know what the patch was for but:

Could it somehow be related to this patch (or lack of it)  ?

Thanks in advance.

PS: Maybe related ? I saw this on Snapcast issues:

About the debian armhf package, https://github.com/badaix/snapcast/issues/960

...So the gcc and c++ libs are still needed in a more recent version. I guess because Snapcast 0.26
requires C++17 instead of C++11.

mogwai commented on 2021-07-25 17:13 (UTC)

@cgirard: I've been trying to get exact solution upstreamed for quite a while now. See upstream issue: https://github.com/badaix/snapcast/issues/486

You're probably right that, in the meantime, I should change the text in the install file to refer to changing the location of the fifo rather than trying to work around the problems with the default location in /tmp

cgirard commented on 2021-07-25 16:31 (UTC)

Hi, instead of advising of disabling protected FIFOs, it would be probably a better idea to just advise to use /run/snapserver/snapfifo as you even care to create /run/snapserver

mogwai commented on 2021-05-17 08:22 (UTC)

@Hazzl: Thank you for upstreaming!

Since gcc11 hit the core repository today and no new release is available upstream (yet), I've added your patch. Thanks again for raising this issue.