You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You need to have mono-libgdiplus installed - this is easy if you have Homebrew installed, just brew install mono-libgdiplus, but most people won't have Homebrew.
Because the executable isn't signed and notarised, Gatekeeper won't allow the executable to run; if you bypass this by holding down Alt when launching Topo, it still hits Gatekeeper when the SQLite module gets loaded and the only way around that is to dig through System Preferences. You can bypass Gatekeeper by downloading the zip with wget from Homebrew as above, or wipe the quarantine flag with xattr -d com.apple.quarantine Topo, but again this adds a lot of difficulty for inexpert users.
To fix the first, it might be possible to bundle mono-libgdiplus, using something like macdylibbundler, or to migrate to something which doesn't depend on GDI+.
To fix the second is easier (sign and notarise the package) but costs money - a certificate requires Apple Developer Program membership which costs A$149/year. Savvy users can wipe the quarantine flag or download the zip using wget, but getting the average user to do so is challenging.
I don't know whether macOS support is something you want to definitely consider - I have stopped doing Mac distribution for business-focused projects, but a lot of volunteers use Macs.
Also, ideally the build process needs to generate an app bundle. The current profile generates a single executable, but all the resources in wwwroot and Reports aren't included. Something like https://github.com/egramtel/dotnet-bundle might help.
I haven't played around with many of the things listed above, and building .NET 6 applications on macOS currently requires a pre-release version of Visual Studio.
The text was updated successfully, but these errors were encountered:
Hi David,
Thank you for putting in that effort to get Topo going on a Mac.
I agree that it is not for the faint hearted and it is not really something that I want to spend much time on.
This really needs to be in a hosted web site so there is no installation and people just use the site, but that has its issues as well.
Still it's nice to know that it will work.
Simon.
Rather than a trail of comments across Facebook, I thought I'd keep track of the macOS status here.
The good news is that, as of 1.7.35, Topo starts and runs on macOS, and all the reports seem to work.
The bad news is that there are a lot of steps to jump through.
Here is a basic set of commands that have to be run at terminal level, assuming Homebrew is already installed.
The main issues are:
brew install mono-libgdiplus
, but most people won't have Homebrew.Topo
, it still hits Gatekeeper when the SQLite module gets loaded and the only way around that is to dig through System Preferences. You can bypass Gatekeeper by downloading the zip withwget
from Homebrew as above, or wipe the quarantine flag withxattr -d com.apple.quarantine Topo
, but again this adds a lot of difficulty for inexpert users.To fix the first, it might be possible to bundle
mono-libgdiplus
, using something like macdylibbundler, or to migrate to something which doesn't depend on GDI+.To fix the second is easier (sign and notarise the package) but costs money - a certificate requires Apple Developer Program membership which costs A$149/year. Savvy users can wipe the quarantine flag or download the zip using
wget
, but getting the average user to do so is challenging.I don't know whether macOS support is something you want to definitely consider - I have stopped doing Mac distribution for business-focused projects, but a lot of volunteers use Macs.
Also, ideally the build process needs to generate an app bundle. The current profile generates a single executable, but all the resources in
wwwroot
andReports
aren't included. Something like https://github.com/egramtel/dotnet-bundle might help.I haven't played around with many of the things listed above, and building .NET 6 applications on macOS currently requires a pre-release version of Visual Studio.
The text was updated successfully, but these errors were encountered: