SDK 4.5.0 - Questions

This forum is for developers of Rack Extensions to discuss the RE SDK, share code, and offer tips to other developers.
User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 08 Jul 2024

SDK 4.5.0 add support of Categories and Tags to the RE devices
And may be we can discuss it here

- Recon 13 not load at Arm-macs RE .dylibs, write error for every RE, that try to load at start of Recon.
Solution: use Rosetta emulation (intel-mac versions run Ok with it) for Recon.app

- If we press Browse button in Recon for any device, that already include .repatches in this RackExtension local build, we have silence folder (no one .repatch). Possible way to load your local folder with pacth resources folder of RE.

- Recon crashed if we select "Reason Library" folder in Browser

User avatar
buddard
RE Developer
Posts: 1263
Joined: 17 Jan 2015
Location: Stockholm

Post 10 Jul 2024

turn2on wrote:
08 Jul 2024
SDK 4.5.0 add support of Categories and Tags to the RE devices
And may be we can discuss it here

- Recon 13 not load at Arm-macs RE .dylibs, write error for every RE, that try to load at start of Recon.
Solution: use Rosetta emulation (intel-mac versions run Ok with it) for Recon.app

- If we press Browse button in Recon for any device, that already include .repatches in this RackExtension local build, we have silence folder (no one .repatch). Possible way to load your local folder with pacth resources folder of RE.

- Recon crashed if we select "Reason Library" folder in Browser
I just tested Recon 13 on my Robotic Bean laptop, and I can load Arm-based REs there without problems.

I can reproduce the crash when clicking on "Reason Library", though, that might be a bug in Recon!

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 11 Jul 2024

Strange.
I also cant use RE2DRender from new SDK 450, errors about arm/x86 architecture. But I'm on Mac M1 arm. Recon try tp set in 64arm (no rosetta). Under rosetta all nice.

RE2DRender:
ImportError: dlopen(/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so, 0x0002): tried: '/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (no such file), '/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

If I use RE2DRender from previous SDK 440, all work nice.

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 11 Jul 2024

I get from released build RE ("RackExtensions" folder): Coriolis-arm64.dylib
And copy this .dylib to "RackExtensions_Dev" folder of RE.
So now in folder I have:
- Coriolis64.dll
- Coriolis.dylib
- Coriolis-arm64.dylib (that I copy)

test in Recon13 (arm, not-rosetta mode), and all nice now.

So in fact, all folders in "RackExtensions_Dev" not include -arm64.dylib, that search Recon13. For all main RE builds here I have problem with Recon13 at start. Recon12 was work nice before (without this file).

Previously, all my RE builds, have here only two files:
- Coriolis64.dll
- Coriolis.dylib
And not have before Coriolis-arm64.dylib like files.

If I remove folder in RackExtensions_Dev, and make new build under SDK 440/450, I not have needed Coriolis-arm64.dylib anyway.

User avatar
buddard
RE Developer
Posts: 1263
Joined: 17 Jan 2015
Location: Stockholm

Post 11 Jul 2024

I tested now by building the CustomDisplayDevice example in the SDK, and it's working fine for me without Rosetta... You haven't modified the LOCAL45_ARCHS variable by any chance?

Are you building directly using the SDK, or are you using the build scripts in GE? Is your GE environment pointing to the correct SDK version?

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 11 Jul 2024

I talk about GE builds. I not touch any files (build_local_45 not touch)
I change only way to new SDK 450, or use 440, Recon13 on Mac need -arm64.dylib, and I can find this type of file only in released REs folder RackExtension - copy it and RE run without error.
But for new RE I can only use Rosetta mode, make u45 build, create u45, upload and download beta. Get from beta build -arm64,dylib file and copy it to lock build for Recon arm tests) Very long way.
Much more easy - use Recon13 under Rosetta, or build under Recon 12.

But strange that RE2DRender also not work for me from SDK 450.

User avatar
buddard
RE Developer
Posts: 1263
Joined: 17 Jan 2015
Location: Stockholm

Post 11 Jul 2024

I am downloading the latest GE right now to see if I can reproduce any of your problems.

In the meantime, please try building one of the Jukebox SDK examples (for example CustomDisplayDevice), using RE2DRender directly and then the build45.py found in the example's directory.

The build script in SDK 4.4 and later should automatically detect when you're running an Apple Silicon processor and produce both dylibs (and also does successfully on my MBP with .M1 Max).

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 11 Jul 2024

Good.
I try RE2DRender from 450, for CustomDisplayDevice, the same error (and no problem with RE2DRender from SDK440):

ImportError: dlopen(/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so, 0x0002): tried: '/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (no such file), '/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

- Finished Render under 440.
- Try to build CustomDisplayDevice:

-macosx_version_min has been renamed to -macos_version_min
/usr/bin/nm -u /Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/SDK/Examples/CustomDisplayDevice/Intermediate-llvm/Testing/64/CustomDisplayDevice-arm64.dylib
copyLibrary(): "CustomDisplayDevice.dylib" -> "/Users/mikesmirnov/Library/Application Support/Propellerhead Software/RackExtensions_Dev/CustomDisplayDevice"
copyLibrary(): No .dSYM found.
copyLibrary(): "CustomDisplayDevice-arm64.dylib" -> "/Users/mikesmirnov/Library/Application Support/Propellerhead Software/RackExtensions_Dev/CustomDisplayDevice"
copyLibrary(): No .dSYM found.
Build finished


So, in RackExtensions_Dev folder of this RE, I find "CustomDisplayDevice-arm64.dylib" file.
Recon13 run (arm mode):
CustomDisplayDevice - work nice.

User avatar
buddard
RE Developer
Posts: 1263
Joined: 17 Jan 2015
Location: Stockholm

Post 11 Jul 2024

Weird with the rendering error, it's almost as if RE2DRender trying to use a python version that's not compatible with arm64?

But the output from the Local45 build looks correct enough (I see the dSYM message on my end as well). Is the CustomDisplayDevice visible in Recon13 without using Rosetta now?

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 11 Jul 2024

yes, CustomDisplayDevice visible in Recon13 without Rosetta.
As I find, in folder RackExtensions_Dev/CustomDisplayDevice - now have file
CustomDisplayDevice-arm64.dylib

But, when I try to build under GE, -arm64.dylib not generated.



Second question, why RE2DRender from SDK 450 not work. You are right. Default python is 2.7.18, I know that I need to use python3, but how to do this right, set python3 as default?

Use for new window "alias python=python3", check running python 3.9.6, run under it render (from SDK 450)- the same error:

ImportError: dlopen(/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so, 0x0002): tried: '/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (no such file), '/Applications/DEV-CONTAINER/JukeboxSDK_450_243_Mac/RE2DRender/RE2DRender-2.0.11b243-Mac/lib/lupa/lua54.cpython-311-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

Under SDK440, RE2DRender - works nice under python 2.7.18 on arm

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 11 Jul 2024

Ok, I find that recommended Python 3.10.X, and install mow 3.12.4 as default python
Check python version (3.12.4, good).

But RE2DRender have the same previous error.

User avatar
buddard
RE Developer
Posts: 1263
Joined: 17 Jan 2015
Location: Stockholm

Post 11 Jul 2024

turn2on wrote:
11 Jul 2024
Ok, I find that recommended Python 3.10.X, and install mow 3.12.4 as default python
Check python version (3.12.4, good).

But RE2DRender have the same previous error.
Did you try running RE2DRender in a new terminal window?

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post 11 Jul 2024

Yes, new window. Again, check python version - is 3.12.4
Try to render
with RE2DRender-2.0.11b243-Mac (SDK 450) - error
with RE2DRender-2.0.11b235-Mac (SDK 440) - work as before

User avatar
turn2on
RE Developer
Posts: 834
Joined: 13 Mar 2015

Post Yesterday

Problem solved locally.
Terminal app work by default in macos in Rosetta mode. After reset Terminal.app to arm (non-Rosetta), RE2DRender start to work, as it must.

Recon 13 start work nice (no errors at start), cant say why, but I find it after I install last Reason 13 minor update

  • Information
  • Who is online

    Users browsing this forum: CommonCrawl [Bot] and 0 guests