Open GoogleCodeExporter opened 9 years ago
I see the same problem when loading a Bluetooth related OSGi bundle in the
OpenHAB project. This bundle is using bluecove-2.1.1-SNAPSHOT.61, running on OS
X 10.8.2. Java JDK information:
$ java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
The error I see in the log output is:
dyld: lazy symbol binding failed: Symbol not found:
_IOBluetoothLocalDeviceReadSupportedFeatures
Referenced from: /private/var/folders/vq/9w6g_qjs2_jdvt73j3f2k6lh0000gn/T/bluecove_edmund_0/libbluecove.jnilib
Expected in: /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
dyld: Symbol not found: _IOBluetoothLocalDeviceReadSupportedFeatures
Referenced from: /private/var/folders/vq/9w6g_qjs2_jdvt73j3f2k6lh0000gn/T/bluecove_edmund_0/libbluecove.jnilib
Expected in: /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
Maybe Java is trying to call a function through JNI that does not exist in the
shared lib?
Original comment by edmund.t...@gmail.com
on 30 Sep 2012 at 5:46
We are seeing this issue as well on multiple OSX 10.8.1 installs:
dyld: lazy symbol binding failed: Symbol not found:
_IOBluetoothLocalDeviceReadSupportedFeatures Referenced from:
/private/var/folders/g8/p4612lyn7q31ltdwy62c1z5c0000gn/T/bluecove_bobby_0/libblu
ecove.jnilib Expected in:
/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth dyld:
Symbol not found: _IOBluetoothLocalDeviceReadSupportedFeatures Referenced from:
/private/var/folders/g8/p4612lyn7q31ltdwy62c1z5c0000gn/T/bluecove_bobby_0/libblu
ecove.jnilib Expected in:
/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
- - - - - - - - - - - - -
dyld: lazy symbol binding failed: Symbol not found:
_IOBluetoothLocalDeviceReadSupportedFeatures Referenced
from:Ê/private/var/folders/vr/rdzg63f931z96s37m9y93t0h0000gp/T/bluecove_denise_
0/libbluecove.jnilib Expected
in:Ê/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
dyld: Symbol not found:
_IOBluetoothLocalDeviceReadSupportedFeaturesÊReferenced from:
/private/var/folders/vr/rdzg63f931z96s37m9y93t0h0000gp/T/bluecove_denise_0/libbl
uecove.jnilib Expected
in:Ê/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetoothÊ
Original comment by danielba...@gmail.com
on 10 Oct 2012 at 8:35
Seems like IOBluetoothLocalDeviceReadSupportedFeatures has been removed by
Apple.https://developer.apple.com/library/mac/#releasenotes/General/APIDiffsMacO
SX10_8/IOBluetooth.html However I have no idea about how to fix it.
Unfortunately.
Original comment by moller2...@gmail.com
on 11 Oct 2012 at 3:48
Is it possible that IOBluetoothLocalDeviceReadSupportedFeatures has been
replaced kBluetoothHCICommandLEReadLocalSupportedFeatures?
Clearly, the old call is not coming back. To un-break this, Apple's new call(s)
need to be added to BlueCove.
Original comment by bob.star...@gmail.com
on 16 Oct 2012 at 1:36
Note that a temporary workaround has been found:
* https://groups.google.com/forum/?hl=en&fromgroups#!msg/bluecove-users/7jWv1V1GC-4/6pShd9vssAEJ
* http://www.uweschmidt.org/wiimote-whiteboard/comment-page-45#comment-246167
As it involves copying a system file (IOBluetooth) from a previous version of
OS X and using DYLD_LIBRARY_PATH it is not a permanent end user solution for
both technical and legal reasons.
Original comment by follower@gmail.com
on 4 Dec 2012 at 12:50
jepp, that worked for me. download the IOBluetooth file from uwe and change the
startup script in order to start eclipse like this:
http://pastebin.com/raw.php?i=TgEcCW2G
Original comment by cpietsch
on 11 Jan 2013 at 12:04
is anybody gettin
/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth lib
somewhere ?
I would like to get some bundling of mine for my java app.
thanks
Original comment by lucas.bigeardel@gmail.com
on 13 Jan 2013 at 7:40
I just created a new version of the OS X stack that utilizes Grand Central
Dispatch for asynchronous tasks and supports the latest 10.8 Bluetooth-Stack.
How could we stabilize and incorporate this into bluecove. I ask in particular
for intensive testing of all the different functions that i could not verify in
my environment.
In addition, this version most likely will not work with older versions of OS
X, so maybe it could be easier to split the two into a pre 10.8 and 10.8+
binary that are loaded depending on the runtime environment.
Original comment by die.paul...@googlemail.com
on 11 Feb 2013 at 10:26
@die.paulinis: I would be very interested in these patches because I have an
application that I can't get to run on OS X 10.8. Do you have the patches
uploaded somewhere or is there a precompiled version with your changes that I
can get access to?
As for the integration with bluecove I think it would be a good idea to create
a new binary for 10.8+ and leave the old binary alone. This way you can easily
make sure that no existing (10.7) functionality will become broken.
Original comment by littlefr...@gmail.com
on 21 Feb 2013 at 8:44
@die.paulinis: I am also very interested in those patches, since I get the same
errors too ...
Original comment by cmueller...@gmail.com
on 8 Apr 2013 at 1:30
Sorry but i did not receive any mails for your comments and was kind of
surprised that nobody was interested in this.
I will figure out some easy way to share the code with you. Most likely i will
push the code to github tomorrow. I will share the location with you ASAP.
Original comment by die.paul...@googlemail.com
on 12 Apr 2013 at 9:31
@die.paulinis I would also be very interested in these changes. Did you have
the chance to upload them somewhere?
Original comment by Smm...@gmail.com
on 16 Apr 2013 at 8:44
@all: You can find the forked repository at github:
https://github.com/ma-ku/bluecove. Actually i did not change the java code and
only worked on the native library. All the changes are made in
OSXStackRFCOMM.mm, mainly i changed everything to utilize GCD and semaphores.
I am able to use the library with LeJOS to program and control my NXT brick.
Unfortunately the transmission to the brick is rather slow since only a few
bytes are sent on each call. If anyone of you knows a way to speed this up, i
would appreciate contributions to the code.
Have fun...
Original comment by die.paul...@googlemail.com
on 16 Apr 2013 at 8:34
I used a workaround to fix this issue for blucat. I modify the
DYLD_LIBRARY_PATH variable to contain an older IOBluetooth library that works.
For this I don't need to change any jar files. You just modify this variable on
new max versions.
Launcher script here:
http://svn.code.sf.net/p/blucat/code/trunk/blucat/blucat
Original comment by jos...@josephpcohen.com
on 20 Apr 2013 at 3:25
Well, i have seen these approaches. Nevertheless i personally prefer a solution
that does not rely on exchanging system libraries. As i already wrote, the
library is working except for the performance issue with the RFCOMM Channel and
i would appreciate a solution to that issue, going with the original system
libraries of OS X 10.8.x.
Original comment by die.paul...@googlemail.com
on 22 Apr 2013 at 2:16
@die.paulinis: Thanks for sharing your changes. I will have a look at it to see
how it performs for my case. (I didn't get any emails for the comments either,
I saw only just now that you responded to my comment)
Original comment by littlefr...@gmail.com
on 10 May 2013 at 12:42
Has this been resolved? i.e. Has Bluecove released a new version that works on
OSX 10.8?
Original comment by cagiva...@gmail.com
on 10 Jun 2013 at 6:11
@ cagiva851: I did a personal build of the required .dylib using XCode and used
this file to replace the original version in the bluecove.jar. Anyway, the code
was released on github so you should be able to do your own build. I personally
have not spend any effort on how to run a complete build of bluecove so maybe
anyone can assist?
Original comment by die.paul...@googlemail.com
on 11 Jun 2013 at 7:52
Hello,
I just download https://github.com/ma-ku/bluecove and I'm still experience very
slow connection to my NXT
Any suggestion?
Serano
Original comment by serano.c...@gmail.com
on 22 Jun 2013 at 6:41
Hi guys,
Have anyone found or documented a working solution, which is replicated by
other people? I tried all suggestions and none works for me. :( Any
guidance would be very much appreciated!
1. I have MAC and I do not believe that there is hcitool equivalent on Mac.
2. A solution from Uwe: Changing the DYLD_LIBRARY_PATH environment variable to
point to the old IOBluetooth library gives this error:
...
22:51:52.723 Java 1.4+ detected: 1.6.0_65; Java HotSpot(TM) 64-Bit Server VM;
Apple Inc.
com.intel.bluetooth.UtilsJavaSE.getLocation(UtilsJavaSE.java:121)
22:51:52.738 Use stack ClassLoader
com.intel.bluetooth.NativeLibLoader.loadAsSystemResource(NativeLibLoader.java:328)
22:51:52.739 set dll dir
/var/folders/3l/0h021ffn68953c7gccvkd4p00000gn/T/bluecove_user_0
com.intel.bluetooth.NativeLibLoader.makeTempName(NativeLibLoader.java:471)
22:51:52.790 Library loaded from
/var/folders/3l/0h021ffn68953c7gccvkd4p00000gn/T/bluecove_user_0/libbluecove.jni
lib
com.intel.bluetooth.NativeLibLoader.loadAsSystemResource(NativeLibLoader.java:371)
22:51:52.790 BluetoothStack selected mac
com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:499)
22:51:52.791 nativeDebugCallback ON
common.cpp:63
22:51:52.791 getLocalDeviceSupportedSoftwareVersion
OSXStack.mm:539
NATIVE: invoke BTOperation GetLocalDeviceVersion
OSXStack.mm(240)
NATIVE: execute BTOperation GetLocalDeviceVersion
OSXStack.mm(223)
NATIVE: finished BTOperation GetLocalDeviceVersion
OSXStack.mm(225)
NATIVE: return BTOperation GetLocalDeviceVersion
OSXStack.mm(248)
22:51:52.795 localDeviceSupportedSoftwareVersion 20000
com.intel.bluetooth.BluetoothStackOSX.initialize(BluetoothStackOSX.java:132)
22:51:52.802 isLocalDeviceFeatureParkMode
OSXStack.mm:497
NATIVE: invoke BTOperation GetBluetoothHCISupportedFeatures
OSXStack.mm(240)
NATIVE: execute BTOperation GetBluetoothHCISupportedFeatures
OSXStack.mm(223)
NATIVE: finished BTOperation GetBluetoothHCISupportedFeatures
OSXStack.mm(225)
Assertion failed: (notificationType ==
kIOBluetoothHCINotificationTypeConfigStateChanged), function
IOBluetoothNotificationLibHCIRawEventHandler, file
/SourceCache/IOBluetoothFamily/IOBluetoothFamily-4080.4.17/Core/Framework/Notifi
cations/IOBluetoothNotificationUserLib.m, line 425.
....
3, Solution from: emnul...@googlemail.com: Changing bluecove.jar to the latest
snapshot taken from this links:
https://github.com/ixd-hof/Processing/tree/master/Examples/Input/Wiimote_Balance
Board/code
gives an error:
...
22:55:28.941 Java 1.4+ detected: 1.6.0_65; Java HotSpot(TM) 64-Bit Server VM;
Apple Inc.
com.intel.bluetooth.UtilsJavaSE.getLocation(UtilsJavaSE.java:121)
22:55:28.950 error Can't load library from path
/Users/user/OpenHab/openhab-runtime java.lang.UnsatisfiedLinkError:
/Users/user/OpenHab/openhab-runtime-1.4.0/libbluecove.jnilib: no suitable
image found. Did find:
/Users/user/OpenHab/openhab-runtime-1.4.0/libbluecove.jnilib: mach-o, but wrong
architecture
com.intel.bluetooth.NativeLibLoader.tryloadFile(NativeLibLoader.java:304)
java.lang.UnsatisfiedLinkError:
/Users/user/OpenHab/openhab-runtime-1.4.0/libbluecove.jnilib: no suitable
image found. Did find:
/Users/user/OpenHab/openhab-runtime-1.4.0/libbluecove.jnilib: mach-o, but wrong
architecture
...
Original comment by de...@google.com
on 2 Dec 2013 at 7:15
You can check out the code from https://github.com/ma-ku/bluecove and compile
it on your machine. Then add the resulting library to your java.library.path.
I've attached the bluecove jar that I use on my machine (compiled some weeks
ago). Maybe it will work for you too.
Original comment by littlefr...@gmail.com
on 4 Dec 2013 at 4:51
Attachments:
Thank you! I will try tonight
Original comment by de...@google.com
on 4 Dec 2013 at 5:52
I upgraded to OSX 10.9 before I tried the attached file and it didn't work.
However I compiled https://github.com/ma-ku/bluecove on my machine and it seems
to work. Actually, it doesn't give any error, it correctly shows unknown /
unpaired devices, but it always shows zero paired devices, when Mac sees
several paired devices. Don't know where to go from here :(
Original comment by de...@google.com
on 10 Dec 2013 at 8:20
How do you look up the paired devices? Looking up paired devices should be
supported (the changes where merged into the codebase at
https://github.com/ma-ku/bluecove). I also use OSX 10.9 and it seems to workf
for me. Can you provide your java code?
Original comment by littlefr...@gmail.com
on 14 Dec 2013 at 12:24
[deleted comment]
Thank's littlefr...@gmail.com!! That jar worked like a charm after struggling
with this problem for a really long time.
bluecove-2.1.2.jar workes great on OSX 10.9.
Original comment by weisss...@gmail.com
on 30 Dec 2013 at 3:20
Hello. I am trying to run a BT app with bluecove on maverick, so I tried to use
the jar file provided by littlefr, but I got this error message
java.lang.UnsatisfiedLinkError:
/private/var/folders/b9/cf61_fyx3jg9p7h3tms0vkk40000gn/T/bluecove_weibel_0/libbl
uecove.jnilib: no suitable image found. Did find:
/private/var/folders/b9/cf61_fyx3jg9p7h3tms0vkk40000gn/T/bluecove_weibel_0/libbl
uecove.jnilib: mach-o, but wrong architecture
I also tried to build the library myself using the github code, but I can't
because of those issues:
The following build commands failed:
CompileC build/bluecove.build/Release/bluecove.build/Objects-normal/i386/commonTest.o commonTest.cpp normal i386 c++ com.apple.compilers.llvm.clang.1_0.compiler
CompileC build/bluecove.build/Release/bluecove.build/Objects-normal/i386/OSXStack.o OSXStack.mm normal i386 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
CompileC build/bluecove.build/Release/bluecove.build/Objects-normal/i386/OSXStackDiscovery.o OSXStackDiscovery.mm normal i386 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
CompileC build/bluecove.build/Release/bluecove.build/Objects-normal/i386/OSXStackSDPQuery.o OSXStackSDPQuery.mm normal i386 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
CompileC build/bluecove.build/Release/bluecove.build/Objects-normal/i386/OSXStackTest.o OSXStackTest.mm normal i386 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(5 failures)
Anyone has any guidance?
Thanks a lot
Nadir
Original comment by nadir.we...@gmail.com
on 27 Jan 2014 at 10:03
I think that my problem was related to the GUI implementation. I used the
standard SWT that for some reasons is 32bit, so I was running my app 32bit. I
now included a 64bit SWT library and I am running my app at 64bit, and it seems
to work.
Still I don't know why I can't build the library though...
NW
Original comment by nadir.we...@gmail.com
on 27 Jan 2014 at 10:32
Hi,
I'm trying to get LEJOS to work on OS X. So far I've been through the following
steps:
1. Clone https://github.com/ma-ku/bluecove
2. Open the bluecove XCode project, set target to 32-bit, and compile the
library (had to remove a few includes which weren't used).
3. Installed ant to compile the bluecove jar file (with success). I replaced
the bluecove.jar in LEJOS with the one I just compiled, which fixed some errors.
So now I only have to get it working with Eclipse.
java.lang.UnsatisfiedLinkError:
/private/var/folders/t3/qv5vkj3j2ks_bnxtrms6gd580000gn/T/bluecove_das_0/libbluec
ove.jnilib: no suitable image found. Did find:
/private/var/folders/t3/qv5vkj3j2ks_bnxtrms6gd580000gn/T/bluecove_das_0/libbluec
ove.jnilib: mach-o, but wrong architecture
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1833)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1019)
at com.intel.bluetooth.NativeLibLoader.loadAsSystemResource(NativeLibLoader.java:400)
at com.intel.bluetooth.NativeLibLoader.isAvailable(NativeLibLoader.java:252)
at com.intel.bluetooth.BlueCoveImpl.loadNativeLibraries(BlueCoveImpl.java:401)
at com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:472)
at com.intel.bluetooth.BlueCoveImpl.access$500(BlueCoveImpl.java:70)
at com.intel.bluetooth.BlueCoveImpl$1.run(BlueCoveImpl.java:1085)
at java.security.AccessController.doPrivileged(Native Method)
at com.intel.bluetooth.BlueCoveImpl.detectStackPrivileged(BlueCoveImpl.java:1083)
at com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1076)
at javax.bluetooth.LocalDevice.getLocalDeviceInstance(LocalDevice.java:75)
at javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:95)
at lejos.pc.comm.NXTCommBluecove.search(NXTCommBluecove.java:45)
at lejos.pc.comm.NXTConnector.search(NXTConnector.java:173)
at lejos.pc.comm.NXTConnector.connectTo(NXTConnector.java:235)
at lejos.pc.comm.NXTConnector.connectTo(NXTConnector.java:55)
at lejos.pc.tools.Upload.upload(Upload.java:38)
at lejos.pc.tools.NXJUpload.run(NXJUpload.java:93)
at lejos.pc.tools.NXJUpload.start(NXJUpload.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at lejos.pc.tools.ToolStarter.startTool(ToolStarter.java:31)
at lejos.pc.tools.NXJUpload.main(NXJUpload.java:29)
Native Library bluecove not available
leJOS NXJ> Error: Search failed.
leJOS NXJ> Caused by lejos.pc.comm.NXTCommException: Bluetooth stack not
detected
leJOS NXJ> at lejos.pc.comm.NXTCommBluecove.search(NXTCommBluecove.java:54)
leJOS NXJ> Caused by javax.bluetooth.BluetoothStateException: BlueCove library
bluecove not available;
load resource
[/var/folders/t3/qv5vkj3j2ks_bnxtrms6gd580000gn/T/bluecove_das_0/libbluecove.jni
lib]
/private/var/folders/t3/qv5vkj3j2ks_bnxtrms6gd580000gn/T/bluecove_das_0/libbluec
ove.jnilib: no suitable image found. Did find:
/private/var/folders/t3/qv5vkj3j2ks_bnxtrms6gd580000gn/T/bluecove_das_0/libbluec
ove.jnilib: mach-o, but wrong architecture
load [bluecove] no bluecove in java.library.path
leJOS NXJ> at
com.intel.bluetooth.BlueCoveImpl.loadNativeLibraries(BlueCoveImpl.java:403)
So it seems that the only thing I'm missing is to properly set
java.library.path. Any hints on this? I tried the things that people have shown
so far, but with no luck.
Thanks.
Original comment by dan1990
on 30 Jan 2014 at 1:47
@dan1990: Mabe this helps:
http://stackoverflow.com/questions/2282548/java-lang-unsatisfiedlinkerror-mach-o
-but-wrong-architecture-on-mac10-6-2
Original comment by littlefr...@gmail.com
on 30 Jan 2014 at 6:38
#30: I found out that running the LEJOS tools directly (without Eclipse) on a
32-bit JVM 6 gives the same error. From the source of the LEJOS tools I found
out that it automatically sets -d32 on OS X, so this doesn't seem to be the
cause of the error.
I just tried doing it all over and now I get the error (I realized that I had
some old bluecove jars in the classpath, so changes to the new one never had
any effect since it was loaded later):
java.lang.NoClassDefFoundError: javax/bluetooth/DiscoveryListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:98)
at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:91)
at lejos.pc.comm.NXTConnector.search(NXTConnector.java:111)
at lejos.pc.comm.NXTConnector.connectTo(NXTConnector.java:235)
at lejos.pc.comm.NXTConnector.connectTo(NXTConnector.java:55)
at lejos.pc.tools.Upload.upload(Upload.java:38)
at lejos.pc.tools.NXJUpload.run(NXJUpload.java:93)
at lejos.pc.tools.NXJUpload.start(NXJUpload.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at lejos.pc.tools.ToolStarter.startTool(ToolStarter.java:31)
at lejos.pc.tools.NXJUpload.main(NXJUpload.java:29)
Caused by: java.lang.ClassNotFoundException: javax.bluetooth.DiscoveryListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 28 more
uploading the program failed with exit status 1
Thanks for helping out with this :-)
Original comment by dan1990
on 6 Feb 2014 at 11:45
How I did the following:
1. Clone https://github.com/ma-ku/bluecove
2. Open the bluecove XCode project, set target to 32-bit, and compile the
library (had to remove a few includes which weren't used). This produces
libbluecove.jnilib
3. I then ran ant in the "bluecove" directory which produces two directories:
com and javax, which contain various class files.
4. I zipped the com, javax and libbluecove.jnilib and renamed the file to
"bluecove.jar" and replaced it with the one which ships with LEJOS.
When running one of the LEJOS tools which connects via USB, I get the following
error:
java.lang.UnsatisfiedLinkError:
com.intel.bluetooth.BluetoothStackOSX.getLibraryVersion()I
at com.intel.bluetooth.BluetoothStackOSX.getLibraryVersion(Native Method)
at com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:487)
at com.intel.bluetooth.BlueCoveImpl.access$500(BlueCoveImpl.java:70)
at com.intel.bluetooth.BlueCoveImpl$1.run(BlueCoveImpl.java:1085)
at java.security.AccessController.doPrivileged(Native Method)
at com.intel.bluetooth.BlueCoveImpl.detectStackPrivileged(BlueCoveImpl.java:1083)
at com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1076)
at javax.bluetooth.LocalDevice.getLocalDeviceInstance(LocalDevice.java:75)
at javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:95)
at lejos.pc.comm.NXTCommBluecove.search(NXTCommBluecove.java:45)
at lejos.pc.comm.NXTConnector.search(NXTConnector.java:173)
at lejos.pc.tools.NXJBrowser.run(NXJBrowser.java:99)
at lejos.pc.tools.NXJBrowser.start(NXJBrowser.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at lejos.pc.tools.ToolStarter.startTool(ToolStarter.java:31)
at lejos.pc.tools.ToolStarter$1.run(ToolStarter.java:15)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
It seems that I'm getting closer, but I don't know how to proceed from here.
Any help is greatly appreciated :-)
- Dan
Original comment by dan1990
on 6 Feb 2014 at 12:11
Building the ma-ku fork from github I hit an issue where javah was not
generating headers so I had missing files for some native includes
#include "com_intel_bluetooth_NativeTestInterfaces.h"
The issue turned out to be the javah task I had for maven 2 is expecting a
different syntax
In bluecove/bluecove/pom.xml
<configuration>
<outputDirectory>${native.source.dir}</outputDirectory>
<classNames>...
Had to be changed to this - seems the config property names have changed.
<configuration>
<javahOutputDirectory>${native.source.dir}</javahOutputDirectory>
<javahClassNames>
Original comment by lordpi...@mac.com
on 15 Mar 2014 at 1:40
I've built the library successfully from ma-ku fork, but I get an hard crash
(log attached).
All tests during build are successful.
The only difference I see is that I'm using a recent VM, instead of the 1.6
Did anyone share the same problem or a clue?
Mario
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
Original comment by m.NegroP...@xs2theworld.com
on 2 Aug 2014 at 10:32
Attachments:
Since development appears to have stopped back in 2011, I suspect you're on
your own.
Original comment by paul.har...@technowizardry.co.uk
on 3 Aug 2014 at 9:24
I found for 10.9 many things break. I found the jarias bluecove update
(https://github.com/jarias/bluecove) is best and allows RFCOMM sockets but
scanning is broken and I think many other things.
I attributed it not working in 10.9 to Apple changing their interface. I was
running bluecove on 10.7 and 10.8 by just setting DYLD_LIBRARY_PATH to point to
an old IOBluetooth object from 10.6. But this doesn't work anymore so I think
Apple changed things.
Original comment by jos...@josephpcohen.com
on 3 Aug 2014 at 2:41
I use this library for my project which need to connect LEGO Mindstorms NXT via
bluetooth, and had problems on Max OS X Yosemite Beta 2.
I've rebuild the bluecove library with some fixes form the jarias update
(https://github.com/jarias/bluecove), and it works for me. I believe this can
work both on Mavericks and Yosemite Beta 2.
-
Kris
Original comment by mrcotter...@gmail.com
on 15 Sep 2014 at 4:52
Attachments:
Hi Kris,
your version works much better but I'm still having issues while reconnecting.
Can you share your fixes to the jarias update?
Mario
Original comment by m.NegroP...@xs2theworld.com
on 24 Oct 2014 at 1:12
Hi, are the problems on Yosemite sorted out by now? If so, can someone please
compile a version that will run on 10.8 up to the latest 10.10.X?
Thanks,
Uwe
Original comment by uschmidt83@googlemail.com
on 3 Dec 2014 at 6:34
Hello all... I am the developer of www.aioremote.net mobile remote app and was
searching a lot for a fix for bluetoth on mac and finally found the fix here.
Thank you very much
I tested bluecove-2.1.1.jar provided by Kris and it worked on my Mac 10.10
Yosemite
I will do more tests before updating my desktop app but I wanted to let you
know the result of my initial tests
Original comment by supp...@aioremote.net
on 6 Dec 2014 at 2:28
I have had success on Mac OSX 10.9.5 using the bluecove version from:
https://github.com/machaval/bluecove
The issue with slow interaction with Lego NXT that was reported above can be
fixed by making some
changes to the OSXStackRFCOMM.mm file (in bluecove/src/main/c/intelbth). In a
number of places the following is used:
dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_MSEC * 500));
Performance can be improved (at least in my case) by changing all of those
lines to:
dispatch_time(DISPATCH_TIME_NOW, 1));
The modified file is attached. Just replace it in the source from the git
above and run maven in the bluecove directory.
Or... I have also attached a the resulting Jar file that may work for you
straight away.
Good luck!
Original comment by braug...@gmail.com
on 4 Mar 2015 at 10:04
Attachments:
[deleted comment]
Thanks a lot! It worked perfectly and 3-5 times faster.
Is there a fix for the reconnect bug?
I hope there is, because disconnecting the NXT and restarting eclipse needs as
much as time as if I plug the USB cable in and out.
But thanks again for the great work.
Original comment by Benedikt...@gmail.com
on 2 Jun 2015 at 9:03
Original issue reported on code.google.com by
JesseColinScott
on 6 Sep 2012 at 9:07Attachments: