Fully automatic target installer for win/mac/linux

Monkey Forums/Monkey Beginners/Fully automatic target installer for win/mac/linux

Sub_Zero(Posted 2014) [#1]
MXDevInstall is a command line tool for installing Monkey-X target Developer tools automaticly.

It's available for Windows, mac and Linux.

It detects the sdk's latest version via internet and downloads it, install to your desired install path and updates the monkey-x configfile, and environment variables (where needed).

It also detects if (and where, where possible) sdk's are allready installed, and updates the config file.

MXDevInstall can also be used to update the sdk's allready installed, to the latest version available on the internet.

MXDevinstall supports the following targets:
* Android
* Android (Ouya)
* Android Experimental
* Desktop Game
* Flash
* c++ Tool
* Windows 8,
* Windows Phone 8
* Xna (XBox 360)
* Playstation Mobile

To use the tool, you must open a console window and run it from there.
* Windows: Open a administrator console and run the .exe (it has to be run as administrator)
* Linux/mac: Open a console and run it from there, you will be prompted for the root password

If you run the tool without arguments or options, it will display a console gui with menus (default)
If you enter arguments to the tool, it will skip the menu and go right to installation.

if you run mxdevinstall with the -h argument, help will be displayed:
MXDevInstall v1.4 by Sub_Zero 2014
----------------------------------
Usage: mxdevinstall [options]

   -h      Print help
   -t      Target (android)
   -m      Monkey-X path
   -i      Install path
   -u      Update OS
   -c      Cleanup after install
   -f      Force
   -q      Quiet mode
   -r      List ReturnCodes

           Targets:   android, ouya, desktop, flash
                      c++, win8, win8-phone, xna,
                      psm, xcode, android19
           Update OS: Linux - Update pkg db before install
                      Win - Do windows update after install


Edit: Update! Updater from version 0.9 -> 1.0! ... Fixed Drive names selection in path menu's
Edit2: Update to version 1.1:
* Fixed psm bugs (hopefully)
* Monkey-X configfile vars are not being overwritten
* Embedded win32 dll's
* Linux: Fixed bug with returncodes not being returned

Edit3: Version 1.2
* Fixed bug where monkey-x doesn't recognize config-file

Edit4: Version 1.3
* Added automatic detection/installation of adobe flash player for windows and linux (also installs latest flash player for konqueror)
* Added installation of oracle java sdk for all debian derivates and ubuntu derivates (Kubuntu, ubuntu, mint, kali, etc.)

Edit5:: Version 1.4
* Added automatic executable permission on rewuired monkey-x executables (to run and build with monkey-x) on linux
* Added the new experimental android19 target

Edit5: Version 1.5
* For linux: added fix for installation of xlibmesa-glu-dev for ubuntu/debian derivates

Edit6: Version 1.5b
* For linux added fix for installation of xlibmesa-glu-dev libqtwebkit4 libstdc++6 libX11-6 libgl1-mesa-glx for ubuntu/debian derivates

Edit7: Version 1.5c:
* Mac update: Hopefully fixes the mac + mavericks issues!
* Fixed an issue where mxdevinstall eternally looped when no java jdk was installed
* hopefully fixed detection of Xcode allready installed on mavericks
* hopefully fixed some mavewricks/mountain lion naming differences on xcode packages

Edit8: Version 1.6
* Fixed broken detect and download of latest oracle java jdk
* Mac: Fixed an issue with detecting installed java jdk

Edit9[ Version 1.7
* Fixed broken XCode download and install
* Added support for Yosemite


Download:
MXDevInstall v1.7 tgz archive (preferred for linux/mac)
MXDevInstall v1.7 zip archive (preferred for windows)


Boulderdash(Posted 2014) [#2]
Cool bananna's


uboel_at_work(Posted 2014) [#3]
That's pretty cool indeed.
I'm gonna try it immediately on my fresh Mac OS install.


Shinkiro1(Posted 2014) [#4]
This will be a huge timesaver, thanks.


Capn Lee(Posted 2014) [#5]
I'm on Windows, how can I change the drive letter that it will find MonkeyX on?
I started the appplication with mxdevinstall -m d:\MonkeyXPro78h\ -i d:\monkeydependencies but it just took me to the menu where I was to pick out the locations, limited to the C: drive


Polan(Posted 2014) [#6]
Nice idea but:
On windows, as Capn Lee said, you can't pick other disk than C. Command line just takes you to menu.
Is it possible to display size of downloaded file? I have limited bandwitch and I would prefer to know how big the file is / how long it might take to download.


Sub_Zero(Posted 2014) [#7]
if you supply monkeypath, devinstallpath and target to mxdevinstall, it starts the installation without menu.

Only C: is a bug... I'll put up the new version later on :)


Sub_Zero(Posted 2014) [#8]
New version 1.0 now up...

*Added drive selection menu in the console gui.

Downloads in post # 1


Sammy(Posted 2014) [#9]
Nice work, well done!


therevills(Posted 2014) [#10]
So when is this going to be added to MonkeyX officially? ;)


Sub_Zero(Posted 2014) [#11]
I'm not sure if it will, but mark is free to use it if he wish :)


marksibly(Posted 2014) [#12]
Just trying this now, and so far it's looking pretty good!

Only one complaint so far - when it modifies config.txt files, it blasts over all BLAH=ETC settings - any chance it could instead insert a new setting before the first, leaving previous settings intact? Not a biggy really I guess...


Why0Why(Posted 2014) [#13]
This tool is awesome! Thanks for taking the time.


Sub_Zero(Posted 2014) [#14]
Just trying this now, and so far it's looking pretty good!

Only one complaint so far - when it modifies config.txt files, it blasts over all BLAH=ETC settings - any chance it could instead insert a new setting before the first, leaving previous settings intact? Not a biggy really I guess...


Ofcourse, I will have a look at it :)

I'm at vacation right now, so I can't compile it for mac, yet... :) But I'll have a windows and linux version ready soon :)


John Galt(Posted 2014) [#15]
This should become an official part of Monkey. One small step for Simeon...


ziggy(Posted 2014) [#16]
Latest Jungle Ide (free and pro) do include also an built-in system to install Android, Flash, Desktop, Windows 8, XNA. It can be used in the free version and it uses a typical installation wizard. Just in case anyone finds it useful too.


marksibly(Posted 2014) [#17]
I can't get PSM to work - it installs PSM, but only to program files/sce, not selected devtools dir. It does however change config.txt paths to devtools dir.

mxdevinstall output is...

MXDevInstall v1.0 by Sub_Zero 2014
----------------------------------
You are using Windows 7 x64
Will be installing Dev tools for psm in D:\\devtools
Found PSM SDK latest version: 1.21.02
Downloading http://psm-resource.np.dl.playstation.net/psm_resource/general/all/PSM_SDK_1.21.02.exe...100% Download finis
hed.
Installing Sony PSM SDK v1.21.02...

SUCCESS: Specified value was saved.
Monkey-X config file updated...
WARNINGS:
* Error getting url: https://psm.playstation.net/devportal/api/authz?sessionId=mxVaU0d4TRAmPa~c6chEwDwo2rk4bAom..LIslWl~
OHwHS52&_=1401317955
* Error getting url: https://psm.playstation.net/devportal/api/developer/profile?_=1401317955
psm Dev Tools successfully installed...



Lindsay(Posted 2014) [#18]
I'm not having much luck with this script -- it reports that I have the latest copy of XCode, but then downloads it anyway, and then says it's installing but nothing else happens.

MXDevInstall v0.9 by Sub_Zero 2014
----------------------------------
You are using Mac OSX 10.9.3 Mavericks 
Will be installing Dev tools for android in /Library/Developer/SDKs/Android
Found latest XCode version 5.1.1
Found latest XCode Command Line Tools version april_2014
Downloading https://developer.apple.com/downloads/download.action?path=/Deve100% Download finished./xcode_5.1.1.dmg...0% 
Installing Xcode v5.1.1 - Please wait&


















I did just notice is say it's v0.9, but earlier in the thread you mentioned there's a 1.0. Could that be why?

Thanks,
L.


erebel55(Posted 2014) [#19]
Thanks Sub_Zero, I will try this out :)


Sub_Zero(Posted 2014) [#20]
I can't get PSM to work - it installs PSM, but only to program files/sce, not selected devtools dir. It does however change config.txt paths to devtools dir.

Did you have a psm sdk installed in program files\sce, or have you had it installed there previously? or did you have an older version of psm sdk installed?
MxDevinstall detects if and where psm sdk is allready installed, and installs to that folder.
I found a bug where the the config file value is set to devtools dir even if the installation is elsewhere, if an older version of psm sdk was installed...

What OS architecture are you on?

I'm not having much luck with this script -- it reports that I have the latest copy of XCode, but then downloads it anyway, and then says it's installing but nothing else happens.

Have you tried running mxdevinstall_mac as root? ie. sudo ./mxdevinstall_mac ?
Your output indicates that the latest version (5.1.1) is found on the internet, but doesn't seems to detect the installed XCode version....
Can you check if /Applications/Xcode.app/Contents/version.plist exists, and if it does, post it's contents here? (I'm sorry I am currently on vacation, so I don't have access to a mac right now.
Does mxdevinstall actually download the Xcode dmg file? seems on the output that it's at 0% ?


Lindsay(Posted 2014) [#21]
Have you tried running mxdevinstall_mac as root? ie. sudo ./mxdevinstall_mac ?


I tried it and got the same result. I tried using both command line switches and the menu interface, same either way.

Does mxdevinstall actually download the Xcode dmg file? seems on the output that it's at 0% ?


Yes, it does -- it just puts the updated percentage in the wrong place on the screen - look about 2/3 of the way along the line starting with "Downloading", you can see where it says "100% Download finished."

Can you check if /Applications/Xcode.app/Contents/version.plist exists, and if it does, post it's contents here?


It does; here's what's in it.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>BuildVersion</key>
	<string>10</string>
	<key>CFBundleShortVersionString</key>
	<string>5.1.1</string>
	<key>CFBundleVersion</key>
	<string>5085</string>
	<key>ProductBuildVersion</key>
	<string>5B1008</string>
	<key>ProjectName</key>
	<string>IDEFrameworks</string>
	<key>SourceVersion</key>
	<string>5085000000000000</string>
</dict>
</plist>



marksibly(Posted 2014) [#22]
> Did you have a psm sdk installed in program files\sce, or have you had it installed there previously?

Probably a bit of both - I think it was there the first time I tried, but I uninstalled it and tried again.

> What OS architecture are you on?

Windows 7 home pro (sorry, 'premium') x64 - did you notice my mxdevinstall output above?

Also note the 'Error getting URL' messages even though it seemed to work.


Polan(Posted 2014) [#23]
EDIT:
Right, my fault. Ignore/delete post.


Sensei(Posted 2014) [#24]
I installed Win 8 on parallels 7 last night, so will give this a try with it this weekend.

I definately think this should also be a part of the default monkey download package with beginners. (once issues are ironed out)


Sub_Zero(Posted 2014) [#25]
New version 1.1 now up:

Edit2: Update to version 1.1:
* Fixed psm bugs (hopefully)
* Monkey-X configfile vars are not being overwritten
* Embedded win32 dll's
* Linux: Fixed bug with returncodes not being returned


Download in post #1

I also attempted to fix the Xcode bug in the mac version.... But I'm on holiday so I don't have mac osx at hand.... I can upload the sourcecode later on if you want to try and compile it :)


Sensei(Posted 2014) [#26]
So, as an update, I copied the latest Monkey 78h to my C: drive on Windows 8.
1. First I ran mxdevinstall by forgetting to run command prompt as admin.
- Chose Desktop target. It installed MinGW with some minor looking missing xml files being mentioned.
- Then discovered Ted no longer had any Targets to build against, even after reboot.
2. This time I ran command prompt as admin and chose Desktop again.
- It said already installed, so Ted still had no targets.
3. I then did it again and chose Windows 8 target. It installed VS 2012 and update.
- Ted still has no targets.
Apologies for my stupidity, but how do I get my targets back?


Sub_Zero(Posted 2014) [#27]
oops, seems there's a bug... i got the same result here...

Ok, now v1.2 is up, I've hopefully fixed the bug where monkey-x doesn't recognize the config file.

Download in post #1

@Sensei: I'm sorry for the inconvenience.... You could try the latest version, to see if that fixes the problem... If not, you could try running mxdevinstall with the -f option. If nothing of the above works, you can try overwriting the config file with the original supplied with monkey-x .... Again sorry for the inconvenience...


As I'm on vacation, I don't have the opportunity to build for mac osx at the moment, so the mac build is still at version 0.9..
If anyone wants to build for it, the source code can be found here (don't mind the mess, I'm not finished tidying up yet) :) MXDevInstall source code


Sensei(Posted 2014) [#28]
Hi Sub_Zero. It turns out the config.winnt file got mangled where the configurations all appeared on one line.
Once I manually put them all on their own lines all the targets worked again.
Well GLFW works, HTML5 works.
Can't get Win 8 to work yet as the documentation states you need to load the solution file into the VS studio IDE but little old me can't seem to find the IDE!

I get this build error:
TRANS monkey compiler V1.68
Parsing...
Semanting...
Translating...
Building...
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.17929]
Copyright (C) Microsoft Corporation. All rights reserved.
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 31/05/2014 17:18:33.
Project "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
  Building solution configuration "Debug|Win32".
Project "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.sln" (1) is building "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.csproj" (2) on node 1 (default targets).
C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.csproj(159,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Done Building Project "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.csproj" (default targets) -- FAILED.
Project "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.sln" (1) is building "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGameNative.vcxproj" (3) on node 1 (default targets).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(1810,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.Cpp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. [C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGameNative.vcxproj]
Done Building Project "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGameNative.vcxproj" (default targets) -- FAILED.
Done Building Project "C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.sln" (default targets) -- FAILED.
Build FAILED.
"C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.sln" (default target) (1) ->
"C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.csproj" (default target) (2) ->
  C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.csproj(159,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
"C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGame.sln" (default target) (1) ->
"C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGameNative.vcxproj" (default target) (3) ->
  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(1810,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.Cpp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. [C:\MonkeyXPro78h\bananas\difference\clock\clock.buildv78h\winrt_win8\MonkeyGameNative.vcxproj]
    0 Warning(s)
    2 Error(s)
Time Elapsed 00:00:01.16
TRANS FAILED: Error executing 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /p:Configuration=Debug /p:Platform=Win32 MonkeyGame.sln', return code=1


I'll try your updated version once I've installed Chrome and the Win8.1 update and Classicshell. Win 8 stock is bloody annoying :)


Lindsay(Posted 2014) [#29]
@sensei: I get the exact same error about the file it can't find. I went looking manually and I can't find it either, the directory structure it references doesn't exist.

I've got VCS2010, VC2010 and VS2013 installed. I was going to try VS2012 next if I can find it!


Sub_Zero(Posted 2014) [#30]
@Lindsay: MXDevinstall installs vs2012 including Blend, wich you seem to be missing..


Sub_Zero(Posted 2014) [#31]
Version 1.3 is now up

Version 1.3
* Added automatic detection/installation of adobe flash player for windows and linux (also installs latest flash player for konqueror)
* Added installation of oracle java sdk for all debian derivates and ubuntu derivates (Kubuntu, ubuntu, mint, kali, etc.)


Download in post #1


Sensei(Posted 2014) [#32]
Great stuff Sub_Zero. This tool is super useful. Slightly off-topic. I think I borked my Win 8 install on Parallels but my 2006 Macbook was struggling with it anyway, so I'll install it in Virtual box on my PC instead and start over with testing your tool :)
Any chance you could make it install the VS IDE since you can't auto build and run Win8 Targets? If not, I presume if I download the full IDE seperately it won't interfere with what you've installed?


Sub_Zero(Posted 2014) [#33]
MXDevinstall does install the full vs ide ;) the ultimate version though, as exspress version does not come with blend anymore


Sensei(Posted 2014) [#34]
That is weird because like I said before, I was unable to find VS IDE at all. It seem to just have commandline stuff. Anyway when I redo my virtual machine I will check again and let you know.


Sub_Zero(Posted 2014) [#35]
ok when you install win8 target, VS2012 and VS2012 update 4 gets installed, if not, please post the output here :)

Edit: I just tried to install it myself (again) (took forever on my minipc) .... there are no desktop links being created, but you'll find it in the start menu or list all apps on win 8


Sensei(Posted 2014) [#36]
So it all installed fine, no bugs there.
However, I loaded the clock bananas. Tried it in HTML5, no problem. Changed target to Windows 8 and got various warnings/errors, but when built within VS it ran fine.

Edit: Tried the desktop target now and I'm getting this problem, but not sure if this is due to being in a VM?
...
g++ -Wl,--subsystem,windows -L../openal/libs/Win32 -o Debug/MonkeyGame ../glfw/lib/enable.o ../glfw/lib/fullscreen.o ../glfw/lib/glext.o ../glfw/lib/image.o ../glfw/lib/init.o ../glfw/lib/input.o ../glfw/lib/joystick.o ../glfw/lib/stream.o ../glfw/lib/tga.o ../glfw/lib/thread.o ../glfw/lib/time.o ../glfw/lib/window.o ../glfw/lib/win32/win32_dllmain.o ../glfw/lib/win32/win32_enable.o ../glfw/lib/win32/win32_fullscreen.o ../glfw/lib/win32/win32_glext.o ../glfw/lib/win32/win32_init.o ../glfw/lib/win32/win32_joystick.o ../glfw/lib/win32/win32_thread.o ../glfw/lib/win32/win32_time.o ../glfw/lib/win32/win32_window.o ../stb/stb_image.o ../stb/stb_vorbis.o ../main.o -lgdi32 -lopengl32 -lOpenAL32 -lws2_32
Failed to find any usable GLFWFBConfigs
Use arrows to ajust the clock
Unable to find a usable pixel format
Failed to create GLFW window

Does your installer install OpenAL when the user grabs the desktop target?
Also, could you get the installer to save your Monkey-X and Devtools folders once set the first time?


Sub_Zero(Posted 2014) [#37]
Warnings won't usually break a build...


marksibly(Posted 2014) [#38]
1.3 fixes PSM issues for me, thanks!


Sub_Zero(Posted 2014) [#39]
Good to hear! Keep up the good work mark :)


Sub_Zero(Posted 2014) [#40]
v1.4 now up:

Edit5:: Version 1.4
* Added automatic executable permission on rewuired monkey-x executables (to run and build with monkey-x) on linux
* Added the new experimental android19 target



Michael Flad(Posted 2014) [#41]
Great idea/tool.

One small question, if I try to install the Android target it'll install a JDK. I wonder this works even if I have an older JDK installed on my system which I, at the moment, don't want to/can't risk to modify/change as I need it for important tasks in a production environment. Will I be able to use my existing JDK without issues (i.e. does it change paths/env variables tec. related to the JDK)


Sub_Zero(Posted 2014) [#42]
Good question.... Is the old jdk prior to v8.0 ?
If it it, chances are that it won't get uninstalled, as the jre's won't...
It means i haven't tested this yet... please post the version number here and I can test it for you

Edit: I've just tested this now! and version 7 and 8 can coexist... ie. MXDevinstall doesn't uninstall v7 or 6 when installing version 8...
The JAVA_HOME enviroment variable however, will be set to v8...


Michael Flad(Posted 2014) [#43]
Thanks for your fast reply ... I do have installed the V7 revision 21 at the moment.

Hm I'll give MXDevinstall probably a try as soon as I'm in a more relaxed schedule (I'm on a personal 1 release a week quest at the moment which is why I don't want to experiment too much with my setup :))

Keep up the great work ...


marksibly(Posted 2014) [#44]
Just tried this with a clean install of 32 bit ubuntu 14.

Almost worked - could find x11 and gl stuff. This appears to fix it:

sudo apt-get install xlibmesa-glu-dev


Sub_Zero(Posted 2014) [#45]
Ok thanks, will add a fix for it


Sub_Zero(Posted 2014) [#46]
Version 1.5 for linux now up:

Edit5: Version 1.5
* For linux: added fix for installation of xlibmesa-glu-dev for ubuntu/debian derivates


Downloads in post #1


marksibly(Posted 2014) [#47]
v1.5 didn't do it for me...

v1.5 now prompts 'Do you want to continue [Y/n]' (the way apt-get does) but after you hit 'y return' nothing seems to happen, although according to 'top', mxdevinstall is using 100% cpu.

Tried v1.4 again, and there was no prompt, everything just installed (except gl etc).

This is with a(nother) very clean install of ubuntu14.


Sub_Zero(Posted 2014) [#48]
Version 1.5b now up

Edit6: Version 1.5b
* For linux added fix for installation of xlibmesa-glu-dev libqtwebkit4 libstdc++6 libX11-6 libgl1-mesa-glx for ubuntu/debian derivates


This time I was not in a hurry ;)


marksibly(Posted 2014) [#49]
v1.5b works, thanks.


Sensei(Posted 2014) [#50]
Sub_Zero, I took the plunge and got me a new macbook air. I'll test your installer shortly and let you know if all goes well with it.


Sensei(Posted 2014) [#51]
The console seems to show "MXDevInstall v0.9..." I presume this is just something you forgot to update?
Also, there appeared to be some issues on install.
I chose Android target and it proceeded to download XCode, but then failed and is now stuck on the last bit (30mins now) as you can see in the screenshot, ie "Found JDK.."
https://www.dropbox.com/s/wwyub98be3chp8o/Screen%20Shot%202014-06-14%20at%2010.09.18.jpg

Not sure if this'll help, but I dug in myself and found there are differences between what your tool expects and what is actually there.
https://www.dropbox.com/s/e4r97vhrbkk014m/Screen%20Shot%202014-06-14%20at%2010.17.08.jpg
Keep in mind this is a brand new Mac and I've made no changes to cause any issues.


Sub_Zero(Posted 2014) [#52]
As I'm on vacation, and don't have access to a mac, I haven't been able to update MXDevInstall beyond v0.9 for mac...

Thanks for the digging, it helps alot... As I've only been able to test mxdevinstall on OS X Lion 10.7.4

Anyway, I've posted the source code for mxdevinstall somewhere in this thread, should anyone find the time to build the newest version.
I have to find some time shortly to correct the command line tools issue. The problem is apple employees does not always follow naming standards correctly, and a new version might be named differently it seems, but nothing i can't correct :)

I'll have a look at it later today... But I can't compile to mac, but I can update the source code link.


Sensei(Posted 2014) [#53]
Many thanks mate. I look forward to when you (finally!!) get off vacation and get this awesome tool updated. I know I can carry on installing things the "traditional" way, but I'd prefer to wait and use your tool exclusively as it will be a good test bed for beginners and ease-of-use in general, as you know :)


MikeHart(Posted 2014) [#54]
Ehhhmmm...

As I'm on vacation, and don't have access to a mac, I haven't been able to update MXDevInstall beyond v0.9 for mac..


In your first post is a link to 1.5b for Mac. What else is needed? I could help out.


Sub_Zero(Posted 2014) [#55]
@MikeHart:
Thanks, any help is appreciated...

It's programmed using blitzmax, and it uses modules coded by brucey ...

The source needs to be built with blitzmax on a mac :)

The source code can be found here...


MikeHart(Posted 2014) [#56]
So the mac version says 1.5b but really isn't? That is weird! I need to install other modules? I hope it is easy.

Just looked. The curses module is not available there. So sorry. No can do.


Pharmhaus(Posted 2014) [#57]
https://github.com/maxmods/bah.mod


Sub_Zero(Posted 2014) [#58]
I've now updated the source code link with version 1.5c wich hopefully fixes the mac issues :)

Installing modules is easy, you just copy them to the modules folder, and then build modules...

curses can be downloaded via svn: "svn checkout http://maxmods.googlecode.com/svn/trunk/ maxmods-read-only"

If you do decide to have a go at it, line 61 of the curses module's curses.bmx needs to be commented out, and then build modules in order for mxdevinstall to work correctly

When you've built the executable, rename it to mxdevinstall1 and then build this sourcecode... and voila, a self-sudo'ing mxdevinstall for mac is ready :) You can send it to my email and I'll put the new version up for download.


Sensei(Posted 2014) [#59]
Sub_Zero, I thought I'd resume trying to install another target with your installer, so I chose XCode instead of my previously tested (and unsuccessful) Android target.
I found that it "downloaded" XCode but it never appeared in the installer folder and after the download process, it just sat saying installing, and nothing happening.
I don't suppose you have any log capturing or something I could reference to see what is happening under the hood?
I can wait for you to get back from holiday and resuming your work, but I just thought I'd let you know about this anyway...


Sub_Zero(Posted 2014) [#60]
@Sensei: I've localized the bug, and fixed it..... but the probletm is I don't have a mac to build the executable..... I've updated the source code link (to v1.5c) wich should fix the problem.... Do you have blitzmax?

I won't be home from holiday until around the 10th of july....


Sensei(Posted 2014) [#61]
Wow, you have awesome long holidays! Wanna swap? :)

Anyway, I don't have Blitzmax unfortunately, but I'll wait. In the meantime I don't need to use the Mac building yet as it's just a nice to have at this point in time of my game dev.


Salmakis(Posted 2014) [#62]
i tried this out now to get xna running, but i wonder:
is it downloading and installing VS2010 ultimate?
is this legal? oO


Sub_Zero(Posted 2014) [#63]
It's the trial version, so it's legal :)


Salmakis(Posted 2014) [#64]
Thank you very much for this tool, makes it so mich easier :O
wheres the donate button :P


Sensei(Posted 2014) [#65]
@Sub_Zero. Just wanted to let you know I just bought a small Zotac pc (superb machine btw) and installed Mint on it. Used your installer to set up the Desktop devtools and it worked flawlessly, thanks!

Saying that, once I built (which took a while, hoho), it showed these warnings, but still built and worked fine:

../glfw/lib/x11/x11_window.c: In function ‘translateKey’:
../glfw/lib/x11/x11_window.c:238:5: warning: ‘XKeycodeToKeysym’ is deprecated (declared at /usr/include/X11/Xlib.h:1699) [-Wdeprecated-declarations]
     key = XKeycodeToKeysym( _glfwLibrary.display, keycode, 1 );
     ^
../glfw/lib/x11/x11_window.c:260:5: warning: ‘XKeycodeToKeysym’ is deprecated (declared at /usr/include/X11/Xlib.h:1699) [-Wdeprecated-declarations]
     key = XKeycodeToKeysym( _glfwLibrary.display, keycode, 0 );

Any update on the OS X installer?


dawlane(Posted 2014) [#66]
@Sensei: The warning is related to the X Keyboard core protocols. GLFW 2.x uses the old XKeycodeToKeysym function. While the new preferred method is to use X Keyboard Extensions (XkbKeycodeToKeysym) as it solves a few problems with the old version. GLFW 3+ should support these. But for the time being it's nothing to worry about for the time being.


Sub_Zero(Posted 2014) [#67]
Hi!

I'm finally off vacation :)

I've updated mxdevinstall to v1.5c - the long awaited mac update!

Linux and win versions still remain v1.5b

Version 1.5c:
* Mac update: Hopefully fixes the mac + mavericks issues!
* Fixed an issue where mxdevinstall eternally looped when no java jdk was installed
* hopefully fixed detection of Xcode allready installed on mavericks
* hopefully fixed some mavewricks/mountain lion naming differences on xcode packages


Please post any potential bugs here :)

@Sensei: Glad to hear it worked in mint too ':)


Sensei(Posted 2014) [#68]
Yay! Thanks for the update Sub_Zero! The installer worked great! I tried building now and got this error:

Parsing...
Semanting...
Translating...
Building...


Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.


TRANS FAILED: Error executing 'xcodebuild -configuration Debug', return code=17664
Done.


I proceeded to load XCode directly, agreed to the Terms and it installed components.
I then closed it and tried again and it worked this time, woot!

I wonder if there's a way around that or I guess at least people using your installer will need to be aware of this?

PS. I tried the iOS Game build, which seemed to succeed, but TRANS failed as it was unable to find iPhone simulator. Do I have to make some changes in XCode to make it work or will I just have to do a build and load XCode to choose the simulator from within XCode?

PPS. I loaded the iOS build into XCode, chose Retina 4 and ran the game and it worked :) So I guess this is good enough and is similar to the Win8 VS situation where you load the built project into that editor.


Sensei(Posted 2014) [#69]
Oh one more thing. I installed the Flash tools and tried building on the Macbook. It failed because I didn't have Java installed. Fortunately it offered to download Java 6 through the app store (I think?) and once it was installed, Flash build worked fine. It might be something to be aware of?


Sub_Zero(Posted 2014) [#70]
@Sensei: I haven't thought of that... seems xcode requires you to agree to the license 1 time per new os x installation?
Was this the first time xcode was installed on your mac?


Sub_Zero(Posted 2014) [#71]
@Sensei: Yes seems oracle java isn't compatible with 32 bit builds.. I might have to change to java 6... was it openjdk or? do you know?


Sensei(Posted 2014) [#72]
The pop-up just mentioned Java 6. Re Xcode, yeah it was just the 1st time it required the agreement. A bit of an unexpected pain but not a train smash. I had a vanilla (new mac I recently bought, ie no XCode installed) and wanted to try from scratch your installer to see how it goes. I'm glad I did it now so it will hopefully help you with more things to be aware of.


Sensei(Posted 2014) [#73]
@Sub_Zero: I tried doing an Ouya build on my Win 7 pc just now and it no longer works. The error is:
TRANS monkey compiler V1.64
Parsing...
Semanting...
Translating...
Building...
Unable to locate tools.jar. Expected to find it in C:\Program Files (x86)\Java\jre7\lib\tools.jar
Buildfile: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\build.xml
-check-env:
 [checkenv] Android SDK Tools Revision 23.0.2
 [checkenv] Installed at C:\Development\android-sdk-windows
-setup:
     [echo] Project Name: MonkeyGame
  [gettype] Project Type: Application
-pre-clean:
clean:
   [delete] Deleting directory Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\bin
   [delete] Deleting directory Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\gen
[getlibpath] Library dependencies:
[getlibpath] No Libraries
   [subant] No sub-builds to iterate on
BUILD SUCCESSFUL
Total time: 1 second
Unable to locate tools.jar. Expected to find it in C:\Program Files (x86)\Java\jre7\lib\tools.jar
Buildfile: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\build.xml
-set-mode-check:
-set-debug-files:
-check-env:
 [checkenv] Android SDK Tools Revision 23.0.2
 [checkenv] Installed at C:\Development\android-sdk-windows
-setup:
     [echo] Project Name: MonkeyGame
  [gettype] Project Type: Application
-set-debug-mode:
-debug-obfuscation-check:
-pre-build:
-build-setup:
[getbuildtools] Using latest Build Tools: 20.0.0
     [echo] Resolving Build Target for MonkeyGame...
[gettarget] Project Target:   Android 4.1.2
[gettarget] API level:        16
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\bin
    [mkdir] Created dir: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\bin\res
    [mkdir] Created dir: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\bin\rsObj
    [mkdir] Created dir: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\bin\rsLibs
    [mkdir] Created dir: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\gen
    [mkdir] Created dir: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\bin\classes
    [mkdir] Created dir: Z:\GameDev\PC\Space Whale\spacewhale.buildv77f\android_ouya\bin\dexedLibs
     [echo] ----------
     [echo] Resolving Dependencies for MonkeyGame...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency] 
[dependency] ------------------
     [echo] ----------
     [echo] Building Libraries with 'debug'...
   [subant] No sub-builds to iterate on
-code-gen:
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
     [echo] ----------
     [echo] Handling Resources...
     [aapt] Generating resource IDs...
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.
-pre-compile:
-compile:
BUILD FAILED
C:\Development\android-sdk-windows\tools\ant\build.xml:720: The following error occurred while executing this line:
C:\Development\android-sdk-windows\tools\ant\build.xml:734: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files (x86)\Java\jre7"
Total time: 2 seconds
TRANS FAILED: Android build failed.


I tried installing the Ouya target using your installer and while it was installing it mentioned that it was unable to find the latest JDK version and to report it here :)

pS. I got it working by copying the tools.jar file from Java\jdk1.7.0_51\lib to \Java\jre7\lib folder.
Not sure why this changed as the path is correct in the trans config file.
Either way, it now works again.


Sub_Zero(Posted 2014) [#74]
oki... running mxdevinstall with the -f option "should" have fixed the problem... however, seems latest jdk detection is broken now.. I'll have to fix it :)


Sub_Zero(Posted 2014) [#75]
Version 1.6 Now up:
* Fixed broken detect and download of latest oracle java jdk
* Mac: Fixed an issue with detecting installed java jdk


Have fun!


Sensei(Posted 2014) [#76]
Hey Sub_Zero.
I was wondering about your installer and have a question or two for you.
If possible, do you think it would be possible to adapt your installer in such a way that a Monkey-X developer can include it in a final game package? For example, on Windows, a Monkey game generally won't work until you have OpenAL installed, and on Linux, especially for the less technical peeps, it won't be easy to figure out what needs installing to make your game work on Ubuntu/Mint etc. Again, not sure what is needed in Mac OS X either out of the box.
You seem to have a good understanding of what software to look for and install if the user doesn't have it on their system, so the idea is that the user downloads your game package which includes the installer and game exe. The Setup file runs your installer, which does its thing to make sure what is needed, is installed, then "installs" the game exe to a target path and runs it from there, possibly also adding a icon/shortcut? This could be especially useful if you develop a game that is supported on multiple platforms!

Not sure if this is a good or even doable solution, but I'm unsure how other Monkey devs currently go about making people aware of system requirements to ensure people can play their games?

Let me know your thoughts!?


dawlane(Posted 2014) [#77]
@Sensei: Why include lots of unneeded development files on someone else's machine?

To deploy on Windows use one of the free install systems such as Nullsoft Scriptable Install System. You can get an IDE for NSIS to help build these. You would then add your program files and media along with any additional libraries.

To deploy on OSX you just add the created app bundle to a dmg image. Apple should already have the files installed for running a desktop application. If you need to include additional libraries just add these to the bundle in the correct place. There are plenty of tutorials around on how to do both.

Deploying on Linux is more tricky as you have a many kinds of package manger as well as binary differences (meaning anything from GLIB to 32/64bit compatibility). Building packages can get quite involved. And because of the number of tutorials and information (many out of date) out there. It can get very confusing for someone new to building packages.
But generally on a 32bit distribution with a 32bit Monkey application should only requires the installation of libopenal1. On a 64bit distribution with a 32bit application, then you need to install the 32bit equivalents of glibc,libstdc++, on some librt, X11, gl, openal, and maybe Xt, Xi, Xtst, Xrender and zlib.
You can write a script to check for a number of know distribution (many distributions now should be using the Linux Standard Base which makes this task a little easier) and install that distributions packages. You should be able even to do the install as a self extracting archive. Again there are tutorials on how to do extracting archives.


Sub_Zero(Posted 2014) [#78]
Hey sensei..... I'll have a look at it later when i have more free time. Maybe I can do something :)


Sensei(Posted 2014) [#79]
Hey. Apologies for delayed reply.
@dawlane: I know of NSIS etc, but my idea was more along the lines of checking and installing what is needed to run the Monkey package. I know in some instance like windows you only need openAL and on the mac desktop it's all prepackaged into a dmg, but though I included those, I was mainly aiming at the linux market. As you state, there are many differences which makes it a fairly complicated matter, but I'm looking at it from a user's point of view: download game, run setup, play game. Setup checks what is needed if not installed to make it work. Nothing special other than that. The reason behind this is because for one, if I downloaded a monkey game on my linux install without any prior knowledge of what is needed, it would be a better "sell" if the game just ran setup and installed what I needed instead of making me hunt for things I need to install by hand, just to test out your game. Make sense?
Anyway, it was just an idea..

@sub_zero: thanks mate. It is just something I thought of that would be nice to pre-package with monkey game for all monkey devs. If we have such a nice dev installer package as you've made here, why not extend that in a simpler/basic format so the dev can package the game and know the user doesn't need to faff with extra stuff, IYSWIM.

Just my two cents.. :)

Thanks!


burdz(Posted 2014) [#80]
Very handy. I just purchased Monkey-X Pro and this made installing targets a breeze.


dawlane(Posted 2014) [#81]
@Sensei: You may want to have a look at
HOW TO: Install Monkey on Linux (a rough guide)
. You will find that I added a dropbox link in the Deploying section to something that I have been working on that should make deployment a little easier on most of the main distributions.


Playniax(Posted 2014) [#82]
I am aware of this tool for a while now and to repeat the question of therevills:

So when is this going to be added to MonkeyX officially? ;)

Or something like it...


Sub_Zero(Posted 2014) [#83]
I'm not sure if it will :) Ask mark :)


Sub_Zero(Posted 2014) [#84]
Downloading of Xcode tools for mac seems broken at the current version… I'll post an update when it's been fixed :)


Sub_Zero(Posted 2015) [#85]
Version 1.7 is now up!

Featuring the following fixes:

Version 1.7
* Fixed broken XCode download and install
* Added support for Yosemite


Downloads in post #1

Have fun all!


Playniax(Posted 2015) [#86]
Great!


evren(Posted 2015) [#87]
What does the -i folder mean? Devtool that is. could it be any empty folder?
And also do you need to tell it implicily each platform that you want in as parameter.. one at a time or several at once?


Sub_Zero(Posted 2015) [#88]
The -i folder can be eg. c:\devtools where the folder is a allready created folder.
And one platform at a time (noted for later release: multiple platforms at once).


Hezkore(Posted 2015) [#89]
I've been unable to get Android compiling fully working on Mac OS Yosemite, so I thought I'd give your installer a go.
It works pretty well, however Android is still a no go.
And it doesn't seem to install Apache ANT?
The ADB service doesn't start either, nor can it be started from the terminal.

Also, it seems that compiling with TED, Android API 10 actually uses API 19, and compiling with API 3 uses API 10?
Trying to compile API 10 spits out something like "Unable to find build API 19" or similar, and installing API 19 from the SDK Manager fixes that.
I haven't done anything to Monkey X, it's the default targets.


Sub_Zero(Posted 2015) [#90]
I'll have a look at it :)


The Betpet(Posted 2015) [#91]
I'm trying to download the latest version now but I just get a blank HTML page. Is there a problem on the site or at my end?


Sub_Zero(Posted 2015) [#92]
The download links has now been fixed!


Sensei(Posted 2016) [#93]
Hey @Sub_Zero.

I tried your installer on my Dell Chromebook 11(64bit intel chipset), using Ubuntu via Crouton.

When I try run mxdevinstall I get this:
./mxdevinstall2: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory


When I looked in Synaptic package manager, it showed that it is indeed installed, so I'm a little stuck as to what to do next.


PixelPaladin(Posted 2016) [#94]
@Sensei: You could try to install the 32 bit version (libidn11:i386).


Sensei(Posted 2016) [#95]
Thanks @PixelPaladin. I managed to get all the files sorted after I realised I didn't have apt-file installed to search for libs. Got mxdevinstall working, but not got Ted/Monkey working yet. That's my next task for tomorrow :)


Sub_Zero(Posted 2016) [#96]
Hello everyone!
I haven't been active here lately, due to many website and ebooks publishing projects.
I Need to update MXDevinstall when I have the time for it... Hopefully soon... As some automatics are broken on some targets when it comes to fetching the very latest versions of some devtools. But it fetches the last known ones at the latest compiles luckily.
I hope I will have time to do this soon... And add the new targets aswell :)