Build error using clang

Hi everybody.

I want to build arducopter using clang and llvm, but I cannot success.
Could you please take a look and give me some advise?

here is my logs.

./waf configure --check-cxx-compiler clang++ --check-c-compiler clang
Setting top to                           : /home/shelling/study/drone/ardupilot_clang 
Setting out to                           : /home/shelling/study/drone/ardupilot_clang/build 
Autoconfiguration                        : enabled 
Setting board to                         : sitl 
Using toolchain                          : native 
Checking for 'clang++' (C++ compiler)    : /home/shelling/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang++ 
Checking for 'clang' (C compiler)        : /home/shelling/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang 
Checking for c flags '-MMD'              : yes 
Checking for cxx flags '-MMD'            : yes 
Checking for need to link with librt     : not necessary 
Checking for feenableexcept              : yes 
Disabling SLP for clang++
Checking for HAVE_CMATH_ISFINITE         : yes 
Checking for HAVE_CMATH_ISINF            : yes 
Checking for HAVE_CMATH_ISNAN            : yes 
Checking for NEED_CMATH_ISFINITE_STD_NAMESPACE : yes 
Checking for NEED_CMATH_ISINF_STD_NAMESPACE    : yes 
Checking for NEED_CMATH_ISNAN_STD_NAMESPACE    : yes 
Checking for header endian.h                   : yes 
Checking for header byteswap.h                 : yes 
Checking for HAVE_MEMRCHR                      : yes 
Checking for program 'python'                  : /usr/bin/python 
Checking for python version >= 2.7.0           : 2.7.17 
Checking for program 'python'                  : /usr/bin/python 
Checking for python version >= 2.7.0           : 2.7.17 
Source is git repository                       : yes 
Update submodules                              : yes 
Checking for program 'git'                     : /usr/bin/git 
Checking for program 'size'                    : /usr/bin/size 
Benchmarks                                     : disabled 
Unit tests                                     : enabled 
Scripting                                      : enabled 
Scripting runtime checks                       : enabled 
Checking for program 'rsync'                   : /usr/bin/rsync 
'configure' finished successfully (0.934s)
./waf build
Waf: Entering directory `/home/shelling/study/drone/ardupilot_clang/build/sitl'
[   7/1145] Compiling libraries/AC_Avoidance/AP_OAVisGraph.cpp
[   8/1145] Compiling libraries/AC_Avoidance/AP_OADijkstra.cpp
[   9/1145] Compiling libraries/AC_Avoidance/AP_OADatabase.cpp
[  10/1145] Compiling libraries/AC_Avoidance/AP_OABendyRuler.cpp
[  11/1145] Compiling libraries/AC_Fence/AC_PolyFence_loader.cpp
[  12/1145] Compiling libraries/AC_PID/AC_HELI_PID.cpp
[  13/1145] Compiling libraries/AC_PID/AC_PI_2D.cpp
[  14/1145] Compiling libraries/AC_PID/AC_PID_2D.cpp
[  15/1145] Compiling libraries/AC_PID/AC_PID.cpp
[  16/1145] Compiling libraries/AC_PID/AC_PI.cpp
[  17/1145] Compiling libraries/AC_PID/AC_P.cpp
[  18/1145] Compiling libraries/AC_Sprayer/AC_Sprayer.cpp
In file included from ../../libraries/AC_Avoidance/AP_OAVisGraph.cpp:16:
In file included from ../../libraries/AC_Avoidance/AP_OAVisGraph.h:5:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:295:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_PID/AC_PI.cpp:5:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:317:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_PID/AC_PI_2D.cpp:4:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:317:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_PID/AC_PID_2D.cpp:4:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:317:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_PID/AC_P.cpp:4:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:317:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_PID/AC_HELI_PID.cpp:4:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:317:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_Fence/AC_PolyFence_loader.cpp:1:
In file included from ../../libraries/AC_Fence/AC_PolyFence_loader.h:4:
In file included from ../../libraries/AP_Common/Location.h:3:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:344:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_PID/AC_PID.cpp:4:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:317:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_Sprayer/AC_Sprayer.cpp:1:
In file included from ../../libraries/AC_Sprayer/AC_Sprayer.h:19:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:337:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_Avoidance/AP_OADatabase.cpp:14:
In file included from ../../libraries/AC_Avoidance/AP_OADatabase.h:3:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:274:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_Avoidance/AP_OABendyRuler.cpp:16:
In file included from ../../libraries/AC_Avoidance/AP_OABendyRuler.h:4:
In file included from ../../libraries/AP_Common/Location.h:3:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:344:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

In file included from ../../libraries/AC_Avoidance/AP_OADijkstra.cpp:16:
In file included from ../../libraries/AC_Avoidance/AP_OADijkstra.h:4:
In file included from ../../libraries/AP_Common/Location.h:3:
In file included from ../../libraries/AP_Math/AP_Math.h:9:
In file included from ../../libraries/AP_Param/AP_Param.h:27:
In file included from ../../libraries/AP_HAL/AP_HAL.h:8:
In file included from ../../libraries/AP_HAL/AP_HAL_Main.h:19:
In file included from ../../libraries/AP_HAL/HAL.h:16:
In file included from ../../libraries/AP_HAL/DSP.h:24:
../../libraries/AP_HAL/utility/RingBuffer.h:271:9: fatal error: no matching constructor for initialization of 'WithSemaphore'
        WITH_SEMAPHORE(sem);
        ^~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:48:31: note: expanded from macro 'WITH_SEMAPHORE'
#define WITH_SEMAPHORE( sem ) JOIN( sem, __LINE__, __COUNTER__ )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:49:36: note: expanded from macro 'JOIN'
#define JOIN( sem, line, counter ) _DO_JOIN( sem, line, counter )
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libraries/AP_HAL/Semaphores.h:50:54: note: expanded from macro '_DO_JOIN'
#define _DO_JOIN( sem, line, counter ) WithSemaphore _getsem ## counter(sem, line)
                                                     ^                  ~~~~~~~~~
<scratch space>:344:1: note: expanded from here
_getsem0
^
../../libraries/AP_HAL/Semaphores.h:39:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore *' for 1st argument
    WithSemaphore(AP_HAL::Semaphore *mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:40:5: note: candidate constructor not viable: no known conversion from 'const HALSITL::Semaphore' to 'AP_HAL::Semaphore &' for 1st argument
    WithSemaphore(AP_HAL::Semaphore &mtx, uint32_t line);
    ^
../../libraries/AP_HAL/Semaphores.h:37:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class WithSemaphore {
      ^
1 error generated.

Waf: Leaving directory `/home/shelling/study/drone/ardupilot_clang/build/sitl'
Build failed
 -> task in 'objs/AC_Avoidance' failed (exit status 1): 
	{task 140026094465744: cxx AP_OAVisGraph.cpp -> AP_OAVisGraph.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_PID' failed (exit status 1): 
	{task 140026094468560: cxx AC_PI.cpp -> AC_PI.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_PID' failed (exit status 1): 
	{task 140026094468944: cxx AC_PI_2D.cpp -> AC_PI_2D.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_PID' failed (exit status 1): 
	{task 140026094468816: cxx AC_PID_2D.cpp -> AC_PID_2D.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_PID' failed (exit status 1): 
	{task 140026094468432: cxx AC_P.cpp -> AC_P.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_PID' failed (exit status 1): 
	{task 140026094468176: cxx AC_HELI_PID.cpp -> AC_HELI_PID.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_Fence' failed (exit status 1): 
	{task 140026094939984: cxx AC_PolyFence_loader.cpp -> AC_PolyFence_loader.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_PID' failed (exit status 1): 
	{task 140026094468688: cxx AC_PID.cpp -> AC_PID.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_Sprayer' failed (exit status 1): 
	{task 140026094939856: cxx AC_Sprayer.cpp -> AC_Sprayer.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_Avoidance' failed (exit status 1): 
	{task 140026094465488: cxx AP_OADatabase.cpp -> AP_OADatabase.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_Avoidance' failed (exit status 1): 
	{task 140026094465360: cxx AP_OABendyRuler.cpp -> AP_OABendyRuler.cpp.0.o}
 (run with -v to display more information)
 -> task in 'objs/AC_Avoidance' failed (exit status 1): 
	{task 140026094465616: cxx AP_OADijkstra.cpp -> AP_OADijkstra.cpp.0.o}
 (run with -v to display more information)