Skip to content

Fix Android toolchain - #6013

Merged
matz merged 2 commits into
mruby:masterfrom
CaptainJet:master
May 26, 2023
Merged

matz merged 2 commits into
mruby:masterfrom
CaptainJet:master

Conversation

@CaptainJet

Copy link
Copy Markdown
Contributor

The NDK no longer supports mips, plain armeabi, or gcc. Remove old build_config for armeabi.
Update minimum sdk.
Fix tooling paths and targets.

New minimum SDK. NDK longer supports mips, plain armeabi, nor GCC. Fix tooling.
@CaptainJet
CaptainJet requested a review from matz as a code owner May 26, 2023 03:13
@github-actions github-actions Bot added the build label May 26, 2023
@matz
matz merged commit 8914c23 into mruby:master May 26, 2023
@matz

matz commented May 26, 2023

Copy link
Copy Markdown
Member

Thank you!

@gsantner

gsantner commented Jul 9, 2023 •

Copy link
Copy Markdown

Hello @CaptainJet,

I tried to compile mruby using this new configuration. Unfortunately it errors with some missing library/include error regarding readline.h (indeed Android NDK doesn't contain a readline.h).

Was this also the case back then and is there any special prerequisites required for mruby on Android?

Call:

env MRUBY_CONFIG="android_arm64_v8a" ANDROID_NDK_HOME="<somepath>/android/sdk_linux64/ndk/23.1.7779620" rake

grafik

Beside that 23.1 NDK version I also tried 25.1.8937393, but no difference.

@CaptainJet

Copy link
Copy Markdown
Contributor Author

I generally recommend not compiling the executables like mirb when making the Android builds. I'm afraid I can't really help you debug it myself. Good luck though!

@gsantner

gsantner commented Jul 9, 2023 •

Copy link
Copy Markdown

@CaptainJet Thank you for the very fast response!

I'm actually more interested in getting ruby included so I can run some ruby code via C++/NDK on Android. Don't really need interactive in this case I guess 😄

OK, so when I disable all additional ... command at default.gembox then it compiles successfully.

So isn't it wrong to specify default.gembox at the android configuration, as it is not compatible? I couldn't find any DISABLE_TOOLS=true environment flag either to disable this stuff so it could be built without manually touching the git state of mruby.

grafik

@matz
Sorry I'm really new to the project and it seemingly has some default configuration issues. Would it be an option to have a default-notools.gembox configuration for example, or wrap the tools in the default.gembox with a if ENV['something'] ..? What do you think, does that make sense? In other projects often also flags like of WITH_TOOLS=true/false can be found to control compilation of potential unnecessary utilities.
I can make a first contribution by making a merge request containing a working default configuration for Android, if I get to know if it wanted and roughly how it's wanted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants