LeelaChessZero / lc0

The rewritten engine, originally for tensorflow. Now all other backends have been ported here.
GNU General Public License v3.0
2.45k stars 529 forks source link

Cannot compile lc0@exe/fp16_kernels.o #1051

Closed kylemiller3 closed 4 years ago

kylemiller3 commented 4 years ago

Any idea why I am getting this compiling error?

[0/1] Regenerating build files.
The Meson build system
Version: 0.49.0
Source dir: /home/k/Build/lc0
Build dir: /home/k/Build/lc0/build/release
Build type: native build
Project name: lc0
Project version: undefined
Native C++ compiler: clang++-6.0 (clang 6.0.0-1ubuntu2 "clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Library libprotobuf found: YES
Program protoc found: YES (/usr/bin/protoc)
Program git found: YES (/usr/bin/git)
Message: Using build identifier "git.c8d9095".
Library pthread found: YES
Library dl found: YES
Library libtensorflow_cc found: NO
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Found CMake: /usr/bin/cmake (3.10.2)
Dependency accelerate found: NO (tried pkgconfig and cmake)
Library mkl_rt found: NO
Library mklml found: NO
Library dnnl found: NO
Library openblas.dll found: NO
Library openblas found: NO
Program ispc found: NO
Library OpenCL found: YES
Dependency OpenCL found: YES (cached)
Library cublas found: YES
Library cudnn found: YES
Library cudart found: YES
Program nvcc found: YES (/usr/bin/nvcc)
Dependency zlib found: YES (cached)
Dependency gtest found: YES (cached)
Build targets in project: 8
Found ninja-1.8.2 at /usr/bin/ninja
[1/126] Compiling C++ object 'lc0@exe/src_version.cc.o'.
[2/126] Compiling C++ object 'lc0@exe/src_main.cc.o'.
In file included from ../../src/main.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:246:30: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 major() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:124:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/main.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:253:30: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 minor() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:4:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/main.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:1763:50: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::major() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:9:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/main.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:1787:50: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::minor() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:14:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
4 warnings generated.
[3/126] Compiling C++ object 'lc0@exe/meson-generated_proto_net.pb.cc.o'.
In file included from lc0@exe/proto/net.pb.cc:5:
lc0@exe/proto/net.pb.h:246:30: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 major() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:4:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from lc0@exe/proto/net.pb.cc:5:
lc0@exe/proto/net.pb.h:253:30: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 minor() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:9:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
In file included from lc0@exe/proto/net.pb.cc:5:
lc0@exe/proto/net.pb.h:1763:50: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::major() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:14:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from lc0@exe/proto/net.pb.cc:5:
lc0@exe/proto/net.pb.h:1787:50: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::minor() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:3:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:607:72: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->major(), output);
                                                                       ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:4:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:612:72: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->minor(), output);
                                                                       ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:9:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:632:88: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->major(), target);
                                                                                       ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:14:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:637:88: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->minor(), target);
                                                                                       ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:3:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:628:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:662:17: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
          this->major());
                ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:8:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:669:17: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
          this->minor());
                ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:13:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:715:22: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
      set_major(from.major());
                     ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:2:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:718:22: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
      set_minor(from.minor());
                     ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:7:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
lc0@exe/proto/net.pb.cc:1051:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:1462:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:1882:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:2240:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:2789:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:4528:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:5289:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:5782:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
lc0@exe/proto/net.pb.cc:6258:10: warning: unused parameter 'deterministic' [-Wunused-parameter]
    bool deterministic, ::google::protobuf::uint8* target) const {
         ^
22 warnings generated.
[4/126] Compiling C++ object 'lc0@exe/src_chess_bitboard.cc.o'.
[5/126] Compiling C++ object 'lc0@exe/src_benchmark_benchmark.cc.o'.
In file included from ../../src/benchmark/benchmark.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:246:30: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 major() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:124:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/benchmark/benchmark.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:253:30: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 minor() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:4:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/benchmark/benchmark.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:1763:50: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::major() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:9:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/benchmark/benchmark.cc:28:
In file included from ../../src/benchmark/benchmark.h:30:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:1787:50: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::minor() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:14:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
4 warnings generated.
[6/126] Generating 'lc0@exe/common_kernels.o'.
FAILED: lc0@exe/common_kernels.o 
/usr/bin/nvcc -c ../../src/neural/cuda/common_kernels.cu -o lc0@exe/common_kernels.o -I /home/k/Build/lc0/src --std=c++14 -Xcompiler -fPIC -I /opt/cuda/include/ -I /usr/local/cuda/include/
In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/stddef.h:217:0:
/usr/local/cuda/include/crt/host_runtime.h:19:2: warning: #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
In file included from /tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:5:0,
                 from tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:
/usr/local/cuda/include/crt/host_runtime.h:19:2: warning: #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend25fp32NCHWtofp16NHWC_kernelEP6__halfPfiiiiii(half*, float*, int, int, int, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:29:191: error: ‘__args_arr’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend25fp32NCHWtofp16NHWC_kernelEP6__halfPfiiiiii(half *__par0, float *__par1, int __par2, int __par3, int __par4, int __par5, int __par6, int __par7){__cudaSetupArgSimple(__par0, 0UL);__cudaSetupArgSimple(__par1, 8UL);__cudaSetupArgSimple(__par2, 16UL);__cudaSetupArgSimple(__par3, 20UL);__cudaSetupArgSimple(__par4, 24UL);__cudaSetupArgSimple(__par5, 28UL);__cudaSetupArgSimple(__par6, 32UL);__cudaSetupArgSimple(__par7, 36UL);__cudaLaunch(((char *)((void ( *)(half *, float *, int, int, int, int, int, int))lczero::cudnn_backend::fp32NCHWtofp16NHWC_kernel)));}
                                                                                                                                                                                               ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:29:191: error: ‘__args_idx’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend25fp32NCHWtofp16NHWC_kernelEP6__halfPfiiiiii(half *__par0, float *__par1, int __par2, int __par3, int __par4, int __par5, int __par6, int __par7){__cudaSetupArgSimple(__par0, 0UL);__cudaSetupArgSimple(__par1, 8UL);__cudaSetupArgSimple(__par2, 16UL);__cudaSetupArgSimple(__par3, 20UL);__cudaSetupArgSimple(__par4, 24UL);__cudaSetupArgSimple(__par5, 28UL);__cudaSetupArgSimple(__par6, 32UL);__cudaSetupArgSimple(__par7, 36UL);__cudaLaunch(((char *)((void ( *)(half *, float *, int, int, int, int, int, int))lczero::cudnn_backend::fp32NCHWtofp16NHWC_kernel)));}
                                                                                                                                                                                               ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp32_NCHWEPfPKmPKfi(float*, const uint64_t*, const float*, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:166: error: ‘__args_arr’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                      ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:166: error: ‘__args_idx’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                      ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NHWCEP6__halfPKmPKfi(half*, const uint64_t*, const float*, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:171: error: ‘__args_arr’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                           ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:171: error: ‘__args_idx’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                           ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NCHWEP6__halfPKmPKfi(half*, const uint64_t*, const float*, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:171: error: ‘__args_arr’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                           ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:171: error: ‘__args_idx’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                           ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend28globalScale_kernel_fp16_nhwcEP6__halfPKS1_S4_S4_iii(half*, const half*, const half*, const half*, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:2:91: error: ‘__args_arr’ was not declared in this scope
 #pragma GCC diagnostic ignored "-Wunused-function"
                                                                                           ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:2:91: error: ‘__args_idx’ was not declared in this scope
 #pragma GCC diagnostic ignored "-Wunused-function"
                                                                                           ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend30globalAvgPool_kernel_NHWC_fp16EP6__halfPKS1_S4_ii(half*, const half*, const half*, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:183: error: ‘__args_arr’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                                       ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:183: error: ‘__args_idx’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                                                       ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend24copyTypeConverted_kernelI6__halffEEvPT_PT0_i(half*, float*, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:146: error: ‘__args_arr’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                  ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:1:146: error: ‘__args_idx’ was not declared in this scope
 #pragma GCC diagnostic push
                                                                                                                                                  ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend24copyTypeConverted_kernelIf6__halfEEvPT_PT0_i(float*, half*, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:5:146: error: ‘__args_arr’ was not declared in this scope
 #include "crt/host_runtime.h"
                                                                                                                                                  ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:5:146: error: ‘__args_idx’ was not declared in this scope
 #include "crt/host_runtime.h"
                                                                                                                                                  ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend16batchNorm_kernelIfEEvPT_PKS2_S5_iiiiPKfS7_b(float*, const float*, const float*, int, int, int, int, const float*, const float*, bool)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:9:271: error: ‘__args_arr’ was not declared in this scope
 extern void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NHWCEP6__halfPKmPKfi(half *, const uint64_t *, const float *, int);
                                                                                                                                                                                                                                                                               ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:9:271: error: ‘__args_idx’ was not declared in this scope
 extern void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NHWCEP6__halfPKmPKfi(half *, const uint64_t *, const float *, int);
                                                                                                                                                                                                                                                                               ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend16batchNorm_kernelI6__halfEEvPT_PKS3_S6_iiiiPKfS8_b(half*, const half*, const half*, int, int, int, int, const float*, const float*, bool)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:15:18: error: ‘__args_arr’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend16batchNorm_kernelIfEEvPT_PKS2_S5_iiiiPKfS7_b(float *, const float *, const float *, int, int, int, int, const float *, const float *, bool);
                  ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:15:18: error: ‘__args_idx’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend16batchNorm_kernelIfEEvPT_PKS2_S5_iiiiPKfS7_b(float *, const float *, const float *, int, int, int, int, const float *, const float *, bool);
                  ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend17addVectors_kernelIfEEvPT_S3_S3_iiibbb(float*, float*, float*, int, int, int, bool, bool, bool)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:18:96: error: ‘__args_arr’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend17addVectors_kernelI6__halfEEvPT_S4_S4_iiibbb(half *, half *, half *, int, int, int, bool, bool, bool);
                                                                                                ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:18:96: error: ‘__args_idx’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend17addVectors_kernelI6__halfEEvPT_S4_S4_iiibbb(half *, half *, half *, int, int, int, bool, bool, bool);
                                                                                                ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend17addVectors_kernelI6__halfEEvPT_S4_S4_iiibbb(half*, half*, half*, int, int, int, bool, bool, bool)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:21:227: error: ‘__args_arr’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend20globalAvgPool_kernelIfEEvPT_PKS2_S5_iii(float *, const float *, const float *, int, int, int);
                                                                                                                                                                                                                                   ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:21:227: error: ‘__args_idx’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend20globalAvgPool_kernelIfEEvPT_PKS2_S5_iii(float *, const float *, const float *, int, int, int);
                                                                                                                                                                                                                                   ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend19addBias_NCHW_kernelIfEEvPT_S3_S3_iiii(float*, float*, float*, int, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:25:195: error: ‘__args_arr’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend16policyMap_kernelIfEEvPT_PKS2_PKsiiii(float *, const float *, const short *, int, int, int, int);
                                                                                                                                                                                                   ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:25:195: error: ‘__args_idx’ was not declared in this scope
 static void __device_stub__ZN6lczero13cudnn_backend16policyMap_kernelIfEEvPT_PKS2_PKsiiii(float *, const float *, const short *, int, int, int, int);
                                                                                                                                                                                                   ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend19addBias_NCHW_kernelI6__halfEEvPT_S4_S4_iiii(half*, half*, half*, int, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:29:198: error: ‘__args_arr’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend25fp32NCHWtofp16NHWC_kernelEP6__halfPfiiiiii(half *__par0, float *__par1, int __par2, int __par3, int __par4, int __par5, int __par6, int __par7){__cudaSetupArgSimple(__par0, 0UL);__cudaSetupArgSimple(__par1, 8UL);__cudaSetupArgSimple(__par2, 16UL);__cudaSetupArgSimple(__par3, 20UL);__cudaSetupArgSimple(__par4, 24UL);__cudaSetupArgSimple(__par5, 28UL);__cudaSetupArgSimple(__par6, 32UL);__cudaSetupArgSimple(__par7, 36UL);__cudaLaunch(((char *)((void ( *)(half *, float *, int, int, int, int, int, int))lczero::cudnn_backend::fp32NCHWtofp16NHWC_kernel)));}
                                                                                                                                                                                                      ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:29:198: error: ‘__args_idx’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend25fp32NCHWtofp16NHWC_kernelEP6__halfPfiiiiii(half *__par0, float *__par1, int __par2, int __par3, int __par4, int __par5, int __par6, int __par7){__cudaSetupArgSimple(__par0, 0UL);__cudaSetupArgSimple(__par1, 8UL);__cudaSetupArgSimple(__par2, 16UL);__cudaSetupArgSimple(__par3, 20UL);__cudaSetupArgSimple(__par4, 24UL);__cudaSetupArgSimple(__par5, 28UL);__cudaSetupArgSimple(__par6, 32UL);__cudaSetupArgSimple(__par7, 36UL);__cudaLaunch(((char *)((void ( *)(half *, float *, int, int, int, int, int, int))lczero::cudnn_backend::fp32NCHWtofp16NHWC_kernel)));}
                                                                                                                                                                                                      ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend20globalAvgPool_kernelIfEEvPT_PKS2_S5_iii(float*, const float*, const float*, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:33:196: error: ‘__args_arr’ was not declared in this scope
 {__device_stub__ZN6lczero13cudnn_backend25fp32NCHWtofp16NHWC_kernelEP6__halfPfiiiiii( __cuda_0,__cuda_1,__cuda_2,__cuda_3,__cuda_4,__cuda_5,__cuda_6,__cuda_7);
                                                                                                                                                                                                    ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:33:196: error: ‘__args_idx’ was not declared in this scope
 {__device_stub__ZN6lczero13cudnn_backend25fp32NCHWtofp16NHWC_kernelEP6__halfPfiiiiii( __cuda_0,__cuda_1,__cuda_2,__cuda_3,__cuda_4,__cuda_5,__cuda_6,__cuda_7);
                                                                                                                                                                                                    ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend20globalAvgPool_kernelI6__halfEEvPT_PKS3_S6_iii(half*, const half*, const half*, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:37:199: error: ‘__args_arr’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp32_NCHWEPfPKmPKfi( float *__par0,  const uint64_t *__par1,  const float *__par2,  int __par3) {  __cudaSetupArgSimple(__par0, 0UL); __cudaSetupArgSimple(__par1, 8UL); __cudaSetupArgSimple(__par2, 16UL); __cudaSetupArgSimple(__par3, 24UL); __cudaLaunch(((char *)((void ( *)(float *, const uint64_t *, const float *, int))lczero::cudnn_backend::expandPlanes_kernel_Fp32_NCHW))); }
                                                                                                                                                                                                       ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:37:199: error: ‘__args_idx’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp32_NCHWEPfPKmPKfi( float *__par0,  const uint64_t *__par1,  const float *__par2,  int __par3) {  __cudaSetupArgSimple(__par0, 0UL); __cudaSetupArgSimple(__par1, 8UL); __cudaSetupArgSimple(__par2, 16UL); __cudaSetupArgSimple(__par3, 24UL); __cudaLaunch(((char *)((void ( *)(float *, const uint64_t *, const float *, int))lczero::cudnn_backend::expandPlanes_kernel_Fp32_NCHW))); }
                                                                                                                                                                                                       ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend18globalScale_kernelIfEEvPT_PKS2_S5_S5_ii(float*, const float*, const float*, const float*, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:41:205: error: ‘__args_arr’ was not declared in this scope
 {__device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp32_NCHWEPfPKmPKfi( __cuda_0,__cuda_1,__cuda_2,__cuda_3);
                                                                                                                                                                                                             ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:41:205: error: ‘__args_idx’ was not declared in this scope
 {__device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp32_NCHWEPfPKmPKfi( __cuda_0,__cuda_1,__cuda_2,__cuda_3);
                                                                                                                                                                                                             ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend18globalScale_kernelI6__halfEEvPT_PKS3_S6_S6_ii(half*, const half*, const half*, const half*, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:45:207: error: ‘__args_arr’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NHWCEP6__halfPKmPKfi( half *__par0,  const uint64_t *__par1,  const float *__par2,  int __par3) {  __cudaSetupArgSimple(__par0, 0UL); __cudaSetupArgSimple(__par1, 8UL); __cudaSetupArgSimple(__par2, 16UL); __cudaSetupArgSimple(__par3, 24UL); __cudaLaunch(((char *)((void ( *)(half *, const uint64_t *, const float *, int))lczero::cudnn_backend::expandPlanes_kernel_Fp16_NHWC))); }
                                                                                                                                                                                                               ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:45:207: error: ‘__args_idx’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NHWCEP6__halfPKmPKfi( half *__par0,  const uint64_t *__par1,  const float *__par2,  int __par3) {  __cudaSetupArgSimple(__par0, 0UL); __cudaSetupArgSimple(__par1, 8UL); __cudaSetupArgSimple(__par2, 16UL); __cudaSetupArgSimple(__par3, 24UL); __cudaLaunch(((char *)((void ( *)(half *, const uint64_t *, const float *, int))lczero::cudnn_backend::expandPlanes_kernel_Fp16_NHWC))); }
                                                                                                                                                                                                               ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend16policyMap_kernelIfEEvPT_PKS2_PKsiiii(float*, const float*, const short int*, int, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:49:206: error: ‘__args_arr’ was not declared in this scope
 {__device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NHWCEP6__halfPKmPKfi( __cuda_0,__cuda_1,__cuda_2,__cuda_3);
                                                                                                                                                                                                              ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:49:206: error: ‘__args_idx’ was not declared in this scope
 {__device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NHWCEP6__halfPKmPKfi( __cuda_0,__cuda_1,__cuda_2,__cuda_3);
                                                                                                                                                                                                              ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend16policyMap_kernelI6__halfEEvPT_PKS3_PKsiiii(half*, const half*, const short int*, int, int, int, int)’:
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:53:210: error: ‘__args_arr’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NCHWEP6__halfPKmPKfi( half *__par0,  const uint64_t *__par1,  const float *__par2,  int __par3) {  __cudaSetupArgSimple(__par0, 0UL); __cudaSetupArgSimple(__par1, 8UL); __cudaSetupArgSimple(__par2, 16UL); __cudaSetupArgSimple(__par3, 24UL); __cudaLaunch(((char *)((void ( *)(half *, const uint64_t *, const float *, int))lczero::cudnn_backend::expandPlanes_kernel_Fp16_NCHW))); }
                                                                                                                                                                                                                  ^
/tmp/tmpxft_0000690b_00000000-5_common_kernels.cudafe1.stub.c:53:210: error: ‘__args_idx’ was not declared in this scope
 void __device_stub__ZN6lczero13cudnn_backend29expandPlanes_kernel_Fp16_NCHWEP6__halfPKmPKfi( half *__par0,  const uint64_t *__par1,  const float *__par2,  int __par3) {  __cudaSetupArgSimple(__par0, 0UL); __cudaSetupArgSimple(__par1, 8UL); __cudaSetupArgSimple(__par2, 16UL); __cudaSetupArgSimple(__par3, 24UL); __cudaLaunch(((char *)((void ( *)(half *, const uint64_t *, const float *, int))lczero::cudnn_backend::expandPlanes_kernel_Fp16_NCHW))); }
                                                                                                                                                                                                                  ^
[7/126] Compiling C++ object 'lc0@exe/src_chess_position.cc.o'.
[8/126] Compiling C++ object 'lc0@exe/src_engine.cc.o'.
In file included from ../../src/engine.cc:28:
In file included from ../../src/engine.h:31:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:246:30: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 major() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:124:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/engine.cc:28:
In file included from ../../src/engine.h:31:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:253:30: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
  ::google::protobuf::uint32 minor() const;
                             ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:4:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/engine.cc:28:
In file included from ../../src/engine.h:31:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:1763:50: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::major() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:9:6: note: expanded from here
 GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
     ^
In file included from ../../src/engine.cc:28:
In file included from ../../src/engine.h:31:
In file included from ../../src/mcts/search.h:36:
In file included from ../../src/mcts/node.h:38:
In file included from ../../src/neural/encoder.h:31:
In file included from ../../src/neural/network.h:33:
lc0@exe/proto/net.pb.h:1787:50: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
inline ::google::protobuf::uint32 EngineVersion::minor() const {
                                                 ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
                    ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
                               ^
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
                             ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
  __glibc_macro_warning1 (GCC warning message)
  ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
# define __glibc_macro_warning1(message) _Pragma (#message)
                                         ^
<scratch space>:14:6: note: expanded from here
 GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
     ^
4 warnings generated.
[9/126] Compiling C++ object 'lc0@exe/src_chess_board.cc.o'.
[10/126] Compiling C++ object 'lc0@exe/src_chess_uciloop.cc.o'.
[11/126] Generating 'lc0@exe/fp16_kernels.o'.
FAILED: lc0@exe/fp16_kernels.o 
/usr/bin/nvcc -arch=compute_70 -code=sm_70 -c ../../src/neural/cuda/fp16_kernels.cu -o lc0@exe/fp16_kernels.o -I /home/k/Build/lc0/src --std=c++14 -Xcompiler -fPIC -I /opt/cuda/include/ -I /usr/local/cuda/include/
In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/stddef.h:217:0:
/usr/local/cuda/include/crt/host_runtime.h:19:2: warning: #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
In file included from /tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:5:0,
                 from tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:1:
/usr/local/cuda/include/crt/host_runtime.h:19:2: warning: #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "crt/device_functions.h is an internal header file and must not be used directly.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi64ELi16EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:23:11: error: ‘__args_arr’ was not declared in this scope

           ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:23:11: error: ‘__args_idx’ was not declared in this scope

           ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi64ELi32EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:27:11: error: ‘__args_arr’ was not declared in this scope

           ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:27:11: error: ‘__args_idx’ was not declared in this scope

           ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi128ELi32EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:31:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:31:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi192ELi32EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:35:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:35:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi256ELi32EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:39:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:39:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi320ELi32EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:43:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:43:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi352ELi32EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:47:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:47:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi64ELi64EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:51:11: error: ‘__args_arr’ was not declared in this scope

           ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:51:11: error: ‘__args_idx’ was not declared in this scope

           ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi128ELi64EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:55:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:55:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi192ELi64EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:59:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:59:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi256ELi64EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:63:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:63:12: error: ‘__args_idx’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c: In function ‘void __device_stub__ZN6lczero13cudnn_backend13SE_Layer_NHWCILi320ELi64EEEvP6__halfPKS2_S5_S5_S5_S5_S5_S5_(half*, const half*, const half*, const half*, const half*, const half*, const half*, const half*)’:
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:67:12: error: ‘__args_arr’ was not declared in this scope

            ^
/tmp/tmpxft_0000690c_00000000-5_fp16_kernels.cudafe1.stub.c:67:12: error: ‘__args_idx’ was not declared in this scope

            ^
ninja: build stopped: subcommand failed.
borg323 commented 4 years ago

This seems to be a problem with your installation. Which cuda version do you have installed? What is the system compiler?

kylemiller3 commented 4 years ago

I have multiple CUDA versions installed but nvcc reports

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

If this is the wrong version how do I point the scripts to another version?

as shown in the log I am using clang++6.0

borg323 commented 4 years ago

It is possible that the cuda in /usr/local/cuda is another version and not 9.1. To make sure add /usr/local/cuda/bin to the start of the path.

kylemiller3 commented 4 years ago
$ /usr/local/cuda/bin/nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

How do I select the correct version for compilation?

borg323 commented 4 years ago

You can do something like: PATH=/usr/local/cuda/bin:$PATH ./build.sh to add /usr/local/cuda/bin first on the path so the nvcc is picked up from there.

kylemiller3 commented 4 years ago

Thanks that seems to have done the trick.