Closed eminakgun closed 9 months ago
What language do you have your OS set to? For some reason it's simplifying a capital letter I to Unicode 0130 (Latin Small Letter Dotless I) instead of a lowercase i. You can see it in "simple ıdentifier".
Ah, I see. It's Turkish and capital "I" is a valid letter though. What are the steps to reproduce the call-stack or log messages? So that we can find out at which stage the bug is introduced.
I will try to change OS language to EN and retry ASAP.
I think I know where it is, I just wanted to know so I can try to reproduce it and test for other areas where it may appear. Switching to English should work for now and I'll let you know when there's a version that's fixed.
Thanks!
Hi @NaturalDocs Switching to EN solved the letter problem but now it crashes as below,
Crash Message:
libNaturalDocs.Engine.SQLite.Mac64.so assembly:<unknown assembly> type:<unknown type> member:(null)
(System.DllNotFoundException)
Stack Trace:
at (wrapper managed-to-native) CodeClear.NaturalDocs.Engine.SQLite.API.sqlite3_initialize()
at CodeClear.NaturalDocs.Engine.SQLite.API.Initialize () [0x00000] in <5f05040a225e456282ce5ec1092f4c83>:0
at CodeClear.NaturalDocs.Engine.CodeDB.Manager.Start (CodeClear.NaturalDocs.Engine.Errors.ErrorList errors) [0x0000c] in <5f05040a225e456282ce5ec1092f4c83>:0
at CodeClear.NaturalDocs.Engine.Instance.Start (CodeClear.NaturalDocs.Engine.Errors.ErrorList errors, CodeClear.NaturalDocs.Engine.Config.ProjectConfig commandLineConfig) [0x000f8] in <5f05040a225e456282ce5ec1092f4c83>:0
at CodeClear.NaturalDocs.CLI.Application.BuildDocumentation (CodeClear.NaturalDocs.Engine.Errors.ErrorList errorList) [0x0002d] in <b9405812e2f14363914a049832d0edc8>:0
at CodeClear.NaturalDocs.CLI.Application.Main (System.String[] commandLine) [0x00141] in <b9405812e2f14363914a049832d0edc8>:0
Command Line:
/Users/eminakgun/tools/NaturalDocs/NaturalDocs.exe -i ./ -p cfg -o html out
Versions:
Natural Docs 2.2
Unix 22.3.0.0
Mono 6.12.0.182
Couldn't get SQLite version
Quick search revealed mac users had similar problems but couldn't find a working solution. Do you know one?
It's macOS not allowing the SQLite library to be loaded because it's not signed. Try this version:
http://www.naturaldocs.org/download/temp/Natural_Docs_temp9.zip
If that doesn't work there's instructions in here about how to make macOS allow it anyway: https://github.com/NaturalDocs/NaturalDocs/issues/85
Let me know if the temp9 version works for you so I can verify that I did it right.
temp9 failed as before
I was able to reproduce the "simple ıdentifier" issue and fix it. See if this version works while macOS is still on Turkish:
https://www.naturaldocs.org/download/temp/Natural_Docs_temp10.zip
Show me the crash message if it still can't access SQLite. The version should be "Natural Docs 2.3 (Development Release 07-06-2023)" and it should be attempting to load "libSQLite.Mac.x64.so". If it doesn't say those things you may still be running the old version.
Simple Identifier issue is resolved by the version you attached, but still can't find the SQLite dll,
Generated on 9.07.2023 14:25:01
Crash Message:
libSQLite.Mac.x64.so assembly:<unknown assembly> type:<unknown type> member:(null)
(System.DllNotFoundException)
Stack Trace:
at (wrapper managed-to-native) CodeClear.NaturalDocs.Engine.SQLite.DLLImport.x64.sqlite3_initialize()
at CodeClear.NaturalDocs.Engine.SQLite.API.Initialize () [0x00007] in <0db50aa7ded44765bcd2c7c139c82432>:0
at CodeClear.NaturalDocs.Engine.CodeDB.Manager.Start (CodeClear.NaturalDocs.Engine.Errors.ErrorList errors) [0x0000c] in <0db50aa7ded44765bcd2c7c139c82432>:0
at CodeClear.NaturalDocs.Engine.Instance.Start (CodeClear.NaturalDocs.Engine.Errors.ErrorList errors, CodeClear.NaturalDocs.Engine.Config.ProjectConfig commandLineConfig) [0x000f8] in <0db50aa7ded44765bcd2c7c139c82432>:0
at CodeClear.NaturalDocs.CLI.Application.BuildDocumentation (CodeClear.NaturalDocs.Engine.Errors.ErrorList errorList) [0x0002d] in <47a2c294aaec4849ac32c885f7510dd8>:0
at CodeClear.NaturalDocs.CLI.Application.Main (System.String[] commandLine) [0x00141] in <47a2c294aaec4849ac32c885f7510dd8>:0
Command Line:
/Users/eminakgun/Downloads/NaturalDocs3/NaturalDocs.exe -i /Users/eminakgun/dev/mistletoe/test/test_contrib/nd -p /Users/eminakgun/dev/mistletoe/test/test_contrib/nd/cfg -o html /Users/eminakgun/dev/mistletoe/test/test_contrib/nd/out
Versions:
Natural Docs 2.3 (Development Release 07-06-2023)
Unix 22.3.0.0
Mono 6.12.0.182
Couldn't get SQLite version
I'm not quite sure what it is then. That's the most recent version of Mono, and that version of libSQLite.Mac.x64.so is signed so it shouldn't cause any security errors. It runs fine on my M1 Mac Mini.
So first the stupid obvious question: there is a file libSQLite.Mac.x64.so in the same folder as NaturalDocs.exe right?
Also, its file permissions allow it to be read by whatever account you're running Natural Docs with? It doesn't seem to need execute permissions because my M1 Mac shows it as "-rw-r--r--" in ls -l and it runs.
Is there any anti-virus or security software that would prevent it from loading that file? For whatever reason it either isn't finding it or macOS isn't allowing it to be used.
I know M1 and M2 Macs are ARM-based instead of x86/x64, but Mono doesn't emit ARM code yet. It just emits x64 and Rosetta converts it to ARM. I planned to build an ARM version of SQLite but Mono wouldn't use it so it's not necessary yet.
It's been a couple of months without a response so I'm closing this. Please reopen if you still want to work on this.
Also, Natural Docs 2.3 was released and includes the signed macOS SQLite binaries so you don't need to use the temp versions anymore.
Just setup the natural docs and tried run with the default config in a project folder that contains simple ND format in a .txt file,
Line 33 and Line 53,
I'm not sure if its related to Mac. Any ideas? But errors pointing to the folder downloaded from the official installation guided me to open an issue.