Skip to content

SnapServer v0.26.0 fails to build on FreeBSD 12.3 #1050

Closed
@jonahquark81

Description

@jonahquark81

When I went to update my snapserver running in a Freenas jail under FreeBSD I got the compilation error below.

A little bit of digging and it appears std::ignore is defined by . Adding tuple into the includes in common/str_compat.hpp allows compilation.

Steps to Reproduce

  1. /usr/local/src/snapcast/ # git clone https://github.com/badaix/snapcast.git
  2. /usr/local/src/snapcast/ # cd server
  3. /usr/local/src/snapcast/server # gmake TARGET=FREEBSD

Environment details

  • OS: FreeBSD 12.3 Release running in iocage jail under FreeNAS/TrueNAS 12
  • Snapcast version 0.26.0

Attach logfile if applicable
Generate logs with snapclient --logfilter debug or snapserver --logging.filter debug if possible and paste them in the following codeblock

g++ -O2  -std=c++17 -Wall -Wextra -Wpedantic -Wno-unused-function -DBOOST_ERROR_CODE_HEADER_ONLY -DHAS_FLAC -DHAS_OGG -DHAS_VORBIS -DHAS_VORBIS_ENC -DHAS_OPUS -DHAS_SOXR -DVERSION=\"0.26.0\" -I. -I.. -I../common -DFREEBSD -DFREEBSD -DNO_CPP11_STRING -DHAS_AVAHI -DHAS_DAEMON -pthread -c ../common/daemon.cpp -o ../common/daemon.o
In file included from ../common/daemon.cpp:22:
../common/str_compat.hpp: In function 'long double cpt::strtold(const char*, char**)':
../common/str_compat.hpp:100:10: error: 'ignore' is not a member of 'std'
  100 |     std::ignore = endptr;
      |          ^~~~~~
../common/str_compat.hpp: In function 'float cpt::strtof(const char*, char**)':
../common/str_compat.hpp:110:10: error: 'ignore' is not a member of 'std'
  110 |     std::ignore = endptr;
      |          ^~~~~~
gmake: *** [Makefile:110: ../common/daemon.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions