Opened 2 days ago

Last modified 8 hours ago

#71027 assigned defect

cubeb needs C++17

Reported by: barracuda156 Owned by: herbygillot (Herby Gillot)
Priority: Normal Milestone:
Component: ports Version: 2.10.2
Keywords: elcapitan, yosemite, mavericks, mountainlion, lion, snowleopard, leopard Cc:
Port: cubeb

Description

cubeb fails on < 10.12 now.

The first issue is that it requires C++17 (trivial to fix):

CMake Error in /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/build/CMakeFiles/CMakeScratch/TryCompile-x2dFaA/CMakeLists.txt:
  Target "cmTC_d5b11" requires the language dialect "CXX17" (with compiler
  extensions).  But the current compiler "AppleClang" does not support this,
  or CMake does not know the flags to enable it.


CMake Error in /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/build/CMakeFiles/CMakeScratch/TryCompile-x2dFaA/CMakeLists.txt:
  Target "cmTC_d5b11" requires the language dialect "CXX17" (with compiler
  extensions).  But the current compiler "AppleClang" does not support this,
  or CMake does not know the flags to enable it.

The second issue may be Clang-specific, I do not know what causes it:

[ 50%] Building CXX object CMakeFiles/cubeb.dir/src/cubeb_log.cpp.o
/usr/bin/clang++ -DEXPORT="" -DFLOATING_POINT -DOUTSIDE_SPEEX -DRANDOM_PREFIX=speex -DUSE_AUDIOUNIT -I/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/cubeb-2bee6bcbd37b121ab197193fe466eef0e91b62b1/include -I/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/build/exports -I/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/cubeb-2bee6bcbd37b121ab197193fe466eef0e91b62b1/subprojects -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -Wall -Wextra -Wno-unused-parameter -fno-exceptions -fno-rtti -std=gnu++1z -arch x86_64 -mmacosx-version-min=10.11 -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/cubeb.dir/src/cubeb_log.cpp.o -MF CMakeFiles/cubeb.dir/src/cubeb_log.cpp.o.d -o CMakeFiles/cubeb.dir/src/cubeb_log.cpp.o -c /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/cubeb-2bee6bcbd37b121ab197193fe466eef0e91b62b1/src/cubeb_log.cpp
/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/cubeb-2bee6bcbd37b121ab197193fe466eef0e91b62b1/src/cubeb_audio_dump.cpp:179:31: error: copying member subobject of type 'std::atomic<bool>' invokes deleted constructor
  std::atomic<bool> running = false;
                              ^~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/atomic:998:7: note: copy constructor of 'atomic<bool>' is implicitly deleted because base class '__atomic_base<bool>' has a deleted copy constructor
    : public __atomic_base<_Tp>
      ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/atomic:902:5: note: '__atomic_base' has been explicitly marked deleted here
    __atomic_base(const __atomic_base&) = delete;
    ^
/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_cubeb/cubeb/work/cubeb-2bee6bcbd37b121ab197193fe466eef0e91b62b1/src/cubeb_audio_dump.cpp:179:21: warning: private field 'running' is not used [-Wunused-private-field]
  std::atomic<bool> running = false;
                    ^
1 warning and 1 error generated.

Change History (1)

comment:1 Changed 8 hours ago by barracuda156

For the second error opened an issue with upstream: https://github.com/mozilla/cubeb/issues/800

Note: See TracTickets for help on using tickets.