Odin
Odin copied to clipboard
odinfmt won't build on MacOS
Context
Odin: dev-2022-01:965b962b
OS: macOS 11.6 Big Sur
CPU: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
RAM: 32768 MiB
Expected Behavior
odin build tools/odinfmt/main.odin
should build.
Current Behavior
Several core library procedures appear to be undefined for MacOS :
tools/odinfmt/main.odin(93:5) 'is_file' is not declared by 'os'
tools/odinfmt/main.odin(99:5) 'rename' is not declared by 'os'
tools/odinfmt/main.odin(102:6) 'remove' is not declared by 'os'
tools/odinfmt/main.odin(113:12) 'is_dir' is not declared by 'os'
There are a couple issues with odinfmt in this repo. I have been advised to use odinfmt from ols (https://github.com/DanielGavin/ols/tree/master/tools/odinfmt). We should clarify the status of odinfmt in this repository
Seems like os is missing some calls there let me fix that shouldn't take long..
Already in the makings => #1471
@kim366 and @weshardee please check if it works now with this change.
Ok checked it out on arm seems like this also needs to be fixed:
Undefined symbols for architecture arm64: "_fdopendir$INODE64", referenced from: _os._fdopendir-943 in main.o "_readdir_r$INODE64", referenced from: _os._readdir-946 in main.o ld: symbol(s) not found for architecture arm64 clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
This is a arm only problem doesn't happen at x64 normally. I tried to add the calls for arm but it seems like it doesn't allow when inside foreign..?
Should be done now tested it on arm64 macOS
Hello!
I am marking this issue as stale as it has not received any engagement from the community or maintainers 120 days. That does not imply that the issue has no merit! If you feel strongly about this issue
- open a PR referencing and resolving the issue;
- leave a comment on it and discuss ideas how you could contribute towards resolving it;
- leave a comment and describe in detail why this issue is critical for your use case;
- open a new issue with updated details and a plan on resolving the issue.
The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone..