Did you try to analyze what my projects which I shared with you are doing to produce an APK?
On Fri 15 Feb 2019 at 21:57, Gregory Casamento <greg.casame...@gmail.com> wrote: > Any possibility that you might be willing to share the cmake files and > config options you used? One direction I would like to take the project > in is to Be able to compile on android and potentially have a uikit > implementation on top of android. > > On Fri, Feb 15, 2019 at 15:24 Jordan Schidlowsky <jor...@noodlecake.com> > wrote: > >> Sorry, ya I'm just seeing that script now, we didn't use that. Just >> looked at configuration options for tools-make and gnustep-base... Then >> fixed everything that didn't configure properly for cross-compilation and >> re-wrote a CMakelists.txt for base and have been using that since... >> Having the whole build (from runtime to base) in cmake makes it much easie >> to write, run, and debug everything inside android studio (even though the >> IDE editor doesn't support obj-c syntax). >> >> >> On Feb 15, 2019, at 2:02 PM, Gregory Casamento <greg.casame...@gmail.com> >> wrote: >> >> The one we were discussing in this thread. How are you configuring your >> app on android? >> >> On Fri, Feb 15, 2019 at 14:55 Jordan Schidlowsky <jor...@noodlecake.com> >> wrote: >> >>> Sorry, i'm not sure which script you're referring to! >>> >>> On Feb 15, 2019, at 1:44 PM, Gregory Casamento <greg.casame...@gmail.com> >>> wrote: >>> >>> Are you talking about how the script configures things? >>> >>> On Fri, Feb 15, 2019 at 12:08 Jordan Schidlowsky <jor...@noodlecake.com> >>> wrote: >>> >>>> We will be shipping a large game in a couple weeks on android that is >>>> built on gnustep. We've been testing very extensively over the past 3-4 >>>> months and things look quite stable (at least on armv7-a). The game >>>> heavily uses ARC, blocks, libdispatch.... Lemme just say the configuration >>>> of gnustep-base, build, and project setup, were........ not ideal. >>>> >>>> On Feb 15, 2019, at 11:04 AM, Gregory Casamento < >>>> greg.casame...@gmail.com> wrote: >>>> >>>> The challenge at this point is to get a working app. >>>> >>>> On Wed, Feb 13, 2019 at 14:47 Gregory Casamento < >>>> greg.casame...@gmail.com> wrote: >>>> >>>>> Ivan pointed out that I was using the wrong ninja script. This solved >>>>> my problem. I am now working on getting base to build properly. >>>>> >>>>> GC >>>>> >>>>> On Wed, Feb 13, 2019 at 12:21 PM Ivan Vučica <i...@vucica.net> wrote: >>>>> >>>>>> FTR thank you for that, and for spotting -androideabi16! >>>>>> >>>>>> On Wed, Feb 13, 2019 at 5:20 PM Jordan Schidlowsky < >>>>>> jor...@noodlecake.com> wrote: >>>>>> >>>>>>> Agreed, just sharing whats working for us via gradle config. >>>>>>> >>>>>>> On Feb 13, 2019, at 11:17 AM, Ivan Vučica <i...@vucica.net> wrote: >>>>>>> >>>>>>> Aye; but we should not depend on using Gradle as the end state. >>>>>>> >>>>>>> On Wed, Feb 13, 2019 at 5:09 PM Jordan Schidlowsky < >>>>>>> jor...@noodlecake.com> wrote: >>>>>>> >>>>>>>> Ya you're right, It should be picked up. For what it's worth, >>>>>>>> here's our gradle config, (which ends up passing the correct flags to >>>>>>>> cmake >>>>>>>> for building gnustep): >>>>>>>> >>>>>>>> defaultConfig { >>>>>>>> applicationId "com.noodlecake.ssg4" >>>>>>>> minSdkVersion 21 >>>>>>>> targetSdkVersion 28 >>>>>>>> versionCode 28 >>>>>>>> versionName "1.0.0" >>>>>>>> testInstrumentationRunner >>>>>>>> "android.support.test.runner.AndroidJUnitRunner" >>>>>>>> externalNativeBuild { >>>>>>>> cmake { >>>>>>>> cppFlags "-std=c++14 -frtti -fexceptions >>>>>>>> -fconstant-string-class=NSConstantString" >>>>>>>> cFlags "-DANDROID -fconstant-string-class=NSConstantString" >>>>>>>> arguments "-DCMAKE_VERBOSE_MAKEFILE=ON", >>>>>>>> "-DANDROID_STL=c++_static", >>>>>>>> "-DANDROID_DISABLE_FORMAT_STRING_CHECKS=TRUE" >>>>>>>> } >>>>>>>> } >>>>>>>> ndk { >>>>>>>> // Specifies the ABI configurations of your native >>>>>>>> // libraries Gradle should build and package with your APK. >>>>>>>> //abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', >>>>>>>> // 'arm64-v8a' >>>>>>>> abiFilters 'armeabi-v7a' >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Feb 13, 2019, at 11:03 AM, Ivan Vučica <i...@vucica.net> wrote: >>>>>>>> >>>>>>>> Reading through the toolchain file >>>>>>>> <https://mailtrack.io/trace/link/faab2ea5ccbf2b25df57825eb4e8d933befc94aa?url=https%3A%2F%2Fandroid.googlesource.com%2Fplatform%2Fndk%2F%2B%2Fmaster%2Fbuild%2Fcmake%2Fandroid.toolchain.cmake&userId=2790543&signature=ae1079c361f3f494>, >>>>>>>> ANDROID_PLATFORM will be calculated from ANDROID_NATIVE_API_LEVEL. So >>>>>>>> that >>>>>>>> should not be the issue. >>>>>>>> >>>>>>>> I'd start by pepper-spraying message() calls in toolchain .cmake >>>>>>>> file, and in other .cmake files as necessary, too. >>>>>>>> >>>>>>>> On Wed, Feb 13, 2019 at 5:01 PM Jordan Schidlowsky < >>>>>>>> jor...@noodlecake.com> wrote: >>>>>>>> >>>>>>>>> Ah, i didn't see that shell script... I think >>>>>>>>> -DANDROID_PLATFORM=android-21 (or 23) is what you want there. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Feb 13, 2019, at 10:53 AM, Ivan Vučica <i...@vucica.net> wrote: >>>>>>>>> >>>>>>>>> Actually -- it doesn't explain why this is happening, as the shell >>>>>>>>> script (which I failed to notice Gregory attached) matches what I >>>>>>>>> sent him. >>>>>>>>> It's using -DANDROID_NATIVE_API_LEVEL=23 which should make it use >>>>>>>>> ...-androideabi23. >>>>>>>>> >>>>>>>>> Strange. >>>>>>>>> >>>>>>>>> On Wed, Feb 13, 2019 at 4:47 PM Ivan Vučica <i...@vucica.net> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Ah, that doesn't match what I sent out and makes me feel better >>>>>>>>>> ;-) >>>>>>>>>> >>>>>>>>>> On Wed, Feb 13, 2019 at 4:41 PM Jordan Schidlowsky < >>>>>>>>>> jor...@noodlecake.com> wrote: >>>>>>>>>> >>>>>>>>>>> I think this line in his output indicates he's building for API >>>>>>>>>>> 16: >>>>>>>>>>> >>>>>>>>>>> --target=armv7-none-linux-androideabi16 >>>>>>>>>>> >>>>>>>>>>> On Feb 13, 2019, at 10:07 AM, Ivan Vučica <i...@vucica.net> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Since Greg mentioned me: >>>>>>>>>>> >>>>>>>>>>> Instructions/commands I came up with and that I sent over to >>>>>>>>>>> Gregory should attempt using API level 23. Totally arbitrarily >>>>>>>>>>> picked. Use >>>>>>>>>>> of pre-21 API is not happening so not an issue. >>>>>>>>>>> >>>>>>>>>>> Needless to say, building works for me. I don’t have a >>>>>>>>>>> self-contained script to share, but it’s super simplistic and what >>>>>>>>>>> Greg >>>>>>>>>>> described (incl using GUI to install NDK) is what I did. >>>>>>>>>>> >>>>>>>>>>> I’m only sure it builds, not that it works, as I am yet to try >>>>>>>>>>> running the code; I don’t have a build script ready for producing >>>>>>>>>>> an APK >>>>>>>>>>> (the old approach from 2013 and 2014 is a mess and needs to be >>>>>>>>>>> reworked). >>>>>>>>>>> >>>>>>>>>>> On Wed 13 Feb 2019 at 15:34 Jordan Schidlowsky < >>>>>>>>>>> jor...@noodlecake.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> I've got some patches but they are pretty ugly and I want to >>>>>>>>>>>> clean them up properly before submitting... >>>>>>>>>>>> >>>>>>>>>>>> On Feb 13, 2019, at 8:41 AM, Jordan Schidlowsky < >>>>>>>>>>>> jor...@noodlecake.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>> An NDK app can chose to bundle in a (c++_shared) library in >>>>>>>>>>>> your app, or you can link with a static (c++_static) standard >>>>>>>>>>>> library. >>>>>>>>>>>> This is actually dependant on what setting you chose for this in >>>>>>>>>>>> your >>>>>>>>>>>> gradle build file, as gradle will pass that along to cmake which >>>>>>>>>>>> will link >>>>>>>>>>>> it in. >>>>>>>>>>>> >>>>>>>>>>>> That cxx runtime test doesn't quite work correctly using an >>>>>>>>>>>> android toolchain. But if you want to configure your ndk app using >>>>>>>>>>>> c++_static you can remove that test section from CMakeLists.txt >>>>>>>>>>>> and add in >>>>>>>>>>>> manually below: >>>>>>>>>>>> >>>>>>>>>>>> set(CXXRT_IS_STDLIB true) >>>>>>>>>>>> target_link_libraries(objc c++_static stdc++) >>>>>>>>>>>> >>>>>>>>>>>> I will also note, that I am still thinking about a way to run >>>>>>>>>>>> that test suite while cross compiling... >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Feb 13, 2019, at 6:41 AM, Gregory Casamento < >>>>>>>>>>>> greg.casame...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>> A little more context... my build environment is a MacPro 2010 >>>>>>>>>>>> running the latest version of Mojave. I have downloaded and >>>>>>>>>>>> installed the >>>>>>>>>>>> latest of Android studio and installed the latest SDK and NDK >>>>>>>>>>>> using the >>>>>>>>>>>> menu under tools and the SDK manager. The version of the NDK I'm >>>>>>>>>>>> using is 19.0.5232133. >>>>>>>>>>>> I am utterly stumped as to why this is not working. Also, it >>>>>>>>>>>> seems as >>>>>>>>>>>> though Ivan's installation of this is working which seems to >>>>>>>>>>>> indicate that >>>>>>>>>>>> this is a configuration issue. >>>>>>>>>>>> >>>>>>>>>>>> Any input would be appreciated. >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Feb 13, 2019 at 7:09 AM Gregory Casamento < >>>>>>>>>>>> greg.casame...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> ### Build libobjc2 >>>>>>>>>>>>> -- The ASM compiler identification is Clang >>>>>>>>>>>>> -- Found assembler: >>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang >>>>>>>>>>>>> -- Check for working C compiler: >>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang >>>>>>>>>>>>> -- Check for working C compiler: >>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang >>>>>>>>>>>>> -- works >>>>>>>>>>>>> -- Detecting C compiler ABI info >>>>>>>>>>>>> -- Detecting C compiler ABI info - done >>>>>>>>>>>>> -- Detecting C compile features >>>>>>>>>>>>> -- Detecting C compile features - done >>>>>>>>>>>>> -- Check for working CXX compiler: >>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ >>>>>>>>>>>>> -- Check for working CXX compiler: >>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ >>>>>>>>>>>>> -- works >>>>>>>>>>>>> -- Detecting CXX compiler ABI info >>>>>>>>>>>>> -- Detecting CXX compiler ABI info - done >>>>>>>>>>>>> -- Detecting CXX compile features >>>>>>>>>>>>> -- Detecting CXX compile features - done >>>>>>>>>>>>> -- Testing C++ interop >>>>>>>>>>>>> -- Testing C++ standard library >>>>>>>>>>>>> -- No useable C++ runtime found >>>>>>>>>>>>> -- Looking for pthread.h >>>>>>>>>>>>> -- Looking for pthread.h - found >>>>>>>>>>>>> -- Looking for pthread_create >>>>>>>>>>>>> -- Looking for pthread_create - found >>>>>>>>>>>>> -- Found Threads: TRUE >>>>>>>>>>>>> -- GNUstep install type set to NONE >>>>>>>>>>>>> -- Performing Test CXA_ALLOCATE_EXCEPTION_NOEXCEPT_COMPILES >>>>>>>>>>>>> -- Performing Test CXA_ALLOCATE_EXCEPTION_NOEXCEPT_COMPILES - >>>>>>>>>>>>> Success >>>>>>>>>>>>> -- Configuring done >>>>>>>>>>>>> -- Generating done >>>>>>>>>>>>> -- Build files have been written to: >>>>>>>>>>>>> /Users/heron/Development/Algoriddim/gnustep-toolchain/gnustep-android/gnustep/libobjc2/build >>>>>>>>>>>>> >>>>>>>>>>>>> /Users/heron/Development/Algoriddim/gnustep-toolchain/gnustep-android/gnustep/libobjc2/build/CMake >>>>>>>>>>>>> [1/1] Linking CXX executable test_cxx_runtime >>>>>>>>>>>>> FAILED: test_cxx_runtime >>>>>>>>>>>>> : && >>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ >>>>>>>>>>>>> --target=armv7-none-linux-androideabi16 >>>>>>>>>>>>> --gcc-toolchain=/Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64 >>>>>>>>>>>>> --sysroot >>>>>>>>>>>>> /Users/heron/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/sysroot >>>>>>>>>>>>> -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables >>>>>>>>>>>>> -fstack-protector-strong -no-canonical-prefixes -mfpu=vfpv3-d16 >>>>>>>>>>>>> -fno-addrsig -mthumb -Wa,--noexecstack -Wformat >>>>>>>>>>>>> -Werror=format-security >>>>>>>>>>>>> -stdlib=libc++ -Wl,--exclude-libs,libgcc.a >>>>>>>>>>>>> -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id >>>>>>>>>>>>> -Wl,--warn-shared-textrel -Wl,--exclude-libs,libunwind.a >>>>>>>>>>>>> -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack >>>>>>>>>>>>> -Wl,-z,relro >>>>>>>>>>>>> -Wl,-z,now -Wl,--gc-sections >>>>>>>>>>>>> CMakeFiles/test_cxx_runtime.dir/typeinfo_test.cc.o -o >>>>>>>>>>>>> test_cxx_runtime -latomic -lm && : >>>>>>>>>>>>> CMakeFiles/test_cxx_runtime.dir/typeinfo_test.cc.o: >>>>>>>>>>>>> typeinfo_test.cc >>>>>>>>>>>>> <https://mailtrack.io/trace/link/60886d21dd395f248f150bf2063af90bce602b5b?url=http%3A%2F%2Ftypeinfo_test.cc%2F&userId=2790543&signature=a72ed8c78f119f8b>:vtable >>>>>>>>>>>>> for type_info2: error: undefined reference to >>>>>>>>>>>>> 'std::type_info::__do_upcast(__cxxabiv1::__class_type_info >>>>>>>>>>>>> const*, void**) >>>>>>>>>>>>> const' >>>>>>>>>>>>> clang++: error: linker command failed with exit code 1 (use -v >>>>>>>>>>>>> to see invocation) >>>>>>>>>>>>> ninja: build stopped: subcommand failed. >>>>>>>>>>>>> ### LIBOBJC2 BUILD FAILED!!! >>>>>>>>>>>>> >>>>>>>>>>>>> I am running into the above error when trying to build for >>>>>>>>>>>>> Android. I have the latest ndk and sdk installed with Android >>>>>>>>>>>>> studio. >>>>>>>>>>>>> Does anyone have any idea offhand why C++ isn't finding it's >>>>>>>>>>>>> runtime? I >>>>>>>>>>>>> will attach the build script I am using to generate the ninja >>>>>>>>>>>>> script.... >>>>>>>>>>>>> >>>>>>>>>>>>> GC >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Gregory Casamento >>>>>>>>>>>>> GNUstep Lead Developer / OLC, Principal Consultant >>>>>>>>>>>>> http://www.gnustep.org >>>>>>>>>>>>> <https://mailtrack.io/trace/link/5539c79bf8ea11ab855df69cf27c47504df4029a?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=a3bacb38978af1d3> >>>>>>>>>>>>> - http://heronsperch.blogspot.com >>>>>>>>>>>>> <https://mailtrack.io/trace/link/0e7d2849e32e6a5545dee4db716d416d8a769d54?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=794ec8837a56aa7c> >>>>>>>>>>>>> http://ind.ie/phoenix/ >>>>>>>>>>>>> <https://mailtrack.io/trace/link/2957e53708e301d78eebf58dc506d80bbe462935?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=4c11c7cb082d4c41> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Gregory Casamento >>>>>>>>>>>> GNUstep Lead Developer / OLC, Principal Consultant >>>>>>>>>>>> http://www.gnustep.org >>>>>>>>>>>> <https://mailtrack.io/trace/link/395c4e14c1327f2eb68a925849b3ef4405ef1c3c?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=97bd0bcba9a39e96> >>>>>>>>>>>> - http://heronsperch.blogspot.com >>>>>>>>>>>> <https://mailtrack.io/trace/link/df75d951421ec7ec49a7f3777a60a26416e028ad?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=9831445b2546de15> >>>>>>>>>>>> http://ind.ie/phoenix/ >>>>>>>>>>>> <https://mailtrack.io/trace/link/aae8e7cc987e35195aa951657c98b8697f0f1d6e?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=124dae0a65061977> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Discuss-gnustep mailing list >>>>>>>>>>>> discuss-gnus...@gnu.org >>>>>>>>>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep >>>>>>>>>>>> <https://mailtrack.io/trace/link/f80f650ce2e69eb21b34eff589f9ace84a85b5ba?url=https%3A%2F%2Flists.gnu.org%2Fmailman%2Flistinfo%2Fdiscuss-gnustep&userId=2790543&signature=fd9e027ef774428f> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Gnustep-dev mailing list >>>>>>>>>>>> Gnustep-dev@gnu.org >>>>>>>>>>>> https://lists.gnu.org/mailman/listinfo/gnustep-dev >>>>>>>>>>>> <https://mailtrack.io/trace/link/12db2ea57bbeafe9fb5617a92f224d44ca31af35?url=https%3A%2F%2Flists.gnu.org%2Fmailman%2Flistinfo%2Fgnustep-dev&userId=2790543&signature=69fbc0c26214836b> >>>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Sent from Gmail Mobile >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>> >>>>> -- >>>>> Gregory Casamento >>>>> GNUstep Lead Developer / OLC, Principal Consultant >>>>> http://www.gnustep.org >>>>> <https://mailtrack.io/trace/link/f96c84969d3eb1649c6152bfd4e969a2d0bc04ca?url=http%3A%2F%2Fwww.gnustep.org&userId=2790543&signature=cf673d8f7c9de2ee> >>>>> - http://heronsperch.blogspot.com >>>>> <https://mailtrack.io/trace/link/6dcc6d47fb32cb89a517b10436520e8740ac82ac?url=http%3A%2F%2Fheronsperch.blogspot.com&userId=2790543&signature=6596886ce09bf75f> >>>>> http://ind.ie/phoenix/ >>>>> <https://mailtrack.io/trace/link/29eac4e9399908a6ec029d8842d4a0c867a6b255?url=http%3A%2F%2Find.ie%2Fphoenix%2F&userId=2790543&signature=b50eb38ce5efa054> >>>>> >>>> -- >>>> Gregory Casamento >>>> GNUstep Lead Developer / OLC, Principal Consultant >>>> http://www.gnustep.org - http://heronsperch.blogspot.com >>>> http://ind.ie/phoenix/ >>>> >>>> >>>> -- >>> Gregory Casamento >>> GNUstep Lead Developer / OLC, Principal Consultant >>> http://www.gnustep.org - http://heronsperch.blogspot.com >>> http://ind.ie/phoenix/ >>> >>> >>> -- >> Gregory Casamento >> GNUstep Lead Developer / OLC, Principal Consultant >> http://www.gnustep.org - http://heronsperch.blogspot.com >> http://ind.ie/phoenix/ >> >> >> -- > Gregory Casamento > GNUstep Lead Developer / OLC, Principal Consultant > http://www.gnustep.org - http://heronsperch.blogspot.com > http://ind.ie/phoenix/ > -- Sent from Gmail Mobile
_______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev