# Can't upgrade VASSAL on MacOS

**URL:** <https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553>\
**Category:** Technical Support & Bugs\
**Created:** [May 4, 2024, 6:30pm UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553 "2024-05-04T18:30:03Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 7, 2024, 8:14am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/21 "2024-06-07T08:14:21Z")

</div>

Try running

```plaintext
JAVA=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java ./VASSAL.sh

```

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 7, 2024, 10:20am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/22 "2024-06-07T10:20:46Z")

</div>

No go:

imacgc:~ greg$ JAVA=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java ./VASSAL.sh

-bash: ./VASSAL.sh: No such file or directory

Do I need to move the Vassal directory and files into the same folder containing the Java components?

---

<div class="post-metadata">

**Author:** ![jrwatts](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/jrwatts/32/6972_2.png) [@jrwatts](https://forum.vassalengine.org/u/jrwatts)\
**Post date:** [June 7, 2024, 10:43am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/23 "2024-06-07T10:43:10Z")

</div>

You need to be in the directory holding VASSAL.sh when you run that command.

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 7, 2024, 12:26pm UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/24 "2024-06-07T12:26:36Z")

</div>

Like this? The VASSAL.sh file is in the folder VASSAL-3.7.12:

imacgc:VASSAL-3.7.12 greg$ JAVA=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java ./VASSAL.sh

Error: /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java is too old to run this version of Vassal. Please use Java 11 or later.

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 7, 2024, 10:42pm UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/25 "2024-06-07T22:42:20Z")

</div>

Would you verify that the path set for `JAVA` is correct?

What is the output of the following command?

```plaintext
ls /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java

```

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 8, 2024, 7:53am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/26 "2024-06-08T07:53:07Z")

</div>

This is the pathway where the Java file can be found:

![Screen Shot 2024-06-08 at 3.45.42 pm](https://forum.vassalengine.org/uploads/default/optimized/2X/6/68d3b64981a5968ae5db6bed55c6305564b1d46d_2_690x38.png)

If I input that command while in the VASSAL-3.7.12 folder, I get this:

/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java  
imacgc:VASSAL-3.7.12 greg$

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 8, 2024, 9:38am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/27 "2024-06-08T09:38:53Z")

</div>

The next thing we need to check is the output of the following command, run from the `VASSAL-3.7.12` directory:

```plaintext
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -classpath lib/Vengine.jar VASSAL.launch.JavaVersionChecker

```

(btw, it’s a “path”, not a a “pathway”.)

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 9, 2024, 2:05pm UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/28 "2024-06-09T14:05:47Z")

</div>

OK, this is what I get:

imacgc:VASSAL-3.7.12 greg$ /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -classpath lib/Vengine.jar VASSAL.launch.JavaVersionChecker

You have new mail in /var/mail/greg

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 9, 2024, 2:53pm UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/29 "2024-06-09T14:53:00Z")

</div>

That is not at all what I expected to see.

What is the output if you run

```plaintext
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java --version

```

?

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 10, 2024, 1:35am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/30 "2024-06-10T01:35:24Z")

</div>

Here you go:

imacgc:VASSAL-3.7.12 greg$ /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java --version

openjdk 17.0.11 2024-04-16

OpenJDK Runtime Environment Temurin-17.0.11+9 (build 17.0.11+9)

OpenJDK 64-Bit Server VM Temurin-17.0.11+9 (build 17.0.11+9, mixed mode)

imacgc:VASSAL-3.7.12 greg$

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 10, 2024, 1:36pm UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/31 "2024-06-10T13:36:09Z")

</div>

That establishes that the Java you installed can run.

Please run

```plaintext
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -classpath lib/Vengine.jar VASSAL.launch.JavaVersionChecker && echo success

```

from the directory where you’ve installed Vassal. What is the output?

(BTW, you can put triple backticks ````` before and after terminal output in posts to make it easier to read.)

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 11, 2024, 8:13am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/33 "2024-06-11T08:13:35Z")

</div>

Here you go:

` ` ` imacgc:VASSAL-3.7.12 greg$ /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -classpath lib/Vengine.jar VASSAL.launch.JavaVersionChecker && echo success

success

You have new mail in /var/mail/greg

imacgc:VASSAL-3.7.12 greg$ ` ` `

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 11, 2024, 10:39am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/34 "2024-06-11T10:39:45Z")

</div>

> [@Breaker](#):
>
> You have new mail in /var/mail/greg

Have you looked into what this is? It’s happened both times that you’ve run the version checker.

Please run

```plaintext
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -Duser.dir=. -classpath lib/Vengine.jar VASSAL.launch.ModuleManager

```

from the directory where you’ve installed Vassal. Does Vassal start? If there is other output, what is it?

(The triple backticks need to be on their own line to work:

```auto
 '''
 stuff
 '''

```

)

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 13, 2024, 1:35am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/35 "2024-06-13T01:35:16Z")

</div>

Here you go. the /var file is a text edit file that makes no sense to me. Seems to report results of scans.

```auto
imacgc:VASSAL-3.7.12 greg$ /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -Duser.dir=. -classpath lib/Vengine.jar VASSAL.launch.ModuleManager
Error: LinkageError occurred while loading main class VASSAL.launch.ModuleManager
	java.lang.ExceptionInInitializerError: null
You have mail in /var/mail/greg
imacgc:VASSAL-3.7.12 greg$ 

```

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 13, 2024, 9:46am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/36 "2024-06-13T09:46:51Z")

</div>

> [@Breaker](#):
>
> the /var file is a text edit file that makes no sense to me. Seems to report results of scans.

This could be important. May we see the contents?

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 14, 2024, 3:21am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/37 "2024-06-14T03:21:50Z")

</div>

There is a lot of content in it…sorry, I would rather not.

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 14, 2024, 10:29am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/38 "2024-06-14T10:29:16Z")

</div>

It’s a message spool file. What I’m interested in is the _last_ message—the one which `You have mail in /var/mail/greg` indicates was added when you tried starting Vassal. You could ensure that the last message is this one by trying to run Vassal and immediately checking `/var/mail/greg`.

This is the obvious next step to continue troubleshooting with Java 17. Otherwise, you could install [Java 11](https://adoptium.net/temurin/releases/?version=11&os=mac&arch=x64) and try the same steps with that.

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 18, 2024, 3:48am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/39 "2024-06-18T03:48:18Z")

</div>

I ran that command line again and this time it did not include any ref to the /var file:

```auto
imacgc:VASSAL-3.7.12 greg$ /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -Duser.dir=. -classpath lib/Vengine.jar VASSAL.launch.ModuleManager
Error: LinkageError occurred while loading main class VASSAL.launch.ModuleManager
	java.lang.ExceptionInInitializerError: null
imacgc:VASSAL-3.7.12 greg$ 

```

I found the file and it had not been updated after I repeated the command. I looked into the file for the date on which the /var entry was generated, and on that date the reference was to a Norton Utilities Application Support file, which doesn’t even exist where it said it should. So, seems to me that the text edit file offers no guidance.

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [June 18, 2024, 10:07am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/40 "2024-06-18T10:07:53Z")

</div>

Alright. Next, try Java 11 instead, working through the same steps as above.

---

<div class="post-metadata">

**Author:** ![Breaker](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@Breaker](https://forum.vassalengine.org/u/Breaker)\
**Post date:** [June 22, 2024, 7:03am UTC](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553/41 "2024-06-22T07:03:49Z")

</div>

OK, I loaded temurins-11.jdk and ran the following command inside the Vassal-3.7.12 folder, with the ensuing reply:

```auto
imacgc:VASSAL-3.7.12 greg$ JAVA=/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/bin/java ./VASSAL.sh
Error: /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/bin/java is too old to run this version of Vassal. Please use Java 11 or later.
imacgc:VASSAL-3.7.12 greg$ 

```

For some reason, it is not recognising this pathway?

[Previous page](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553.md?page=1)

[Next page](https://forum.vassalengine.org/t/cant-upgrade-vassal-on-macos/79553.md?page=3)
