An example of what to do when Apple breaks things...
(or how to get the Brahms Composer and AgentViewer running under Mac OS X 10.3.8 on an external drive's partition)
A few weeks ago, Apple pushed its version 10.3.9 update of its operating system via Software Update. Many of us geeky Mac users were dismayed to see that a significant flaw had made it through Apple's QA process: Java was very broken. That is, if you typed java -version at the command-line, you'd get a segmentation fault.
While Apple released an update to fix this a few days later, this is symptomatic of a larger problem. Apple is 6 months behind in their Java releases, they're updates are not backwards compatible and often buggy (thus the breaking of things) and you have to reinstall the operating system in order to roll-back to previous java versions.
Adrift in this perfect storm of incompatibility was Brahms from NASA Ames, a multi-agent work-practice modeling and simulation tool that I am using in my Master's work. Brahms wouldn't launch due to this java incompatibility. Essentially, with my software tool no longer working, I had to code on a PC chained to the floor at SIMS in order to complete my master's work!
Yesterday, I realized that I could install a pre-10.3.9 version of Mac OS X on a partition of an external FireWire drive and have Brahms run under that. And it worked... Hallelujah! Read on for the details...
[More:]
(See the appendix below for determining that you might need to do this. I can't imagine you wanting to read this unless you're a Brahms user.)
These are directions for getting Brahms Composer and AgentViewer to work on a Mac OS X 10.3.8 external FireWire volume. This is likely to be relevant to you if after having installed Mac OS X 10.3.9, you notice that Brahms Composer wouldn't launch. Here are the steps involved:
-
Repair permissions on and Clone your current Mac disk to an external FireWire disk. I highly recommend using SuperDuper!, for $20, to do the cloning (or Carbon Copy Cloner at no charge... but CCC hasn't been updated in a while).
-
Install Mac OS X 10.3.8 or 10.3.7 from your system install DVDs onto the cloned disk using the "Archive and Install" option. If your system disks are from before 10.3.8, only install software updates up to 10.3.8. (You need to be running Java version 1.4.2_03 for this scheme to work... type
java -versionat the command line.) -
Copy ProfessionalAgent.zip (obtained from Maarten) to
/Applications/Brahms/and unzip it. (First, delete any old ProfessionalAgent directory.) -
Install the following updated files:
-
vm.jarfrom Charis goes inProfessionalAgent/Common/ -
ide.jarfrom Charis goes inProfessionalAgent/IDE/composer/ -
unzip
brahmslicense.zipfrom Charis intoProfessionalAgent/ -
agentviewer.jarfrom Ron goes inProfessionalAgent/IDE/composer/plugins/
-
-
Delete the file
ProfessionalAgent/IDE/composer/composer.xml(or Composer will think it's on Maarten's powerbook!) -
Install MySQL 4.0.13 from the "Complete MySQL 4.0.13" distribution for Mac from Server Logistics (these substeps are covered in more detail in the
Install Guide.pdfaccompanied with the distribution):-
Add
/Library/MySQL/binto your $PATH environment variable. (can check withprintenv PATH) -
Drag
MySQL.prefPaneto/Library/PreferencePanes/or~/Library/PreferencePanes/depending on if you want all users or just yourself to have the MySQL preference pane. -
Start MySQL and then Initialize the MySQL database in the preference pane.
-
Set the MySQL root password.
-
Enable the anonymous MySQL user so that Composer's AgentViewer can interface with MySQL. First, type
mysql -u root mysql -pand then enter the root MySQL password that you just set. Then, typeuse mysql;. Then,GRANT ALL PRIVILEGES ON *.* TO ''@localhost;and finallyFLUSH PRIVILEGES;.
-
-
UPDATE [2005-05-11 15:58:02]: You'll also want to install the stand-alone update for upgrading from Mac OS X 10.3.7 to 10.3.8 and the Java Update 1 so that your java version is:
java version "1.4.2_05" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-141.4) Java HotSpot(TM) Client VM (build 1.4.2-38, mixed mode)
You should now be able to launch Composer.app which resides in ProfessionalAgent/bin/, build, compile and run models in addition to selecting simulation databases and displaying them in the AgentViewer!
Determining if you have this problem. If you are running Mac OS X 10.3.9 and open a terminal window and issue the command ./Composer.command from the ProfessionalAgent/bin directory and see the following, you might consider the scheme above:
Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)
Stack Trace:
java.lang.IllegalArgumentException: The DockableFrame exists
with name "gov.nasa.arc.brahms.ide.agentviewer.UIRuntimeView".
Please specify a new name for the frame.
at com.jidesoft.docking.DefaultDockingManager.a(Unknown Source)
at com.jidesoft.docking.DefaultDockingManager.addFrame(Unknown Source)
...