Yes, most of RTI Connext DDS examples should run on Mac as well as on any other supported platform. You can go ahead and install the RTI Connext DDS host installer for Darwin and appropriate target for your Mac (i.e., x64Darwin12clang4.1 or x64Darwin14clang6.0).
If you run into any problem, please let us know and we will help you figure out a solution. Also, out of curiosity, what problems did you have using previous versions of RTI Connext DDS on Mac?
I am able to reproduce your problem running Java 8 on OSX El Capitan. I have loading the same libraries Java 7 JRE that comes is shipped with RTI Connext DDS and it works fine. Are you running Java 8? You can test it like this:
$ `which java` -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
There are two main problems that RTI is addressing as part a fix to an issue called CORE-7070. There are two problems here:
The Java Virtual Machine does not seem to automatically load libraries from the DYLD_LIBRARY_PATH. You need to explictly indicate the location from where to load libraries passing the -Djava.library.path argument when running Java (you will need to add it to runPub.sh and runPub.shas follows):
#Run example
$JAVA $RTI_JAVA_OPTION -Djava.library.path="$DYLD_LIBRARY_PATH" -classpath objs:"$NDDSHOME/lib/java/nddsjava.jar" com.rti.simple.HelloPublisher "$@"
RTI Connext DDS libraries were not linked using the -install_name @loader_path/option and therefore when you apply the changes in 1, the JVM will only be able to load libnddsjava.dylib, which will not resolve its dependency on libnddsc.dylib and libnddscore.dylib. To work around this issue you can do the following:
Hi Gan,
Yes, most of RTI Connext DDS examples should run on Mac as well as on any other supported platform. You can go ahead and install the RTI Connext DDS host installer for Darwin and appropriate target for your Mac (i.e., x64Darwin12clang4.1 or x64Darwin14clang6.0).
If you run into any problem, please let us know and we will help you figure out a solution. Also, out of curiosity, what problems did you have using previous versions of RTI Connext DDS on Mac?
Fernando.
Hm. When I try to run the simple java example I get the error:
Hi Gan,
I am able to reproduce your problem running Java 8 on OSX El Capitan. I have loading the same libraries Java 7 JRE that comes is shipped with RTI Connext DDS and it works fine. Are you running Java 8? You can test it like this:
There are two main problems that RTI is addressing as part a fix to an issue called CORE-7070. There are two problems here:
#Run example $JAVA $RTI_JAVA_OPTION -Djava.library.path="$DYLD_LIBRARY_PATH" -classpath objs:"$NDDSHOME/lib/java/nddsjava.jar" com.rti.simple.HelloPublisher "$@"
-install_name @loader_path/
option and therefore when you apply the changes in 1, the JVM will only be able to load libnddsjava.dylib, which will not resolve its dependency on libnddsc.dylib and libnddscore.dylib. To work around this issue you can do the following:Please let me know you can get the example to run using this workaround. The issue will be addressed in future RTI Connext DDS releases.
Thanks,
Fernando.
Works wonderfully.
Was this issue resolved? I still see this. Appreciate any help. Thanks.