Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Building Gideros - Page 3 — Gideros Forum

Building Gideros

13

Comments

  • MoKaLuxMoKaLux Member
    edited April 2022
    FYI: Qt asked me to update so I did and now C:\Qt6\Tools\mingw900_64 folder has only the share folder in it, all the rest is gone :#
    I have a working folder C:\Qt6\Tools\mingw1120_64 with everything in it.

    I couldn't build gideros anymore so I changed Makefile.def to this:
    QTBASEDIR=/c/Qt6
    MAKEJOBS=-j8
     
    QT_ARCH=mingw_64
    #QT_TOOLSARCH=mingw900_64
    QT_TOOLSARCH=mingw1120_64
    QTVER=6.2.2
    QT5ICUVER=54
    And now I can build gideros again :)

    Please note that Qt 6.2.3 (which is LTS) should work too (see hito9 post on Linux build), you just need to write QTVER=6.2.3 (and maybe QT5ICUVER=56).

    Viva Gideros <3 </b>

    Likes: talis

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • Can you update the wiki?
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • MoKaLuxMoKaLux Member
    edited October 2022
    MoKaLux said:

    I had another idea, if we have already working export for all the platforms with the official release, then we don't need to do it!?
    We copy templates from original installed gideros and put them in our gideros templates? sounds too easy!
    EDIT: tested and that works! (tested with html export). The problem is I think we need to build new templates if we make changes to them? :*

    So I built latest gideros but only for windows:
    #QTBASEDIR=/c/Applications/Qt
    QTBASEDIR=/c/Qt6
    MAKEJOBS=-j8
     
    QT_ARCH=mingw_64
    #QT_TOOLSARCH=mingw900_64
    QT_TOOLSARCH=mingw1120_64
    QTVER=6.2.2
    QT5ICUVER=54
    and as in the quote I simply had to copy the win32, html5, ... templates from the original gideros to my build and that works :o (tested with html5, win32, not working for android export for now).

    I am learning Qt and c++ with gideros :s

    EDIT: you can see my build working for html5 https://mokatunprod.itch.io/gideros-tests
    EDIT2: @SinisterSoft the wiki describes the steps I take on my windows 10 machine, tested today but only the win part not all the platforms.

    Viva Gideros <3
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • All the plugins are built at the same time as the editor, no?
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • MoKaLuxMoKaLux Member
    edited October 2022

    All the plugins are built at the same time as the editor, no?

    EDIT: I meant not the platforms

    yes but you have to install their sdk on your computer (steam sdk, android, emscripten, ...) and set up their path in Makefile.def. I tried with a couple of them but couldn't compile them correctly :|
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • MoKaLuxMoKaLux Member
    edited October 2022
    hgy29 said:

    @MoKaLux, to build Gideros for win32, you don’t need any external tool beside MinGW64 environment. I have updated the wiki with the new list of packages needed for MinGW64. And yes, win32 has nothing to do with QT or UWP.

    What I tried:
    $ pacman -S mingw-w64-i686-toolchain
    :: There are 19 members in group mingw-w64-i686-toolchain:
    :: Repository mingw32

    I installed most of them and some had the error:
    error: failed to commit transaction (invalid or corrupted package)
    but I believe they are for other os than windows with extension .pkg.tar.zst

    Building Gideros OK
    make -f scripts/Makefile.gid prep.repo
    make -f scripts/Makefile.gid qscintilla
    make -f scripts/Makefile.gid qlexilla
    make -f scripts/Makefile.gid versioning

    make –f scripts/Makefile.gid qtapp.install

    Everything work and I have my Gideros Studio. Inside gideros I try to export to win32 but I got "template is missing" :/

    So I run:
    $ make -f scripts/Makefile.gid win32.install

    and I have these errors:
    /bin/sh: line 1: /c/msys64/mingw32/bin/gcc: No such file or directory
    make[1]: *** [/c/dev/gideros_hgy29/scripts//GidWin32.mk:81: win32_example/build/libgvfs/findfp.o] Error 127
    /bin/sh: line 1: /c/msys64/mingw32/bin/g++: No such file or directory

    My makefile.def:
    #QTBASEDIR=/c/Applications/Qt
    QTBASEDIR=/c/Qt6
    MAKEJOBS=-j8
     
    #WIN32_BIN=/mingw32/bin
    #C:\msys64\mingw32\bin
    WIN32_BIN=/c/msys64/mingw32/bin
    export WIN32_BIN
     
    QT_ARCH=mingw_64
    #QT_TOOLSARCH=mingw900_64
    QT_TOOLSARCH=mingw1120_64
    QTVER=6.2.2
    QT5ICUVER=54
    and effectively there are no gcc nor g++ in my bin folder:


    Somebody any idea? Thank you :smile:
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    No you don’t need qt things, but you should have gcc installed by the toolchain package. Maybe that was the one in error ? You could try to update your Mingw pacman repository or they keys if that’s what is failing

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    edited October 2022
    If your MINGW install is a bit old, you may hit a key issue described here https://www.msys2.org/news/#2020-06-29-new-packagers and also https://github.com/msys2/MSYS2-packages/issues/2343.
    I just had this issue on my home PC, and I solved it by:
    - editing /etc/pacman.conf and changing the SigLevel to Never (there was one line to uncomment and the line below to comment)
    - running pacman -S msys2-keyring
    - reverting the changes to pacman.conf
    - running pacman -Sy to update the database

    And then pacman was happy about the keys and packages

    BTW, libpng package is no longer necessary

    EDIT: I have update my repo, it wouldn't build from a clean repo

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited October 2022
    yes that was a signature issue https://www.msys2.org/news/#2020-06-29-new-packagers, to fix it I did:
    rm -r /etc/pacman.d/gnupg/
    pacman-key --init
    pacman-key --populate msys2

    and I redid:
    pacman -Syu
    pacman -S mingw-w64-i686-toolchain (download ALL)
    pacman -S mingw-w64-i686-glew
    pacman -S mingw-w64-i686-curl
    pacman -S mingw-w64-i686-libpng

    and that almost worked :D

    Thank you for updating your repo, I will get it and try again and I think that will work :)
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • MoKaLuxMoKaLux Member
    edited October 2022
    that almost worked :p


    I think I need to redo those again because I had some errors?
    pacman -S mingw-w64-i686-toolchain

    Thank you very much hgy29 for the help you provided, much appreciated o:)
    I will try to understand those .dlls issues ;)
    EDIT: looks like a curl thing, back to pacman again :p
    EDIT2: I found them in my msys64/mingw32/bin folder and copied them over to the exported win32 app and this is working but I had a little surprise :o

    VIVA GIDEROS <3
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    That’s a ssl thing, I guess it worked for me because I had them installed already. They are the same as for qt ssl (win32 OpenSSL build)
  • MoKaLuxMoKaLux Member
    edited October 2022
    @hgy29 we cross-posted, please see updated post above ;)
    I will update the wiki asap...DONE

    Likes: hgy29

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • I tried building for android just for fun :p but it failed with some errors (which I didn't save :/ )
    Here is my makefile.def
    QTBASEDIR=/c/Qt6
    MAKEJOBS=-j8
     
    #NDKBUILD=cmd //c /c/Applications/android-ndk-r17b/ndk-build.cmd
    #ANDROID_HOME=C:\\\\Users\\\\User\\\\AppData\\\\Local\\\\Android\\\\Sdk
    NDKBUILD=cmd //c /c/dev/android-ndk/ndk-build.cmd
    JAVA_HOME=C:\Program Files\Android\Android Studio\jre
    ANDROID_HOME=C:\Users\xxx\AppData\Local\Android\Sdk
     
    #WIN32_BIN=/mingw32/bin
    #C:\msys64\mingw32\bin
    WIN32_BIN=/c/msys64/mingw32/bin
    export WIN32_BIN
     
    QT_ARCH=mingw_64
    #QT_TOOLSARCH=mingw900_64
    QT_TOOLSARCH=mingw1120_64
    QTVER=6.2.2
    QT5ICUVER=54
    PS: this is related to https://forum.gideros.rocks/discussion/comment/67525/#Comment_67525 we should put building gideros in this thread imho o:)
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • Trying to build for android, but:
    cd ./android/lib;cmd //c /e/DEV/Android/Sdk/ndk/24.0.8215888/ndk-build.cmd -j1
    make[1]: Entering directory 'E:/DEV/gideros/android/lib'
    Android NDK: android-18 is unsupported. Using minimum supported version android-19.
    Android NDK: WARNING:jni/Android.mk:gideros: non-system libraries in linker flags: -latomic
    Android NDK:     This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
    Android NDK:     or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
    Android NDK:     current module
    Android NDK: WARNING:jni/Android.mk:gideros: non-system libraries in linker flags: -latomic
    Android NDK:     This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
    Android NDK:     or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
    Android NDK:     current module
    Android NDK: WARNING:jni/Android.mk:gideros: non-system libraries in linker flags: -latomic
    Android NDK:     This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
    Android NDK:     or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
    Android NDK:     current module
    Android NDK: WARNING:jni/Android.mk:gideros: non-system libraries in linker flags: -latomic
    Android NDK:     This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
    Android NDK:     or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
    Android NDK:     current module
    make[1]: Leaving directory 'E:/DEV/gideros/android/lib'
    make[1]: Entering directory 'E:/DEV/gideros/android/lib'
    [arm64-v8a] Compile++      : gideros <= shape.cpp
    jni/../../../2dsg/shape.cpp:19:13: error: static declaration of 'isnan' follows non-static declaration
    static bool isnan(float x)
                ^
    E:/DEV/Android/Sdk/ndk/24.0.8215888/build//../sources/cxx-stl/llvm-libc++/include\math.h:539:1: note: previous definition is here
    isnan(float __lcpp_x) _NOEXCEPT { return __libcpp_isnan(__lcpp_x); }
    ^
    1 error generated.
    make[1]: *** [E:/DEV/Android/Sdk/ndk/24.0.8215888/build//../build/core/build-binary.mk:424: obj/local/arm64-v8a/objs/gideros/__/__/__/2dsg/shape.o] Error 1
    make[1]: Leaving directory 'E:/DEV/gideros/android/lib'
    make: *** [/e/dev/gideros/scripts//GidAndroid.mk:29: androidso] Error 2
    Makefile.def:
    NDKBUILD=cmd //c /e/DEV/Android/Sdk/ndk/24.0.8215888/ndk-build.cmd
    JAVA_HOME=E:\DEV\Android\Android Studio\jre
    ANDROID_HOME=E:\\\\DEV\\\\Android\\\\Sdk
    JAVA_HOME is almost empty... dont know if this is suppose to be like that


    I tried different NDK versions, I have all SDK kits from 10 API level to 33, I also have SDK build tools & Android SDK Command line tool (just in case)


    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited May 2023
    @rrraptor are you able to build one of your project to android? You could check if this part is working for you before trying to compile gideros to android?

    PS: I am trying to build an app (apk) with latest android studio flamingo, with included open JDK 17 in jbr folder!, JAVA_HOME setup ok, ... and I failed miserably with a bunch of error. I hate what google is doing with android >:)

    * Where:
    Settings file 'C:\XXX\PROJECTS\_gideros\_BUILDS\android\CBUMP_TECS_SCIFI_wodt_20230423\tmp\settings.gradle'

    * What went wrong:
    Could not compile settings file 'C:\XXX\PROJECTS\_gideros\_BUILDS\android\CBUMP_TECS_SCIFI_wodt_20230423\tmp\settings.gradle'.
    > startup failed:
    General error during conversion: Unsupported class file major version 61

    java.lang.IllegalArgumentException: Unsupported class file major version 61
    at groovyjarjarasm.asm.ClassReader.(ClassReader.java:189)
    at groovyjarjarasm.asm.ClassReader.(ClassReader.java:170)
    at groovyjarjarasm.asm.ClassReader.(ClassReader.java:156)
    at groovyjarjarasm.asm.ClassReader.(ClassReader.java:277)
    ... and on and on and on ...
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    I use a ndk version independant of Android Studio, to avoid breaking things when I update Android studio. Currently gideros is built with ndk r17b

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited May 2023
    rrraptor hope this can help ;)
    I found ndk r17b for windows https://dl.google.com/android/repository/android-ndk-r17b-windows-x86.zip (hgy29 is it the one you are using?)

    There is ndk r17c here https://github.com/android/ndk/wiki/Unsupported-Downloads#r17c (but better be safe with r17b :p )

    PS: link where I found windows android ndk r17b: http://delphi.org/2019/06/manually-installing-android-sdk-ndk-and-java-for-firemonkey-development/
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    edited May 2023
    Thinking about it, now we raised minimum sdk level for android, it is probably time to update ndk too
  • hgy29 said:

    I use a ndk version independant of Android Studio, to avoid breaking things when I update Android studio. Currently gideros is built with ndk r17b

    I tried r17c, r20b, r21e, r24, r25c and none of them worked.
    https://github.com/android/ndk/wiki/Unsupported-Downloads
    MoKaLux said:

    rrraptor hope this can help ;)
    I found ndk r17b for windows https://dl.google.com/android/repository/android-ndk-r17b-windows-x86.zip (hgy29 is it the one you are using?)

    Does not work, the errors says that there is no file:
    E:/DEV/Android/android-ndk-r17b/build//../toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/aarch64-linux-android-strip

    And its true:
    hgy29 said:

    Thinking about it, now we raised minimum sdk level for android, it is probably time to update ndk too

    Just let us know when it happens & which version to download :smile:
  • rrraptorrrraptor Member
    edited May 2023
    Ok, so it seems to be working...


    I downloaded ndk 17c here:
    https://dl.google.com/android/repository/android-ndk-r17c-windows-x86_64.zip

    Removed all ndk versions from Android Studio and it worked.

    I have the same error^
    MoKaLux said:

    * Where:
    Settings file 'C:\XXX\PROJECTS\_gideros\_BUILDS\android\CBUMP_TECS_SCIFI_wodt_20230423\tmp\settings.gradle'

    * What went wrong:
    Could not compile settings file 'C:\XXX\PROJECTS\_gideros\_BUILDS\android\CBUMP_TECS_SCIFI_wodt_20230423\tmp\settings.gradle'.
    > startup failed:
    General error during conversion: Unsupported class file major version 61

    java.lang.IllegalArgumentException: Unsupported class file major version 61

    while building with
    make -f scripts/Makefile.gid android.install
    But Im getting this:
    FAILURE: Build failed with an exception.
     
    * Where:
    Build file 'E:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\build.gradle'
     
    * What went wrong:
    Could not compile build file 'E:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\build.gradle'.
    > startup failed:
      General error during conversion: Unsupported class file major version 61
     
      java.lang.IllegalArgumentException: Unsupported class file major version 61
    I guess it happens because gradle version in wrong... But how should I know which version is used during the build? I know that GiderosPlayer requires 7.0.3 (in build.gradle: classpath 'com.android.tools.build:gradle:7.0.3'), but you can see on the first screen that the script downloads and runs 7.0.2
    @hgy29 any tips?)

    P.S. maybe it happens because there is no 7.0.3 version to download from https://services.gradle.org/distributions/ ?
  • hgy29hgy29 Maintainer
    class file major 61 is Java 17, so that means gradle script doesn't know how to handle java 17. I am using the java in C:\Program Files\Android\Android Studio\jbr, but I am still using Electric Eel version of AS. I'll upgrade next week and see what happens.

    Likes: MoKaLux, rrraptor

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Just had a look and it seems Flamingo comes with Java 17, so gradle version will have to be updated, I don't know yet what version android studio now recommands (and if it works).

    Likes: MoKaLux, rrraptor

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    edited May 2023
    Apparently, new recommanded gradle package is 7.5 (gradle-wrapper.properties), and android gradle plugin 7.4.2 (build.gradle)

    Likes: MoKaLux, rrraptor

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Just tried, and it build now with Flamingo. I pushed my changes to gideros repository.

    Likes: MoKaLux, rrraptor

    +1 -1 (+2 / -0 )Share on Facebook
  • rrraptorrrraptor Member
    edited May 2023
    @hgy29 I was trying different versions of gradle, but not 7.5 :D But it does not work for me :neutral:
    Exec: cmd.exe [/c gradlew.bat assembleRelease ] into Players/GiderosPlayer/tmp
     
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
     
    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
     
    See <a href="https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings" rel="nofollow">https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings</a>
     
    FAILURE: Build failed with an exception.
     
    * Where:
    Build file 'E:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build.gradle' line: 5
     
    * What went wrong:
    A problem occurred evaluating project ':app'.
    > Invalid revision:
     
    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
     
    * Get more help at <a href="https://help.gradle.org" rel="nofollow">https://help.gradle.org</a>
     
    BUILD FAILED in 696ms
    Exec returned: 1
    make: *** [/e/dev/gideros/scripts//GidAndroid.mk:20: android.install] Error 1
    JAVA_HOME=E:\DEV\Android\Android Studio\jbr
    PS E:\DEV\Android\Android Studio\jbr\bin> .\java.exe -version
    openjdk version "17.0.6" 2023-01-17
    OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
    OpenJDK 64-Bit Server VM (build 17.0.6+0-b2043.56-9586694, mixed mode)
    PS E:\DEV\Android\Android Studio\jbr\bin>
    hgy29 said:

    Just had a look and it seems Flamingo comes with Java 17, so gradle version will have to be updated, I don't know yet what version android studio now recommands (and if it works).

    But it suppose to use the one from makefile.def...? I tried setting JAVA_HOME to jdk11 and it did not work. However in my android studio test project with gradle 7.0.2 (gradle-wrapper.properties) & 7.0.3 (build.gradle) & jdk11 in project settings there was no problems...
  • hgy29hgy29 Maintainer
    At least your issue has changed to something else, it doesn’t look like a gradle or Java version trouble anymore. It did work for me, so I wonder what you could wrong. Sometimes I have to run it twice, first run would crash but with yet another issue though.
  • rrraptorrrraptor Member
    edited May 2023
    hgy29 said:

    At least your issue has changed to something else, it doesn’t look like a gradle or Java version trouble anymore. It did work for me, so I wonder what you could wrong. Sometimes I have to run it twice, first run would crash but with yet another issue though.

    I found this:
    https://forum.giderosmobile.com/discussion/7245/a-problem-occurred-evaluating-project-app-invalid-revision/p2

    Maybe something wrong with build-tools version...?
  • rrraptorrrraptor Member
    edited May 2023
    How can I use this commands?
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    EDIT:
    Go to: gideros\Build.Win\Players\GiderosPlayer\tmp
    Run cmd/power shell in this directory
    type
    gradlew --stacktrace

Sign In or Register to comment.