amchess / BrainLearn

GNU General Public License v3.0
37 stars 17 forks source link

Not able to compile for Android due to missing libraries #18

Closed ghost closed 2 years ago

ghost commented 4 years ago

$ make build ARCH=armv8 COMP=ndk make: [Makefile:889: .depend] Error 1 (ignored)

Config: debug: 'no' sanitize: 'no' optimize: 'yes' arch: 'armv8' bits: '64' kernel: 'Linux' os: 'GNU/Linux' prefetch: 'yes' popcnt: 'yes' pext: 'no' sse: 'no' mmx: 'no' sse2: 'no' ssse3: 'no' sse41: 'no' avx2: 'no' avx512: 'no' vnni256: 'no' vnni512: 'no' neon: 'yes'

Flags: CXX: aarch64-linux-android21-clang++ CXXFLAGS: -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin LDFLAGS: -lcurl -lws2_32 -static-libstdc++ -pie -lm -latomic -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin

Testing config sanity. If this fails, try 'make help' ...

Default net: nn-308d71810dff.nnue Already available. make ARCH=armv8 COMP=ndk all make[1]: Entering directory '/mnt/hgfs/Massimiliano Goi/BrainLearn-master/src' aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o benchmark.o benchmark.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o bitbase.o bitbase.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o bitboard.o bitboard.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o endgame.o endgame.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o evaluate.o evaluate.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o main.o main.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o material.o material.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o misc.o misc.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o movegen.o movegen.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o movepick.o movepick.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o pawns.o pawns.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o polybook.o polybook.cpp polybook.cpp:25:10: fatal error: 'sys/timeb.h' file not found

include <sys/timeb.h>

     ^~~~~~~~~~~~~

1 error generated. make[1]: *** [: polybook.o] Error 1

As far as I've read the way to manage time of timeb.h is deprecated, but it seems this library is not fundamental for this file... Removing <sys/timeb.h> from polybook.cpp seems good, but then another error occurs:

$ make build ARCH=armv8 COMP=ndk make: [Makefile:889: .depend] Error 1 (ignored)

Config: debug: 'no' sanitize: 'no' optimize: 'yes' arch: 'armv8' bits: '64' kernel: 'Linux' os: 'GNU/Linux' prefetch: 'yes' popcnt: 'yes' pext: 'no' sse: 'no' mmx: 'no' sse2: 'no' ssse3: 'no' sse41: 'no' avx2: 'no' avx512: 'no' vnni256: 'no' vnni512: 'no' neon: 'yes'

Flags: CXX: aarch64-linux-android21-clang++ CXXFLAGS: -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin LDFLAGS: -lcurl -lws2_32 -static-libstdc++ -pie -lm -latomic -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin

Testing config sanity. If this fails, try 'make help' ...

Default net: nn-308d71810dff.nnue Already available. make ARCH=armv8 COMP=ndk all make[1]: Entering directory '/mnt/hgfs/Massimiliano Goi/BrainLearn-master/src' aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o benchmark.o benchmark.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o bitbase.o bitbase.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o bitboard.o bitboard.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o endgame.o endgame.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o evaluate.o evaluate.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o main.o main.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o material.o material.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o misc.o misc.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o movegen.o movegen.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o movepick.o movepick.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o pawns.o pawns.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o polybook.o polybook.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o position.o position.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o psqt.o psqt.cpp aarch64-linux-android21-clang++ -Wall -Wcast-qual -fexceptions -std=c++17 -stdlib=libc++ -fPIE -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto=thin -c -o search.o search.cpp search.cpp:42:10: fatal error: 'curl/curl.h' file not found

include <curl/curl.h>

     ^~~~~~~~~~~~~

1 error generated.

amchess commented 4 years ago

Android build with curl is a know problem. I hope Android experts can solve it.