MacOS 26.2 (Tahoe) arm64; I have problems with both the installation of binary and installation via source. #634
-
|
Hi; I saw ArkScript on the Rosetta Code web site. Looks interesting. Want to have ArkScript installed locally on my MacOS 26.2 (Tahoe) arm64 machine. Both the binary installation attempt and the installation from source had problems. I tried to install via source, ran into problems, I asked Gemini AI for help, lots of progress but still have issues. I tried again with a binary installation but I'm running into other problems. I tried to follow the installation instructions provided, but I think I'm missing something essential in getting the runtime/libraries configured. First, the binary installation issue: /opt/ArkScript/bin/arkscript ./hello_world_text.ark dyld[29453]: Library not loaded: @rpath/libArkReactor.dylib ls -R /opt/ArkScript /opt/ArkScript/bin: /opt/ArkScript/lib: /opt/ArkScript/lib/std: file /opt/ArkScript/bin/arkscript Thanks in advance for the help, |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 17 replies
-
|
I've been doing some more reading and re-reading. Apparently, MacOS prior to MacOS 15+ needs something from homebrew. I don't use homebrew, I use MacPorts. I want things to be in /opt ; I don't like messing with the MacOS system like homebrew does. Is this a dealbreaker? Thanks, |
Beta Was this translation helpful? Give feedback.
-
|
As I said earlier, my MacOS is 26.2 (Tahoe) and is arm64. I think that, perhaps, the abrupt change that Apple did bumping the OS from 15 to 26 has probably broken the build infrastructure for ArkScript, and that is, perhaps, why this homebrew download piece has been suggested, as a "Hail Mary". This has caused problems for many of the languages I like very much (Nim, Ada, etc) and the problem(s) that have shown up have either been ignored, or treat superficially or even incorrectly/incompletely. So I'm hoping that you guys will take a careful look and see what is going on. The build+install instructions for this version of MacOS and this architecture are not quite right. I'm looking for your help in obtaining a good, clean, seamless and painless installation process for MacOS 26.2 on the arm64 platform. I really like this language, but I'd rather not have to depend on a Docker instance or x86-64 platform, I'd like to run natively. Thanks, |
Beta Was this translation helpful? Give feedback.
-
|
Hi, thanks for the report. The first solution would be to link libArkReactor to ArkScript statically, in the cmakelists.txt. I think that would be the best solution going forward, as ArkScript can't be updated independently of libArkReactor, and vice versa. A second solution seems to be playing with the run paths when compiling ArkScript, as this link suggests : https://www.codegenes.net/blog/how-to-set-dylib-search-path-osx/ For the first solution, it should be just replacing SHARED with STATIC here: https://github.com/ArkScript-lang/Ark/blob/dev/CMakeLists.txt#L78 I don't have an installation of macOS Tahoe, for personal reasons I'm sticking to Sequoia (though that might change). If you could try building and installing from source with the first solution, that would be greatly appreciated! |
Beta Was this translation helpful? Give feedback.
-
|
Before embarking on something with some difficulty, please consider a new data point. On a whim, I decided to try executing arkscript from the build directory. It works wonderfully :-) So, apparently, not using an "official" installation method for moving the arkscript binary and libs to the new directory (/opt/ArkScript) causes them to be "confused"? I used "sudo cp -r " to "install" from the build directory. Perhaps that action caused the problem? Thanks, |
Beta Was this translation helpful? Give feedback.
-
|
To summarize:
|
Beta Was this translation helpful? Give feedback.
To summarize:
STATICin the CMakeLists.txt will solve dynamic libs resolution problems, if you only need thearkscriptexecutable as a userarkscriptcmake --install build --prefix /opt/ArkScript, it will create a/opt/ArkScript/lib/Ark/std, you need to pointARKSCRIPT_PATHto/opt/ArkScript/lib/Ark(I'm working on something to avoid the redundant /Ark/ here, when using a c…