jung6717 / arduino

Automatically exported from code.google.com/p/arduino
0 stars 0 forks source link

Problem Starting after Apple Java security patch #41

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. After applying the most recent Java security patch from Apple last night
I started getting this error when starting:

Uncaught exception in main method: java.lang.UnsatisfiedLinkError:
/Applications/arduino-0016/Arduino
16.app/Contents/Resources/Java/librxtxSerial.jnilib:  no suitable image
found.  Did find:  /Applications/arduino-0016/Arduino
16.app/Contents/Resources/Java/librxtxSerial.jnilib: no matching
architecture in universal wrapper

What version of the Arduino software are you using? On what operating
system?  Which Arduino board are you using?

Arduino 016, MacOSX 10.5.7, JVM 1.5 32 bit, Arduino Duemilanove

Please provide any additional information below.

Processing is working fine, including serial communications on the same system

Original issue reported on code.google.com by mrdoorn...@gmail.com on 16 Jun 2009 at 6:13

GoogleCodeExporter commented 9 years ago
I get this too on OS X Intel.  I'm wondering if this is a 32-bit/64-bit thing.

I'll dig into this today and post back with what I find.

Original comment by clvrm...@gmail.com on 17 Jun 2009 at 7:48

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Yeah, the MacOS/Arduino executable is a universal with three flavours:

Arduino (for architecture ppc): Mach-O executable ppc
Arduino (for architecture i386):    Mach-O executable i386
Arduino (for architecture x86_64):  Mach-O 64-bit executable x86_64

The jnilib it is complaining about has two of these, but is missing x86_64.  On 
a Xeon based Intel Mac it is 
trying to find the x86_64 I guess.

The solution is to run some liposuction on the fat binary:

cd ~/Developer/arduino-0016/Arduino\ 16.app/Contents/MacOS/
mv Arduino Arduino_64bit
lipo -remove x86_64 Arduino_64bit -output Arduino

We might need to reconsider how the RXTX native stuff is bundled and built.  I 
understand this is an issue on 
64-bit Linux, too.

Original comment by clvrm...@gmail.com on 17 Jun 2009 at 8:20

GoogleCodeExporter commented 9 years ago
The easy way to fix this is to right-click on the Arduino 16.app, select "Get 
Info", and check "Open in 32-bit 
mode".  Arduino 0017 will only include i386 and ppc (not x86_64) in the 
executable (JavaApplicationStub), so 
this won't happen.  I added an answer to the troubleshooting guide about this: 
http://arduino.cc/en/Guide/Troubleshooting#macupdate and a link from the home 
page.  Any where else I 
should post it?

Original comment by dmel...@gmail.com on 17 Jun 2009 at 8:43

GoogleCodeExporter commented 9 years ago
This is fixed in the sense that Arduino 0017 won't have this problem, although 
we should probably do more to 
spread information about the fix for Arduino 0016.

Original comment by dmel...@gmail.com on 18 Jun 2009 at 6:55