Matthies / RubiChess

Another chess engine
GNU General Public License v3.0
161 stars 17 forks source link

Android issue. #239

Closed AlexB123 closed 3 years ago

AlexB123 commented 4 years ago

Hello. Using last source code from here https://github.com/Matthies/RubiChess/commit/8e7ba39fc961d47faa636a2350f1ccea2421d6de Engine compiles, but i can't launch it. I use the same flags as usual, plus -DUSE_NEON for armv7 and armv8 (plus -mfpu=neon-vfpv4 for armv7, simple -mfpu=neon doesn't work for cross compiling). Flags armv8 -m64 -march=armv8-a -DIS_64BIT -fPIE -Wl,-pie -O3 -flto -DUSE_POPCNT -DUSE_NEON -static-libstdc++ -std=c++11 -fno-strict-aliasing -fno-strict-overflow -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-s

Flags armv7 -m32 -march=armv7 -fPIE -Wl,-pie -mfloat-abi=softfp -mfpu=vfpv3-d16 -mfpu=neon-vfpv4 -mthumb -Wl,--fix-cortex-a8 -DUSE_POPCNT -DUSE_NEON -O3 -flto -static-libstdc++ -std=c++11 -fno-strict-aliasing -fno-strict-overflow -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-s

Regards. Alex.

Matthies commented 4 years ago

Hmmm. I tested the "ARM build" on my raspi 3 with success. You wrote "simple -mfpu=neon doesn't work for cross compiling" just to explain your flags, not because it is the reason for the problem, right? "Can't launch" means, you don't get any error message, it just does nothing? Please try to remove -DUSE_NEON and see if this changes anything.

AlexB123 commented 4 years ago

Hmmm. I tested the "ARM build" on my raspi 3 with success. You wrote "simple -mfpu=neon doesn't work for cross compiling" just to explain your flags, not because it is the reason for the problem, right? "Can't launch" means, you don't get any error message, it just does nothing? Please try to remove -DUSE_NEON and see if this changes anything.

Yes, just to explain my flags. Since i can't use -mfpu=neon it is not a problem for me.

Well in Droidfish (and Chess for android) when i'm trying to launch the engine, i'm getting error message "Failed to start engine".

Without -DUSE_NEON i can't launch it either, same message "Failed to start engine".

AlexB123 commented 4 years ago

Hello, just wanted to let you know, the issue remain. Engine compiles with and without -DUSE_NEON, but it can't start.

Matthies commented 4 years ago

I have no idea for now. I will probably setup the NDK and an emulator to be able testing this. But will take some time...

MichaelB7 commented 4 years ago

It compiles cleanly but seg faults on startup ...

Matthies commented 4 years ago

@MichaelB7 I still don't have a setup to compile and debug for Android. Is it possible for you to get a stack trace when it crashes? Just to get an idea where in the code to look at.

MichaelB7 commented 4 years ago

@Matthies, I got it running last night on my fork of Droidfish - not sure exactly if I did anything differently , since I just made a clean pull of your most recent source and it just ran. This is the A/B engine. Do you have a Android device? I can send you the APK if you would like to check it out.

Matthies commented 4 years ago

@MichaelB7 Yes, I have several Android devices here. Would be nice if you can send me the apk. You can use the email address I just have added to my github profile.

MichaelB7 commented 4 years ago

@Matthies Just sent you the link to download from Dropbox. It's pretty big since it has builds for multiple Android devices and some engines have the NN embedded. About 400 Mb.