View Issue Details

IDProjectCategoryView StatusLast Update
0003242NoesisGUIC++ SDKpublic2024-06-05 02:16
ReporterFrancoisRecisio Assigned Tojsantos  
PrioritynormalSeverityminor 
Status resolvedResolutionfixed 
Product Version3.2.3 
Target Version3.2.4Fixed in Version3.2.4 
Summary0003242: NSToolkit python scripts issues
Description

I had to make a few changes to the NSToolkit python scripts (I used Python 3.12.2) :

- In the python itself:
    - NSProject.py line 24 and NSContext.py line 19 => https://stackoverflow.com/q/2848711
        - "In Python 3.2, SafeConfigParser has been renamed to ConfigParser"

- For Android, I used latest Android SDK (34) with the latest Android NDK (26.3)
     - https://stackoverflow.com/a/73114297
        - "GNU ar was deprecated in r22 and removed in r23"
            - So I changed some lines in NSProject.py:
                - All "arm-linux-androideabi-objcopy", "arm-linux-androideabi-strip" and "arm-linux-androideabi-ar" for each architectures (lines 1347, 1348, 1351, 1356, 1357, 1360, 1365, 1366, 1369, 1374, 1375, 1378) are now "llvm-objcopy", "llvm-strip" and "llvm-ar"

    - Minimum supported SDK version with the latest NDK is 21, even for ANDROIDARM and ANDROID32.
        - I changed the if else in NSProject.py, line 1220, to always have minSdkVersion = "21"
        - Same change in NSCompiler.py, line 98, "i686-linux-android17-clang++" is now "i686-linux-android21-clang++"

    - NSProject.py, line 1703 and 1705 I had that error: "fatal error: unknown target CPU 'intel'"
        - I changed intel by i686 and x86-64 respectively for ANDROID32 and ANDROID64

- For Apple, I used Xcode 15.3
    - I needed to change in NSCompiler.py line 160 "-arch i386" by "-arch x86_64"
        - Apparently this architecture is no longer supported for the iOS simulator.

- Finally for wasm, I used (almost) latest Emscripten (3.1.56)
    - I needed to remove "fuse-ld=gold" in NSProject.py (lines 1596, 1600, 1609 and 1613) because "clang++: fatal error: invalid linker name in argument '-fuse-ld=gold'"
PlatformAny

Activities

jsantos

jsantos

2024-04-29 12:50

manager   ~0009428

Last edited: 2024-04-29 12:51


For Apple, I used Xcode 15.3
I needed to change in NSCompiler.py line 160 "-arch i386" by "-arch x86_64"
Apparently this architecture is no longer supported for the iOS simulator.

I realized that ios and tvos simulators could use the arm64 architecture. To ensure that xcode compiles both architectures (x86_64 and arm64), I simply removed the -arch argument (line 160 and 166).


In NSProject.py, line 2657 and 2665, I changed IPHONEOS_DEPLOYMENT_TARGET and TVOS_DEPLOYMENT_TARGET from 11.0 to 12.0 because I had this warning in Xcode 15.3:

warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.4.99

(same for tvos).


However, changing this value activated OpenGL deprecation warnings like:

'glEnable' is deprecated: first deprecated in tvOS 12.0 - OpenGLES API deprecated. (Define GLES_SILENCE_DEPRECATION to silence these warnings)

I added the define to silence them in my conf file, but maybe it could be added to the xcode project generation? Without it, compilation of the OpenGL device fails. Although deprecated, Noesis OpenGL support for apple still works fine.

jsantos

jsantos

2024-04-30 18:30

manager   ~0009441

Thanks for the report @FrancoisRecisio

jsantos

jsantos

2024-05-22 02:05

manager   ~0009550

I fixed all Android issues in r13965 (trunk)

jsantos

jsantos

2024-06-05 02:16

manager   ~0009644

Everything have been solved here with the exception of raising the DEPLOYMENT_TARGETS. for iOS and tvOS. For now we prefer to stay with the warning.

Thanks for the feedback!

Issue History

Date Modified Username Field Change
2024-04-15 13:33 jsantos New Issue
2024-04-15 13:34 jsantos Description Updated
2024-04-15 13:34 jsantos Assigned To => jsantos
2024-04-15 13:34 jsantos Status new => assigned
2024-04-15 13:34 jsantos Target Version => 3.2.4
2024-04-29 12:50 jsantos Note Added: 0009428
2024-04-29 12:50 jsantos Note Edited: 0009428
2024-04-29 12:51 jsantos Note Edited: 0009428
2024-04-30 18:29 jsantos Reporter jsantos => FrancoisRecisio
2024-04-30 18:30 jsantos Note Added: 0009441
2024-05-22 02:05 jsantos Note Added: 0009550
2024-06-05 02:16 jsantos Status assigned => resolved
2024-06-05 02:16 jsantos Resolution open => fixed
2024-06-05 02:16 jsantos Fixed in Version => 3.2.4
2024-06-05 02:16 jsantos Note Added: 0009644