Hi again,
I have been reading something that could help me with my problem,
https://www.blogger.com/comment.g?blogID=3096964353090017094&postID=2373378248586402445&page=1
Since I am compiling my classes in Windows XP, using Eclipse, and
exporting the jars in order to be installed in Equinox framework on UBUNTU (in
console way), the different environment between the UBUNTU JVM and Equinox JVM
could be the guilty of my problem. Am I wrong? How could I match the JVM from
Equinox so that use the same JVM of UBUNTU, because of in UBUNTU was tested
without Equinox and the Java applications which used LIRC packages worked fine.
Any idea?
Thanks
De: equinox-dev-bounces@xxxxxxxxxxx
[mailto:equinox-dev-bounces@xxxxxxxxxxx] En nombre de David Conde
Enviado el: jueves, 20 de agosto de 2009 12:26
Para: 'Equinox development mailing list'
Asunto: RE: [equinox-dev] Using LIRc library in Equinox
Hi again, and thank you very much for your ideas,
I have been for trying to solve this problem for 5 days and I do
not get the solution.
I am going to explain the steps in order to show what I have been
doing so that perhaps it would be possible to find a mistake in my process.
I am working compiling my classes in Eclipse in Windows XP and
exporting my bundles with the options Export from Eclipse, so that I get a
.jar. Then I use this jar files and put them in another machine working in
Ubuntu, where I launch Equinox.jar framework in CONSOLE MODE.
Firstly I tried to relate LIRC packages with the bundle which
uses these packages through I got the LIRC packages source from JLIRC website,
creating a new bundle and exporting these packages so that other bundles which
want to use LIRC classes can do it (by importing these packages)
I got java.lang.NoClassDefFoundError:
Could not initialize class org.lirc.socket. UnixSocketImpl.
In order to solve this problem I have also tried to wrap LIRC
packages in a new bundle, and adding Require-Bundle header to the manifest in
those bundles which need to use LIRC classes.
I add libjunixsocket.so and junixsocket.c to the root where I
have my jar files (bundles jar files), also I am launching the Equinox by
console with the next command: -vmargs
–Djava.library.path=path_where_libjunixsocket.so is.
It is odd because the first time that I launch the framework
without having the bundle which uses LIRC packages installed, I got when I
start this bundle: java.lang.exceptionininitializererror: in the class
org.lirc.socket.UnixSocket and other times I got
java.lang.UnsatisfiedLinkError: Can’t load library:
/org/lirc/socket/libjunixsocket.so. but if I have installed this bundle and I
launch again Equinox framework I continue having ava.lang.NoClassDefFoundError:
Could not initialize class org.lirc.socket. UnixSocketImpl.
It is strange because I have tried with a simple example in Java
without OSGI and the LIRC application worked fine.
Any idea?
Thanks
De:
equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] En
nombre de Thomas Watson
Enviado el: martes, 18 de agosto de 2009 15:01
Para: Equinox development mailing list
Asunto: RE: [equinox-dev] Using LIRc library in Equinox
I am aware of the following Bundle-NativeCode
bugs in PDE. You may have stumbled into another one. Please open a bug against
PDE.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=285229
https://bugs.eclipse.org/bugs/show_bug.cgi?id=284784
Another option is to just put the library at the root directory of your bundle.
Equinox will search for it by default without and Bundle-NativeCode header.
(Note this is legacy behavior of Eclipse and not OSGi spec'ed behavior).
Tom
"David Conde" ---08/18/2009 06:57:47 AM---Hi
again,

From:
|

"David Conde"
<dconde@xxxxxxxx>
|

To:
|

"'Equinox development mailing list'"
<equinox-dev@xxxxxxxxxxx>
|

Date:
|

08/18/2009 06:57 AM
|

Subject:
|

RE: [equinox-dev] Using LIRc library in
Equinox
|
Hi again,
I have got the Libjunixsocket.so and put it in the classpath path, but it
is
does not work, either I have tried putting this library into the bundle,
using BUndle Native-Code in the Manifest, but I am not able to export from
Eclipse when I use this.
The idea is I have a LIRC packages, which were wraping into a bundle with
the Eclipse option, New Project--> Plug-in Projects--> Plug-in from
existing
JAR archives. I use this bundle LIRCbundle as required bundle in my main
bundle.
I guess I would have to put the native libraries (Junixsocket.so) into to
my
LIRCBundle, using the Bundle Native-Code header. The problem is that when I
use this I am not able to export the bundle without any problema shown.
Any idea?
Thanks
-----Mensaje original-----
De: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx]
En nombre de David Conde
Enviado el: lunes, 17 de agosto de 2009 13:01
Para: 'Equinox development mailing list'
Asunto: RE: [equinox-dev] Using LIRc library in Equinox
Hi Mark,
I have tried wrapping the LIRC.jar libraries in a bundle, and adding like
Required-Bundle in the different Bundles' Manifest where they use this
classes. The problem is that I continue getting the same Exception.
I have looking the source code from LIRC packages and I found a static code
where I guess LIRC packages use JNI libraries, what Do I have to do with
this?
public class UnixSocketImpl {
static {
// Loads the JNI library from the directory of this class
String libname = System.mapLibraryName("junixsocket");
// uses getFile() instead of getPath() as getPath() is not
available in JDK1.2.2
String libpath =
UnixSocketImpl.class.getResource(libname).getFile();
System.load(libpath);
}
....
}
How should I treat this code in order to adapt with OSGI? I mean, I have
tried launch a simple application using LIRC libraries and it worked fine,
but when I tried to use LIRC packages from OSGI I get :
java.lang.NoClassDefFoundError: Could not initialize class
org.lirc.socket.UnixSocketImpl.
....
I tried with -vmargs -Djava.library.path=path_to_lirc_libs
But nothing new appears
Perhaps, the question is easier, how do I have to do when I have JNI
classes
in my bundles?
Thank you in advance
-----Mensaje original-----
De: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx]
En nombre de Mark Hoffmann
Enviado el: viernes, 14 de agosto de 2009 14:38
Para: Equinox development mailing list
Asunto: RE: [equinox-dev] Using LIRc library in Equinox
Hi,
just an idea. Maybe jlirc works with JNI? Maybe you have to give the
library
path to the VM similar to subclipse?
Like: -vmargs -Djava.library.path=path_to_lirc_libs
Mark
"David Conde" <dconde@xxxxxxxx> schrieb am 14.08.2009
14:23:22:
>
> The problem can be because OSGI does not recognize the LIRC daemon,
> because I have tried to introduce all the classes from LIRC packages
> in my bundle and I have the same result. I do not know if I have to
> do something special to relate the OSGI framework with the LIRC
> daemon in Ubuntu, or include some libraries. I do not know much about
> LIRC but I think that is a daemon which takes data from remote
> control and then send this information to a socket, so I think my
> bundle just should interact with a “socket”, but there
> are an API to use LIRC in Java called JLIRC which I think should be
> enough.
>
> Any idea will help me.
>
> Thanks
>
> De:equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@
> eclipse.org] *En nombre de *David Conde
> *Enviado el:* viernes, 14 de agosto de 2009 11:50
> *Para:* 'Equinox development mailing list'
> *Asunto:* [equinox-dev] Using LIRc library in Equinox
>
> Hi,
>
> I am trying to use LIRC libraries in order to use remote controls in
> my bundles running on Equinox.
>
> For this task, I download de JLIRC source and put it all together in
> a new bundle called RemoteLIRC, then I exported the next packages:
>
> -org.lirc
>
> -org.lirc.socket
>
> -org.lirc.ui
>
> -org.lirc.utils
>
> Then I imported these packages in another bundle called Remote
> Manager which use some of the classes defined in these packages.
>
> I did not get any error in compilation time with Eclipse but when I
> tried to launch Remote Manager by console I got a java.lang.
> NoClassDefFoundError: Could not initialize class org.lirc.socket.
> UnixSocketImpl
>
> I do not know If I am putting right the LIRC packages or is it a
> problem from sockets?
>
> Any Idea?
>
> Thank you in advance
> _______________________________________________ equinox-dev mailing
> list equinox-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/
>
> equinox-dev
--
Mark Hoffmann
e-Mail: mark.hoffmann@xxxxxx
______________________________________________________
GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev