I made GooTool work with Java7 on LMDE - how I did it

2 replies [Last post]
Joined: 04/21/2014

First I'd like to apologize to Mom4life, that was misplaced anger this morning.

OKAY here is what I did to make it work on Linux Mint Debian (rolling release)-

First I navigated to /usr/bin/gootool right clicked and selected "open as admin", this opened a text editor with the code, line 17 is -

# Check they have Java 1.5 or 1.6

and line 32 is-

# Find the target of gootool symlink then locate gootool lib/etc directories

I took everything between these two lines and commented them out (add a "#" to the beginning of each line so the code now looks like this -

# Check they have Java 1.5 or 1.6

#JAVA_VERSION=`${JAVA} -version 2>&1 | grep "^java version \".*\"$" | cut -d '"' -f 2 | grep -Eo '^[0-9]+\.[0-9]+\.'`

#if [ "${JAVA_VERSION}" != "1.5." -a "${JAVA_VERSION}" != "1.6." ]; then#
# echo "GooTool requires Java 1.5 or 1.6. You have Java ${JAVA_VERSION}" 1>&2
# echo "See http://goofans.com/gootool/troubleshooting/linux-java" 1>&2
# exit 1
#fi

#function die()
#{
# echo $1 1>&2
# exit 1
#}

# Find the target of gootool symlink then locate gootool lib/etc directories

Then clicked "save"

I have to launch World of Goo from the gootool app, but everything works from there...it even fixed my issue with the sound!

I hope this helps folks in the future.

MykB.

Joined: 09/01/2009

Ah, excellent. So it's just a shell script that needs updating. Good find! That's definitely a lot better of a solution than installing Java 1.6.

Also, for the record, the "function die()" seems to be used by GooTool to quit when the script can't find GooTool's libraries, so I wouldn't advise commenting that line out. I personally changed the line:

JAVA_VERSION=`${JAVA} -version 2>&1 | grep "^java version \".*\"$" | cut -d '"' -f 2 | grep -Eo '^[0-9]+\.[0-9]+\.'`

To:
JAVA_VERSION="1.6."

(note the extra period at the end)
just to dupe it out, and it runs fine. Or you could just comment out the if statement. Whatever works!

EDIT: Just tried installing an addin and running a custom World of Goo from within GooTool... and it crashes instantly. If you run the custom executable directly, you may get the following error:

> ./WorldOfGoo
./WorldOfGoo.bin64: error while loading shared libraries: libSDL_mixer-1.2.so.0: cannot open shared object file: No such file or directory
 
It looks like World of Goo crashed! If you need support, please include the
contents of the log file in your problem report.
The log file is stored at: /home/mark/.WorldOfGoo/WorldOfGoo.log

This is caused by YET ANOTHER issue with GooTool; it seems to not be copying the "libs32" and "libs64" folders over into the custom World of Goo installation. Which in my case, since I don't have SDL_mixer installed on this computer yet, causes a problem.

To solve this, copy the "libs32" or "libs64" folders from /opt/WorldOfGoo to your custom installation directory (You only have to do this once). Runs like a charm.

Note that if you had to get 2DBoy's "TopSecretTransfer" shared object files to prevent World of Goo from segfaulting on launch, you'll need to do this as well, even if you have SDL/SDL_mixer/etc installed. You'll just get another segfault when launching your custom World of Goo.

Joined: 04/21/2014

MOM4Evr wrote:
Ah, excellent. So it's just a shell script that needs updating. Good find!

A "shell script"? Is that what's called?!? LOL. Thanks. I'm no coder or script kiddie, if the programmer hadn't used the comments (#) I wouldn't have been able to figure it out, but I'm pretty sure commenting is considered proper programming now-a-days. Back in my day each line of a program started with a number....anyway. I hope they fix this on the server side, I wonder how many folks have done exactly what I did yesterday morning - research java 1.6 - discover it's full of security holes and say "no freaking way I'm installing that".

I mentioned it to a friend and his first reaction was "Why? Isn't java like super backward compatible? Why won't it work with 7?" Which is what gave me the idea to comment out the section where is checks the java version number.

MykB.