Mac is a boy's name of Scottish, Irish origin meaning 'son of'. Mac is the 870 ranked male name by popularity. The Mac Pro came to life quickly and before too long I was in OS X and ready to go. It recognized that I had two new drives in the system and prompted me to run Disk Utility on them. I simply created two full size partitions using Mac OS Extended (Journaled) on each drive. It took all of a couple of minutes before both drives were ready.
NOTE: This guide was updated on 2020-07-30 to recommend using CUDA 10.1 and Xcode 10.1 versions. The Homebrew formula was also updated on 2019-11-06 to AliceVision 2.2.0 to support Meshroom 2019.2.0.
AliceVision and its Meshroom program are an exciting new free and open-source pipeline for photogrammetry processing. Unfortunately, compiling and using either of these programs on Mac OS X is not exactly straightforward. As a result, I’ve compiled a Homebrew tap which includes the necessary formulae, and will use this post to outline how to use them to get up and running. Note that this is intended as a first step for Mac users wishing to experiment with and improve the AliceVision/Meshroom software, and as a result these instructions may become outdated with time.
First off, your Mac will currently need an nVidia GPU with a CUDA compute capability of 2.0 or greater. This is probably a pretty small portion of all Macs sold, but you can check your GPU by looking in “About This Mac” from the Apple icon in the top left corner of the screen, under “Graphics”. If you have an nVidia GPU listed there, you can check its compute capability on the nVidia CUDA GPUs page.
Second, you’re going to need to install CUDA Toolkit 10.1, which is only officially compatible with OS X 10.13 (High Sierra), so you may also need to upgrade to the latest version of High Sierra (but not Mojave!) if you haven’t already. If you’ve already upgraded to Mojave or later, your only option is to install and boot from High Sierra on a separate disk. Alongside this I would also suggest installing the latest nVida CUDA GPU webdriver, which as of this writing is 387.10.10.10.40.135. Note that there is a CUDA Toolkit 10.2 release for Mac OS, but according to the documentation it’s only compatible with OS X 10.13.6 (High Sierra), while it’s also only compatible with Xcode 10.2, which is only compatible with OS X 10.14.3 (Mojave) or later. I’m not sure what the status of this is or if/how CUDA 10.2 works on High Sierra with Xcode 10.2 somehow force-installed on High Sierra.
Third, CUDA 10.1 is only compatible with the version of clang
distributed with Xcode 10.1, and will refuse to compile against anything else. You may have an older or newer version of Xcode installed. As of this writing, if you fully update Xcode within a fully updated OS X install, you’ll have Xcode 10.1. To get back to Xcode 10.1, what you can do is go to Apple’s Developer Downloads page (for which you’ll need a free Apple developer account), then search for “Xcode 10.1”, then install the Command Line Tools for Xcode 10.1 package for your OS version. After installing, run sudo xcode-select --switch /Library/Developer/CommandLineTools
and then verify that clang --version
shows Apple LLVM version 10.0.0
. You can also see this page for instructions on how to switch between multiple versions of Xcode.
Once you’ve done all this, you can verify a working CUDA install by going to /Developer/NVIDIA/CUDA-10.1/samples/1_Utilities/deviceQuery
and running sudo make && ./deviceQuery
, which should output your GPU information. If it doesn’t build correctly (i.e. you see nvcc fatal : The version ('??.?') of the host compiler ('Apple clang') is not supported
), or deviceQuery
errors or doesn’t list your GPU, you may need to look over the steps above and check that everything is up to date (you can also check the CUDA panel in System Preferences).
There will be no more CUDA support for Mac OS after 10.13 High Sierra. There are no new CUDA Toolkit releases which support building CUDA code on Mac OS. Please see this issue on the AliceVision issue tracker if you would like to track the progress of AliceVision enabling builds which do not depend on CUDA.
The following instructions also assume a working Homebrew install.
If you’ve followed all the above setup instructions and requirements, installing the AliceVision libraries/framework should be as easy as:
I haven’t yet created a Homebrew formula for the Meshroom package itself, as it’s all Python and doesn’t seem particularly difficult to install/use once AliceVision is installed and working correctly. Just follow the install instructions there (for my specific Python configuration/installation I used pip3
instead of pip
and python3
instead of python
):
One gotcha I ran into is that the CUDA-linked AliceVision binaries invoked by Meshroom don’t automatically find the CUDA libraries on the DYLD_LIBRARY_PATH
, and setting the DYLD_LIBRARY_PATH
from the shell launching Meshroom doesn’t seem to get the variable passed into the shell environment Meshroom uses to spawn commands. Without this, you’ll get an error like:
In order to get around this, you can symlink the CUDA libraries into /usr/local/lib
(most of the other workarounds I found for permanently modifying the DYLD_LIBRARY_PATH
seemed more confusing or fragile than this simpler approach):1
You can undo/uninstall this with:
You may also want to download the voctree dataset:
Then launch with:
Import some photos, click “Start”, wait a while, and hopefully you should end up with a reconstructed and textured mesh (here’s an example of my own which I uploaded to SketchFab). By default, the output will be in MeshroomCache/Texturing/
(relative to where you saved the project file).
Previously, I suggested modifying meshroom/core/desc.py
so that the return value at the end of the buildCommandLine
method instead reads:
Sign the petition to force Adobe to issue maintenance patches for Adobe Creative Suite CS5 and El Capitan by clicking here! Ever since users have been installing Mac OS X El Capitan, there has been a host of various issues between it and Adobe’s older software suite, including Adobe Creative Suite CS4 and CS5. Since we are heavy users of Adobe CS5 products, and especially Adobe Illustrator CS5, we have also been affected by these various bugs. One of the newer bugs that has surfaced is a complete crash of Adobe Illustrator when closing or quitting the program on the Macintosh platform. This also causes a larger issue of Illustrator not saving its preferences file, which means you have to reset any preferences upon relaunch.
Fortunately, it seems that there is a pretty simple fix for this annoying bug in Illustrator CS5 for the Mac by simply renaming 2 folders. We have tried this fix, and can verify that it does solve both issues for us–no more quitting of Illustrator when it’s quit. It also now saves the preferences once again, where it did not before. Here’s the steps to solve this aggravating issue with Adobe Illustrator CS5 on El Capitan.
At this point, Adobe Illustrator CS5 can be launched as usual. Feel free to open a few documents and make some changes to the preferences area. Try to quit the program as usual and notice if it throws the same crash as it did before. After we did these steps exactly, the crashing stopped and the preferences are now saved perfectly once again.