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 > <mailto: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 >> <mailto: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 >> <mailto: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 >> <mailto: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 >> <mailto: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 >>> <mailto: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 >>> <mailto: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 >>>> <mailto: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 >>>> <mailto: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 >>>>> <mailto: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 >>>>> <mailto: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 >>>>> <mailto: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 >>>>>> <mailto: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 >>>>>> <mailto: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 >>>>>>> <mailto: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 <mailto: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 <mailto: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-gnustep@gnu.org <mailto:Discuss-gnustep@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-...@gnu.org <mailto:gnustep-...@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://www.gnustep.org/> - >> http://heronsperch.blogspot.com <http://heronsperch.blogspot.com/> >> http://ind.ie/phoenix/ <http://ind.ie/phoenix/> > -- > Gregory Casamento > GNUstep Lead Developer / OLC, Principal Consultant > http://www.gnustep.org <http://www.gnustep.org/> - > http://heronsperch.blogspot.com <http://heronsperch.blogspot.com/> > http://ind.ie/phoenix/ <http://ind.ie/phoenix/>
_______________________________________________ Discuss-gnustep mailing list Discuss-gnustep@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnustep