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




|------------>
| From:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |"David Conde" <[email protected]>                                              
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |"'Equinox development mailing list'" <[email protected]>               
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| 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: [email protected] [mailto:[email protected]
]
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: [email protected] [mailto:[email protected]
]
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" <[email protected]> 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:[email protected] [: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 [email protected] https://dev.eclipse.org/mailman/listinfo/
>
> equinox-dev

--
Mark Hoffmann
e-Mail: [email protected]
______________________________________________________
GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to