Teensyduino 1.3.5 Installation Problem on MacOS 10.12.3

olieske

Member
Hi everybody!

After a few month of absence from Teensy development, I decided to update the development tools.

This installation takes place on MacOS 10.12.3 "Sierra"

Arduino 1.8.1 installs nicely and is running. I started it once after installation as suggested in the instructions.

Then I installed Teensyduino 1.35 on top of it. I point the installer to the Arduino.app, it recognizes Arduino 1.8.1 and installation starts.

When I start Arduino now, I just get an "Unable to load Java Runtime Environment." message.

I deleted Arduino.app and started over a few times now, no change. Am I missing something? Anybody working with these versions of Arduino/Teensyduino on MacOS Sierra ?
 
I had that once, but a few years (and Teensyduino releases) ago. Using the disk utility and fixing the permissions after the Arduino but before the Teensyduino install did the trick.

Recently, I installed Arduino 1.8.1 from scratch and Teensyduino 1.36 beta on top of it under OSX 10.12.4 beta without problems.
 
Anyone else using 10.12.3 on their Mac?

I'll update my test mac soon and give this a try. At the moment, my workbench is covered in USB host dev stuff and lots of USB things I'm trying with it.....
 
I solved the problem. My "mistake" was to unzip the Arduino IDE with 'The Unarchiver'.

When using unzip everything is fine! There is a difference in the warning dialog when opening Arduino for the first time.
Using The Unarchiver macOS says "This file was created by The Unarchiver on an unknown date" (translated from german)
With unzip it says "Google Chrome.app downloaded this file <time of downloading> from www.arduino.org".

From a security point of view its reasonable to say this file was created by The Unarchiver, because you can't be sure that you purely get on your machine what you downloaded. You also have to trust your unzip program, as it could add or manipulate something while unpacking. Strange to me that Arduino.app runs after unpacking but not after patching with Teensyduino. But maybe you understand why that's happening?
 
Strange to me that Arduino.app runs after unpacking but not after patching with Teensyduino. But maybe you understand why that's happening?

There's a signature on the Arduino app bundle which becomes invalid when lots of extra files are added and a few of the existing files are changed.

That's why you need to run it at least once, to pass the question about downloaded from the internet. Current versions of MacOS don't mind if the signature isn't valid, as long as you've already approved, and the files are still in the same location.

At some point in the (hopefully distant) future, an update to MacOS is likely to reject the modified software even after you've approved. When/if that happens, I'll need to adapt the installer. Maybe I'll disable the choices of which libraries to install on Mac, so the result is always a fixed set of data I can sign. Or maybe the Mac version will have to just become a completely separate copy of Arduino.

Or perhaps in a very distant future, I'll work more closely with the Arduino devs to have some way for Teensyduino's special patches to install by their boards manager or some other method.

For now, I'm hoping this approach will remain good enough. Redoing how the mac version installs would be a huge distraction from so many much interesting projects, like the USB ECHI host I'm doing now, and a long list of awesome audio features people have requested, and native ethernet, and much-needed website improvements, and....
 
Anyone else using 10.12.3 on their Mac?

I'll update my test mac soon and give this a try.
I updated to 10.12.3 recently and was worried about this but Arduino with Teensyduino worked the same way as it always have when I downloaded and installed them. Though my next computer I purchase is going to run linux, macOS is starting to be more fluff than substance and not mention they really haven't updated their computer hardware in long time anyway.
 
Same Problem

I'm using 10.12.3 Sierra on my Mac, and have just tried to update the Arduino IDE (1.8.1) and Teensyduino (1.35).

The Arduino IDE worked fine when tested, until I installed Teensyduino and then the "Unable to Load Java Runtime Environment" message started to appear. I have the latest versions of both, and the latest JRE 8u121 too...

Is Teensyduino dependent on a previous version of the JRE?

Cheers
Steve
 
macOS is starting to be more fluff than substance and not mention they really haven't updated their computer hardware in long time anyway.

They seem to be more interested releasing OSX updates every 6 months for "features" to take people's minds off their low tech. This is why some people install "hackintosh". PC hardware is more faster than mac at a fraction of the cost.
 
Just tried installing Arduino 1.6.12 and the latest Teensyduino 1.35, and everything works fine!

It would seem that Arduino 1.8.1 is the issue here...

Cheers
Steve
 
... then the "Unable to Load Java Runtime Environment" message started to appear. I have the latest versions of both, and the latest JRE 8u121 too...

Arduino includes a JRE inside its mac application bundle. In theory, it's not supposed to matter what other copies of Java you have. But maybe it does?

Arduino 1.8.1 on Mac is built with JDK version 8u92. Don't know if that info help?
 
So interestingly, I have basically the same story as the original post. Decided to upgrade my tools, now Arduino won't start. This is on macOS 10.12.1. I started the Teensy app that's in my applications folder and it says that it's version 1.21. So not only did the install do something to Arduino, it also doesn't seem to have completely installing Teensy. Unless the new version doesn't have an app icon and this is just my previous version poking through.

To solve this, I uninstalled a program called RansomWhere? which is designed to look for programs doing a lot of file operations at once to try to combat ransomeware. I had it spoil an install on another software, so I figured I'd try it here too. Seems to have worked, I now have Arduino installed and all the Teensy boards are in the menu. The only thing that hasn't changed is that the Teensy app in my applications menu is still 1.21. Is that a sign of a problem?

Thanks!
 
Hi,

I tried many things to fix this including all of the suggestions on this threat and didn't work, bu I just fixed this problem in a more aggressive way which I think could possibly work for anyone. Here's how I did it.

1. Installed the new version of Arduino and kept a copy of it on a different folder (up to this point everything works fine)

2. Installed the teensyduino. After this I got the Java error.

3. Browsed to the package content on both arduino apps, the one on the app folder (damaged) and the copy

4. Replaced the _CodeSignature and PlugIns folder on the damaged app.

5. Inside the Java folder, replaced everything but the hardware folder.

Now it works and I can upload code to the teensy. It's possible that at some point I might need to install libraries, which I haven't tested yet but I that's a minor issue.

Hope this helps
 
5. Inside the Java folder, replaced everything but the hardware folder.

If you replaced pde.jar and arduino-core.jar, you'll lose quite a few of Teensyduino's customizations. For example, the Serial Monitor won't work with non-serial USB Type options. Reconnecting to Teensy after upload if you leave the serial monitor open might also not work, or may be unreliable (Arduino does it with different timing than Teensy).

If things are working for you, great. Just want to mention this in case you run into these issues, or in case other people use this fix and hit those issues.
 
Thanks Paul! I was testing and yes, I got a few errors, so I spent some time trying to figure out if there was a specific file that was causing this error.
I did a clean install (actually a few) and I found that just replacing the info.plist is enough, which makes me thing it should be a minor error that needs to be fixed there by you guys. I hope this helps and you can figure it out, nothing else was touched, it is as teensyduino intends.
 
I'm running macOS 10.9.5 and I had this same problem installing Teensyduino 1.3.6 on top of Arduino 1.8.2. I solved it with Cristohper RF's solution by replacing the Teensyduino Arduino.app/Contents/Info.plist with the Arduino Arduino.app/Contents/Info.plist. Here's the before and after diff of this file:

Code:
12c12
< <string>org.arduino.Arduino</string>
---
> <string>cc.arduino.Arduino.teensyduino</string>
28c28
< <string>Arduino Srl</string>
---
> <string>Arduino LLC</string>
38c38
< <string>jdk1.8.0_121.jdk</string>
---
> <string>JavaAppletPlugin.plugin</string>

So, this seems to still be broken, but I'm not sure what the fix is going forward.
 
Try downloading the Arduino software from Arduino.cc.

Looks like the copy from Arduino.org might have some small but important differences. Maybe?

Let me know if that magically fixes everything. If so, looks like I might need to look into these differences. Or if not, maybe it really is a weird mac issue (that didn't come up when I tested on Sierra on my Macbook Air).
 
Just ran into this issue on 10.12.6, Arduino IDE 1.8.2, and teensyduino 1.41

Replacing the Info.plist from the default Arduino.app folder solved it. Comparing the differences, I see that the "stock" Arduino version contains some explicit references to some JVM paths:

<string>-DAPP_DIR=$APP_ROOT/Contents/Java</string>
<string>-Djava.ext.dirs=$JVM_RUNTIME/Contents/Home/lib/ext/:$JVM_RUNTIME/Contents/Home/jre/lib/ext/</string>

While the one updated by the teensy installer removes them.

However, I did not hit this error on another machine running 10.12 and teensyduino installed over Arduino fine.

I expect this is due to a slightly different configuration of the JRE, which on OSX is always a bit confusing depending on what legacy Java dependencies you have in your system.
 
Back
Top