Opened 6 weeks ago

Closed 3 weeks ago

#71027 closed defect (fixed)

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 (2)

comment:1 Changed 6 weeks ago by barracuda156

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

comment:2 Changed 3 weeks ago by barracuda156

Resolution: fixed
Status: assignedclosed

In b24a8bdad7803cee85b31973fde006c36539564e/macports-ports (master):

cubeb: set required C++17 standard

Closes: #71027

Note: See TracTickets for help on using tickets.