Oni Central Forum

A forum for the Oni community

You are not logged in.

#1 7/12/16 15:31

Sharoduinn
Member

.NET installation issue on El Capitan

I'm getting the following error when running AE Installer:
.NET, which is required to use this tool, is not installed on this machine

This is with the latest version of Mono, 4.6.2.7.
I see that other people have had problems with Mono's installation starting a year ago, but I gathered that these issues have already been fixed. Is this Mono being janky again or is it my machine acting up? Any chance of an older Mono release working better?

I'd really appreciate any help on this, AE is calling for me big_smile


"Sorry about the mess"

Offline

#2 7/12/16 16:04

Iritscen
Moderator

Re: .NET installation issue on El Capitan

Hmm, I'm not at my Mac at the moment, so my troubleshooting abilities are limited, but the problems with Mono were supposed to be resolved by an update I made to the AE a while ago and by Mono's devs.  Is Mono installed for you at /usr/local/bin/?


byproducts are fine, but where's the beef?

Online

#3 7/12/16 16:34

Sharoduinn
Member

Re: .NET installation issue on El Capitan

Huh, it appears that its not installed in /usr/local/bin/ or anywhere inside /usr/. Actually, I don't even have a /usr/local/bin subfolder.

I tried one of the methods described here http://stackoverflow.com/questions/3254 … n-terminal and added the directory myself, then fixed the permissions but no luck, the directory is still empty.

Well, creating a symbolic link in /usr/local/bin/ to the mono command inside the framework did the trick. I wonder why the installer didn't want to play ball though :d

Oh well, the installer works and I love how many new mods there are since last time smile


"Sorry about the mess"

Offline

#4 7/12/16 16:48

Iritscen
Moderator

Re: .NET installation issue on El Capitan

Interesting.  Not creating /usr/local/bin/ was one of the bugs I reported to the Mono people which were supposed to have been fixed.  I sort of remember seeing the bash code for it show up in their installer's script after that, so I'm not sure what the problem is unless someone caused a regression in the script later on.

Edit: Actually, looking back at my bug report, it's not clear that they ever fixed this issue: https://bugzilla.xamarin.com/show_bug.cgi?id=33912 (see last comments if you don't want to read the whole thing).  So I don't really know what's going on with that project.


byproducts are fine, but where's the beef?

Online

#5 2/1/17 7:46

Manumu27
Member

Re: .NET installation issue on El Capitan

How did you do this? I'm having the same issue on Sierra sad

Thanks in advance!

Offline

#6 2/1/17 11:38

Iritscen
Moderator

Re: .NET installation issue on El Capitan

First we should make sure that you have the same exact issue.  What do you get when you run "ls /usr/local" in Terminal?  If you get a directory listing, do you get anything for "ls /usr/local/bin"?  If not, we'll have to create one or both directories.


byproducts are fine, but where's the beef?

Online

#7 2/1/17 11:52

Manumu27
Member

Re: .NET installation issue on El Capitan

Yes, I already have the bin folder, and this is the result of "ls /usr/local/bin", there is only one file called "mountesp" in there (I think is a reFIT file). Apparently, Mono is installed in "/Library/Frameworks/Mono.framework".

Offline

#8 2/1/17 12:00

Manumu27
Member

Re: .NET installation issue on El Capitan

I managed running AE Installer by installed Mono through Homebrew.

Offline

#9 2/1/17 12:21

Iritscen
Moderator

Re: .NET installation issue on El Capitan

Okay, glad to hear it.  You might have had a slightly different problem than Sharoduinn, but a port installer like Homebrew will automatically do whatever housekeeping is necessary to make its installations work, whereas the base Mono installer is just... not doing a lot of good for Mac users lately.  Mono is indeed installed in /Library/Frameworks/, but it sounds like the Mono installer failed to create the symlinks to that framework in /usr/local/bin/, which is what makes the "mono" command available on the command line; the AEI can't find Mono unless that command works.  I have opened a new bug with the Mono people to see what is going on.


byproducts are fine, but where's the beef?

Online

#10 11/1/17 19:32

Iritscen
Moderator

Re: .NET installation issue on El Capitan

So, just to sum up the thread so far, as long as the Mono bug persists, you have at least three ways around it in order to allow the AE Installer to run:

1. The DIY option that does not require reinstalling Mono is to create the path /usr/local/bin/ if it doesn't exist and then make a symlink to the main Mono binary in that directory:

sudo mkdir -p /usr/local/bin
ln -s /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /usr/local/bin/mono

Although this apparently worked for Sharoduinn, it's probably the method I'd recommend the least.

2. The approach I personally used:

- create /usr/local/bin/ with the "mkdir" command above
- simply run the Mono installer again, and it will be able to place the symlinks itself this time

3. Ignore the regular Mono installer and use Homebrew (or MacPorts or Fink) to install Mono instead.  This is more work since it's two steps, installing a package manager and then the Mono package, but this seems to be the most reliable way to get a proper Mono installation.

The 2nd and 3rd solutions are more correct because they allow Mono to make aliases for *all* its commands in /usr/local/bin/, not just the main "mono" command.  This doesn't seem to matter to OniSplit and the AE Installer, however it might matter for other .NET applications that you want to run some day.

To test whether Mono should be accessible to the AE Installer, run "mono --version" and see if Mono tells you its version.  Let me know if the above instructions do not work for you.  It's my hope that soon we will either see this bug fixed in Mono's installer or else we will move to a new solution that doesn't rely on Mono.


byproducts are fine, but where's the beef?

Online

#11 23/3/17 1:06

AaronPDX
Member

Re: .NET installation issue on El Capitan

@Iritscen, I tried your option 2, and saw the Mono version displayed in Terminal, but get the same error as before (about Mono not being installed) when running Run AE Installer. Any hints?

(Mac 10.9.5 Mavericks on Mac Mini 2.3ghz Intel Core i7)

Thank you in advance.

Offline

#12 23/3/17 8:31

Iritscen
Moderator

Re: .NET installation issue on El Capitan

Can you run these two commands from any location in Terminal, and tell me what the output is?:

which mono
ls /usr/local/bin/mono*

byproducts are fine, but where's the beef?

Online

#13 23/3/17 12:04

AaronPDX
Member

Re: .NET installation issue on El Capitan

OK, first line returns:
/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono

2nd:
ls: /usr/local/bin/mono*: No such file or directory

Offline

#14 23/3/17 16:07

Iritscen
Moderator

Re: .NET installation issue on El Capitan

It looks like your "mkdir" command didn't work -- that should be "sudo mkdir -p /usr/local/bin", followed by running the Mono installer again.  Your other good option is to install one of the package managers I mentioned, such as Homebrew, and use that to install Mono.  That would just require the command (possibly with sudo?) "brew install mono", once Homebrew is installed; in other words, you don't use the Mono installer at all.  Homebrew et al. are smarter than the Mono installer and they will make sure that necessary directories like /usr/local/bin are set up.


byproducts are fine, but where's the beef?

Online

#15 24/3/17 12:19

AaronPDX
Member

Re: .NET installation issue on El Capitan

I did run "sudo mkdir -p /usr/local/bin" before (followed by running Mono installer again), but it resulted in what i reported above... Guess I'll have to install Homebrew.

I'm not very command line or code savvy so these open source affairs, with their multiple installs from different sources, give me pause -- since I never really know what I'm doing to my system and how it might affect speed or other apps down the line.

Offline

#16 24/3/17 14:43

Iritscen
Moderator

Re: .NET installation issue on El Capitan

Yeah, it's disappointing that we still are installing some software from a command line in 2017.  It shouldn't really affect your overall system performance though.  The software installed in that Unix directory is only going to be used by other open source software, which in your case will just be Mono.  Otherwise it just sits there.


byproducts are fine, but where's the beef?

Online

#17 27/3/17 0:59

AaronPDX
Member

Re: .NET installation issue on El Capitan

A late thanks, Iritscen. I will get back to trying this at some point soon and let you know how it goes!

Offline

#18 19/4/17 13:39

jackoverfull
Member

Re: .NET installation issue on El Capitan

Just tried installing on Sierra myself (time to go back to Oni after a long absence!), same problem.

A symlink needs to be placed in /usr/bin for it to work:

sudo ln -s /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /usr/bin/mono

Very likely that it will be needed to disable SIP to do this, though (it's already disabled on my system).


"To the future, blinkin' an eye to the past!"

Offline

#19 19/4/17 16:20

Iritscen
Moderator

Re: .NET installation issue on El Capitan

Nowadays, we are supposed to use /usr/local/bin/, which is not under System Integrity Protection like /usr/bin/ is, but yes, making a symlink like this is one way to solve the problem (see my post of Jan. 11).


byproducts are fine, but where's the beef?

Online

#20 19/4/17 16:33

jackoverfull
Member

Re: .NET installation issue on El Capitan

Yep, should be there indeed…But linking to /usr/local/bin didn't work at all.


"To the future, blinkin' an eye to the past!"

Offline

#21 19/4/17 16:51

Iritscen
Moderator

Re: .NET installation issue on El Capitan

I see.  Well, that might explain some things.  Thanks for the input.  Hopefully someone at Mono notices the bug I (re-)filed in January about the failure to install Mono properly so we don't have to deal with this much longer.


byproducts are fine, but where's the beef?

Online

#22 16/5/17 21:32

Iritscen
Moderator

Re: .NET installation issue on El Capitan

So, it turns out that the Mono guys decided to change the way that Mono installs.  This happened after the original bug discussion I had with them in 2015, where they fixed the installer script so that it makes the symlinks properly in /usr/local/bin/.  In June 2016, they decided to not put anything in that directory after all, and now they use /etc/paths.d, which is a folder where third-party programs can add a text file which lists additional directories that the shell should search for commands.  So the Mono installer creates the file /etc/paths.d/mono-commands, which simply contains:

/Library/Frameworks/Mono.framework/Versions/Current/Commands

This directory is where the actual "mono" and its many supporting programs reside. This way, there's no more need for Mono to rely on a bunch of symlinks to lead the shell to each program.  The catch with this new installation method is that the shell will not see paths.d's new mono-commands file until you restart your Mac.  It used to be that installing Mono made it immediately available on the command line, and the devs are talking about trying to fix this, but in the meantime, I found in a test just now that the AEI could not find Mono until I restarted.

tl;dr: You shouldn't need to manually make any symlinks or install Mono through MacPorts, etc.  Just run the official Mono installer from http://www.mono-project.com/download/, and then restart before trying to run the AE Installer.


byproducts are fine, but where's the beef?

Online

Board footer

Powered by FluxBB