rscustom / rocksmith-custom-song-toolkit

Custom song toolkit for Rocksmith and Rocksmith 2014
http://www.rscustom.net/
343 stars 80 forks source link

(Mac) Mono 5.14.0 + RSToolKit (latest and latest recommended) --> "Need 2.8 or higher" #327

Closed kfeuerherm closed 4 years ago

kfeuerherm commented 5 years ago

Using macOS High Sierra 10.13.6 (17G2307).

As per instructions on Customs Forge installed latest Mono.

Could not run from terminal so added "/Library/Frameworks/Mono.framework/Versions/Current/Commands" to /etc/paths, now seems to work.

Tried both 2.9.0.0 (rev b1c03443) and 2.9.1.0 (75a42866) [among other things] but either way only get an error message saying I need Mono 2.8 or higher.

No idea what's wrong here? No response on Customs Forge so far.

screen shot 2018-10-08 at 11 12 26 screen shot 2018-10-08 at 11 11 49
cozy1 commented 5 years ago

Did you install the RSInjector? This may help. Please let us know if you get it working.

JustinAiken commented 5 years ago

I thought RSInjector hasn't worked for quite some time?

kfeuerherm commented 5 years ago

I wondered about that too... I understood we don’t need it any more. Certainly I’ve not used it in a long time.

Sent from my iPhone

On Oct 8, 2018, at 9:21 PM, Justin Aiken notifications@github.com wrote:

I thought RSInjector hasn't worked for quite some time?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

L0FKA commented 5 years ago

Whelp answer is simple in launch script for mono you should tweak any behavior you don't like, also would be cool to add mono dependency with auto install from their repo, but that's another topic :P

right now at line 31 we see wrong comparison so it checks if major and minor version of mono is higher than specified threshold, still it has wrong conditions, due some circumstances...

It should trigger when mono version threshold below specified v2.8.xxx right now it uses conditions below to say that installed mono version isn't lower than v2.8.xxx (we could easily skip this step tho by saying you should dl "latest mono version"): 1) no mono version string were met = mono isn't installed 2) OR "installed mono".MajorVersion less than required MajorVersion (which is 2) 3) OR "installed mono".MajorVersion equals required MajorVersion AND "installed mono".MinorVersion less than required MinorVersion (that is 8 and possibly our trigger to say we've got wrong mono version)

If any condition from above is true than it will say that "nonsense about mono version"...

And @kfeuerherm you seems like forked our repo in april this year, doesn't seems like you've got spare time for this for long period of time, anyway let me know if that worked for you or not?

kfeuerherm commented 5 years ago

Ok so...

1) the folks on Custom Forge say that Mono soon won't work at all, whatever that means (and they sound like it doesn't work well now)

2) Somebody produced some version of the toolikit for Mac which seems to run, though I've not tried it yet

3) So I'd got rid of Mono but I'll do some tinkering once I have it reinstalled.

Yes, I forked because I had a sabbatical year (I teach university) and planned to play with all this but my computer died and was only replaced after the sabbatical was over, so now I'm crazy busy! Typical, eh?

cozy1 commented 5 years ago

Who says that Mono soon won't work at all. Not me. Was it you @L0FKA ? It works, you just got to know how to use it. Right @JustinAiken ? Ha

JustinAiken commented 5 years ago

Yes, it works w/ mono for me on Sierra

kfeuerherm commented 5 years ago

I didn’t say either of you.. it was on Customs Forge. I don’t know what it is used for here anyway.

I’ve got it reinstalled now, playing with the package script now. Not well versed in bash though so have to think on it.

I had all this working on Sierra on the old system, this is High Sierra. Can’t wait to see what Mojave will do...

Sent from my iPhone

On Oct 9, 2018, at 2:27 PM, Justin Aiken notifications@github.com wrote:

Yes, it works w/ mono for me on Sierra

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

kfeuerherm commented 5 years ago

I looked at the script pointed to by @L0FKA and didn't see any problem with the test, but to be sure, I copied lines 1--41 and added a few lines (see attached, not sure how we deal with code here?) monoscript.txt

Output as follows (as expected, no snotty message):

$MONO_VERSION: 5.16.0.179 $MONO_VERSION_MAJOR: 5 $MONO_VERSION_MINOR: 16

So seems to me the test works. And if I replace line 28 with MONO_VERSION="2.7.99" then I get the box (again, as expected). So

1) why does it not work as part of the package? 2) note that the download url is wrong. Should probably be this?

L0FKA commented 5 years ago

Oh I'm talking here and there, and my statement over CustomsForge that mono is a relic... it is a relic for now until we've got fully featured NetCcore framework working under mac (since it's all microsoft domain)

but for a while I'm able to figure out what's wrong to the launcher\toolkit itself so we could figure it out faster, but for Justin all works since he's mainly CLI user and able to fix minor issues himself. What happens when you comment out that if statement from the launcher code inside your downloaded .app (inside of zip package, not your own copy of toolkit code)

Probably there's issue with closing ' [' brackets... like key -a tests for a file to exist on disc so it's basically wrong there, it won't join those statements it's probably breaking it apart, I'm not a bash wizard but I do know it to some extent will commit my changes soon and test with another tester we've got here

kfeuerherm commented 5 years ago

Ok, so downloaded the latest build and found the bash file, played with it.

This line MONO_VERSION="$(mono --version | grep 'Mono JIT compiler version ' | cut -f5 -d\ )" is not working, MONO_VERSION is an empty string, that's why the test is failing. Even though this script works in my terminal, it doesn't work within the package.

I already know that the Mono installer does not set the path to work in terminal, so maybe this script is not picking up my fix.

I'll see what happens if I just delete the test (but I don't think that's really a fix, just a kludge at best).

kfeuerherm commented 5 years ago

Did some more tests. With dialog boxes placed here and there, I found out this:

PWD = / APP_PATH = /Applications/RocksmithCustomSongToolkitTest.app/ APP_NAME = RocksmithCustomSongToolkit ASSEMBLY = RocksmithCustomSongToolkit.exe MWF_MODE = 1

I assume that's normal. It just isn't picking up the Mono version as I said in the previous comment.

Also, if I patch the Mono version manually instead of using the grep, then I don't get the error, but nothing loads at all, nothing happens. So presumably Mono isn't being found even though it is installed and I can find it in Terminal.

JustinAiken commented 5 years ago

I had installed mono via brew cask install mono-mdk and it just worked - didn't manually mess with my path or anything

kfeuerherm commented 5 years ago

Ok... well, the instructions point to the Mono site to do a direct installation, and clearly that requires manual intervention. So it would be good to know what your paths are set to, then. Can you tell me what you have in /etc/paths? and maybe a listing of the directories specified there? (actually, only if they have a reference to mono I guess).

I'm thinking that Homebrew will have put a pointer somewhere, it's just a question of finding out where. The manual patch I made isn't being picked up by the toolkit installer.

(I'm sort of new to this level of detail but I'm learning :) I'd prefer to know exactly what is different than relying on Homebrew to fix it in the background....)

JustinAiken commented 5 years ago

Looks like it mostly just installs the pkg:

https://github.com/Homebrew/homebrew-cask/blob/d5b10908d1a6acedfdd754335237f8c7ce9e78f9/Casks/mono-mdk.rb#L10

But it's the mono-mdk package, not just the base mono package

kfeuerherm commented 5 years ago

Thanks, I'll look into that. Clearly the instructions need a tidy-up!!

Firekorn commented 5 years ago

As far as i'm concern those instructions are out of date and i don't know any mac user willing to take care of that post as the ones that created it doesn't seems to be around anymore to adjust it in any way.

I've made sure that this post is correct regarding the mac patch for CDLC to work but that's as far as i deal with mac myself but if anyone have something to suggest, i'll be willing to change the post accordingly to more appropriate instructions.

kfeuerherm commented 5 years ago

You're quite right.

I've just found the MDK location so if I can get this thing working I will be happy to rewrite the instructions....

Worst case, if we can't get this working the 'traditional way', it might be best to delete those instructions and just put a pointer to your patched version....

Anyway, I'm working on it (with a little help from my friends :) )

kfeuerherm commented 5 years ago

Arg! That's the same as the one I downloaded in the first place. So @JustinAiken, I'm back to square one. Need to figure out where the path is being set.

EDIT: Checking out Mono 5.14.0.177 as per the cask script. Let's see what that gives.

kfeuerherm commented 5 years ago

Ok, so I installed Mono 5.14.0.177 as suggested by the cask script, after removing my patch from /etc/path.

That installer clearly does something that the later ones do not do, since mono is available from the terminal without any manual patching. But that's not the end of it, I still get the error.

So @JustinAiken, can you tell me which build of the rstoolkit you are using?

kfeuerherm commented 5 years ago

And as far as I can see, I'm limited in testing since the builds page which supposedly has the older versions doesn't really go back past 2.9....

cozy1 commented 5 years ago

All builds can be found here.

JustinAiken commented 5 years ago

So @JustinAiken, can you tell me which build of the rstoolkit you are using?

Ooh, haha, I hadn't updated for a few months - it is broken for me too (running the main app... wine'ing the indiviudal CLI tools still works)

Let me poke, I bet I can come up with a fix..

L0FKA commented 5 years ago

@JustinAiken what's different brew install mono vs brew cask install mono-mdk if I'll do auto install thing withing this script?

also let's try to reproduce some more issues you've met here :)

JustinAiken commented 5 years ago

Okay, two things I've found..

L0FKA commented 5 years ago

Oh, toolkit is fine with mono32 and mono64 bit as far as I know, it's ok running both actually, weird thing that it's failing on startup tho...

kfeuerherm commented 5 years ago

Ok, I've determined so far (due to lack of time haven't done more) that the current Mac build doesn't work at all, while 2.8.4 starts to run but then aborts on Mono (a small step forward)....

L0FKA commented 5 years ago

I'm currently trying to play with that on my VM sierra(not high sierra tho) gotta see if there any flaws with latest build myself :)

kfeuerherm commented 5 years ago

I’ll be interested to hear what you find.

I just got the invite for Mojave, but I’m putting that off as I’m in the middle of teaching a digital class and the last thing I need is unexpected errors….

On Oct 10, 2018, at 16:18, L0FKA notifications@github.com wrote:

I'm currently trying to play with that on my VM sierra(not high sierra tho) gotta see if there any flaws with latest build myself :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rscustom/rocksmith-custom-song-toolkit/issues/327#issuecomment-428716044, or mute the thread https://github.com/notifications/unsubscribe-auth/AK_X-7D4e1qa0np04Qo3TAXXj0h6Nc3hks5ujlYkgaJpZM4XNKHP.

L0FKA commented 5 years ago

I've find a better way to deliver mono to the system using brew and I'll change that so you've got mono installed right, probably I'll change that -a test in if part so it won't mess with me and bash next thing would be installing wine using brew cask and fixing path if required, that should permfix any issues in future related un-installed or missing mono in path variable. Also would like to test if mono would hook up to wine or how to set up macOS to raun any .exe using wine :thinking:

kfeuerherm commented 5 years ago

Any updates?

In case it’s relevant… I wonder about forcing specific mono versions. When I installed Microsoft Visual Studio recently so I could learn to tinker with C++ it went ahead and upgraded mono….

On Oct 14, 2018, at 04:54, L0FKA notifications@github.com wrote:

I've find a better way to deliver mono to the system using brew and I'll change that so you've got mono installed right, probably I'll change that -a test in if part so it won't mess with me and bash next thing would be installing wine using brew cask and fixing path if required, that should permfix any issues in future related un-installed or missing mono in path variable. Also would like to test if mono would hook up to wine or how to set up macOS to raun any .exe using wine 🤔

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rscustom/rocksmith-custom-song-toolkit/issues/327#issuecomment-429607932, or mute the thread https://github.com/notifications/unsubscribe-auth/AK_X-0G2_9DMUkUE7tudEwSbhX0VLKEXks5ukvu4gaJpZM4XNKHP.

poblahblahblah commented 5 years ago

I couldn't find where in the repo this script lives, perhaps it's autogenerated by the build process, or else I would submit a PR for this, but here is how I got this to work on my OSX Mojave install. Download Rocksmith Custom Song Toolkit, install it to /Applications or ~/Applications. There are two problems with the script. The first is that we need to use mono32, and the second is that the script doesn't have PATH set to pick up on anything outside of the usual suspect locations (/bin, /usr/bin, etc). These are pretty straight forward fixes to do after install.

Edit /Applications/RocksmithCustomSongToolkit.app/Contents/MacOS/RocksmithCustomSongToolkit

Edit line 53

Before:

ln -s `which mono` "./bin/$APP_NAME"

After:

ln -s `which mono32` "./bin/$APP_NAME"

On lines 10 and 11:

Before:

MWF_MODE=1

After:

MWF_MODE=1
PATH=/Library/Frameworks/Mono.framework/Versions/Current/Commands:$PATH

edit:

I should add that this works for installing mono via homebrew's mono-mdk cask or the official intsaller. The mono homebrew formula doesn't appear to ship with 32bit support, so you need to use the mono-mdk cask.

L0FKA commented 5 years ago

I have script ready to be tested(sort of) and I need a clean macOS to play with brew-cask is the way to do it for new users w\o mono...

kfeuerherm commented 5 years ago

Great to hear! But as I mentioned earlier, sometimes we’re forced into a mono installation. What then?

Sent from my iPhone

On Nov 30, 2018, at 3:56 PM, L0FKA notifications@github.com wrote:

I have script ready to be tested(sort of) and I need a clean macOS to play with brew-cask is the way to do it for new users w\o mono...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

L0FKA commented 5 years ago

If you manually install mono it may fail to find it also cold be really issue with script not looking for mono32 that would return false information about mono presence... installing mono through brew eliminate need to manually download it from site. also I should just push it and se what's happens side note I can't properly test popup window written using osacript so I'll autoinstall mono without asking user....

cozy1 commented 4 years ago

closing this. plz use toolkit mac wine port version which has support for up to mac os high sierra: http://ignition.customsforge.com/cfsm_uploads/rstools_mac/RocksmithTools.dmg