Zarbuz / FileToVox

Tool for convert files into Magicavoxel file
MIT License
445 stars 46 forks source link

Trying to run the latest FileToVox on Mac M1 ARM #35

Closed enzyme69 closed 2 years ago

enzyme69 commented 3 years ago

So I download the latest built, but cannot find anything that can be run on Mac. The dotnet .dll does not work anymore. Any clue or idea if it's possible to run on Mac M1?

enzyme69 commented 3 years ago

I am confused -- latest 1.12 seems to be needing dotnet 5 but cannot find the .dll for Mac

Older version 1.11 want dotnet 3 and .dll exist but I have the old issue of getting just 1 color on the voxel , because of the "Unable to load DLL 'libgdiplus': The specified module could not be found."

enzyme69 commented 3 years ago

It's related to my old problem: https://github.com/Zarbuz/FileToVox/issues/26

Zarbuz commented 3 years ago

Hi, can you test this unpublished version and tell me if it work on your Mac ? I don't have a mac so I can't test myself. https://we.tl/t-d7ZK19OYX3

aaronbrethorst commented 3 years ago

@Zarbuz I have an M1 Mac and would like to test your unpublished version, but the WeTransfer link has expired. Can you re-up it?

Zarbuz commented 3 years ago

@aaronbrethorst I uploaded a version for OSX. You can found the download link in the release tab. Not tested however

aaronbrethorst commented 3 years ago

@Zarbuz works like a champ! I needed to manually attest that the executable and all of the dylibs that get loaded were safe since it doesn't look like you have signed them as a registered Apple developer, but otherwise it seems to work great.

https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac

edit: You can also just remove the quarantine attribute from the executable files:

$ xattr -d com.apple.quarantine *.dylib
$ xattr -d com.apple.quarantine FileToVox

I did notice an error message in my output, but it didn't seem to have any effect on the processing of my ply file into vox.

Here's the command and output:

./FileToVox --i ../land_use.ply --o land_use_50 --scale 50
[INFO] FileToVox v1.12.6.0
[INFO] Author: @Zarbuz. Contact : https://twitter.com/Zarbuz
[INFO] Specified input path: ../land_use.ply
[INFO] Specified output path: land_use_50
[INFO] Specified increase size: 50
[INFO] Specified output path: /Users/aaron/Downloads/FileToVox-v1/land_use_50
[INFO] Start reading PLY data...
[INFO] Done.       
[INFO] Started to voxelize data...
[INFO] Done.       
[INFO] Started quantization of all colors ...
Fontconfig error: Cannot load default config file
[INFO] Done.       
[INFO] Vox Width: 220
[INFO] Vox Length: 297
[INFO] Vox Height: 175
[INFO] Total blocks: 142086
[INFO] Started to write chunks ...
[INFO] Done.
[INFO] Check total blocks after conversion: 142086
[INFO] Done.
image
captainscorch commented 2 years ago

So I've been running into the same issue and it seems like the fix / solution doesn't work on an M1 mac with ARM the .NET 5.0 SDK is not supported, see here: https://docs.microsoft.com/en-us/dotnet/core/install/macos#whats-supported

I either get a command not found or .NET error.

This is the error I receive: Failed to load /FileToVox-osx-x64/libhostpolicy.dylib, error: dlopen /FileToVox-osx-x64/libhostpolicy.dylib, 0x0001): tried: /FileToVox-osx-x64/libhostpolicy.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/libhostpolicy.dylib' (no such file), '/usr/lib/libhostpolicy.dylib' (no such file) An error occurred while loading required library libhostpolicy.dylib from /FileToVox-osx-x64/]

Also: the GUI for Mac from the latest release is unfortunately not usable, as it doesn't let me open the finder (explorer) when clicking "Browse", which means I can't select output and input path at all.

Any help on either issue would be much appreciated @Zarbuz @aaronbrethorst as I'd love to get this to work! Thank you.

I'd be happy to help on this to get it working on newer Macs with the new architecture!

aaronbrethorst commented 2 years ago

No clue offhand, sorry @captainscorch

captainscorch commented 2 years ago

Thanks for the quick reply. @aaronbrethorst. I just got it to work in Terminal by doing these additional steps.

  1. Maybe obvious but I had to run chmod +x FileToVox.
  2. I also had to remove the .dll files from the quarantine attribute you specified above: xattr -d com.apple.quarantine *.dll

This solved it and now it's running fine in Terminal.

I'd still love to help and get the GUI working, feel free to contact me on this @Zarbuz. Also happy to write an updated documentation for macOS users so they don't run into the same issues and have an easier time with more documentation on hand.

aaronbrethorst commented 2 years ago

Cool, thanks for sharing, @captainscorch. I hope you get a chance to get the GUI working! I wish I had more time to help out right now :)