Yep, you have to use the same levels of Java and JNI code. Also you can't run make directly from the directory. As it says in the README:
********* * Build * ********* The ANT tool uses XML buildfiles to create the project. Run ant in the toplevel directory to list all available targets. So when you run ant you get: Buildfile: build.xml help: [echo] Buildfile for javax.usb Linux Implementation [echo] [echo] Targets: [echo] [echo] all == clean compile jars jdoc [echo] clean Clean everything [echo] compile Compile all classes [echo] help Show this help [echo] jars Create JAR files [echo] jdoc Create JavaDOC [echo] As it says, you can either run "ant compile", which will compile all the Java code and also create the native library (in the lib/ directory), or run "ant jars" which will do the compile and create the jar file (in the lib/ directory). Trying to run "make" directly from the command line in the JNI directory will fail as you need other things done first. On Thu, Dec 10, 2009 at 11:09 AM, Lee M Surprenant <lmsur...@us.ibm.com>wrote: > After some more digging, I realized I was using the 1.0.1 native code with > the 1.0.2 java code...mea culpa. > > At first I tried to make the 1.0.2 native code by running make from the jni > directory, but hit the following errors: > i...@ubuntu:~/Downloads/javax-usb-ri-linux-102/jni$ make > gcc -I/include -I/include/linux -Wall -fPIC -c JavaxUsbKernel.c > In file included from JavaxUsbKernel.c:11: > JavaxUsb.h:14:44: error: com_ibm_jusb_os_linux_JavaxUsb.h: No such file or > directory > In file included from JavaxUsb.h:15, > from JavaxUsbKernel.c:11: > JavaxUsbLog.h:14:17: error: jni.h: No such file or directory > In file included from JavaxUsb.h:15, > from JavaxUsbKernel.c:11: > JavaxUsbLog.h:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ > before ‘tracing’ > JavaxUsbLog.h:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ > before ‘trace_default’ > JavaxUsbLog.h:20: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ > before ‘trace_hotplug’ > JavaxUsbLog.h:21: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ > before ‘trace_xfer’ > JavaxUsbLog.h:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ > before ‘trace_urb’ > JavaxUsbLog.h:25: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ > before ‘trace_flush’ > In file included from JavaxUsb.h:16, > from JavaxUsbKernel.c:11: > JavaxUsbChecks.h:61: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘get_exception’ > JavaxUsbChecks.h:74: error: expected ‘)’ before ‘*’ token > JavaxUsbChecks.h:83: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugGetObjectClass’ > JavaxUsbChecks.h:90: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugGetMethodID’ > JavaxUsbChecks.h:97: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugGetFieldID’ > JavaxUsbChecks.h:104: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugNewStringUTF’ > JavaxUsbChecks.h:111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugNewGlobalRef’ > JavaxUsbChecks.h:118: error: expected declaration specifiers or ‘...’ > before ‘JNIEnv’ > JavaxUsbChecks.h:118: error: expected declaration specifiers or ‘...’ > before ‘jobject’ > JavaxUsbChecks.h: In function ‘debugDeleteLocalRef’: > JavaxUsbChecks.h:120: error: ‘env’ undeclared (first use in this function) > JavaxUsbChecks.h:120: error: (Each undeclared identifier is reported only > once > JavaxUsbChecks.h:120: error: for each function it appears in.) > JavaxUsbChecks.h:120: error: ‘object’ undeclared (first use in this > function) > JavaxUsbChecks.h:121: warning: implicit declaration of function > ‘debug_exception’ > JavaxUsbChecks.h: At top level: > JavaxUsbChecks.h:124: error: expected declaration specifiers or ‘...’ > before ‘JNIEnv’ > JavaxUsbChecks.h:124: error: expected declaration specifiers or ‘...’ > before ‘jobject’ > JavaxUsbChecks.h: In function ‘debugDeleteGlobalRef’: > JavaxUsbChecks.h:126: error: ‘env’ undeclared (first use in this function) > JavaxUsbChecks.h:126: error: ‘object’ undeclared (first use in this > function) > JavaxUsbChecks.h: At top level: > JavaxUsbChecks.h:130: error: expected declaration specifiers or ‘...’ > before ‘JNIEnv’ > JavaxUsbChecks.h:130: error: expected declaration specifiers or ‘...’ > before ‘jbyteArray’ > JavaxUsbChecks.h:130: error: expected declaration specifiers or ‘...’ > before ‘jsize’ > JavaxUsbChecks.h:130: error: expected declaration specifiers or ‘...’ > before ‘jsize’ > JavaxUsbChecks.h:130: error: expected declaration specifiers or ‘...’ > before ‘jbyte’ > JavaxUsbChecks.h: In function ‘debugGetByteArrayRegion’: > JavaxUsbChecks.h:132: error: ‘env’ undeclared (first use in this function) > JavaxUsbChecks.h:132: error: ‘array’ undeclared (first use in this > function) > JavaxUsbChecks.h:132: error: ‘offset’ undeclared (first use in this > function) > JavaxUsbChecks.h:132: error: ‘length’ undeclared (first use in this > function) > JavaxUsbChecks.h:132: error: ‘buffer’ undeclared (first use in this > function) > JavaxUsbChecks.h: At top level: > JavaxUsbChecks.h:136: error: expected declaration specifiers or ‘...’ > before ‘JNIEnv’ > JavaxUsbChecks.h:136: error: expected declaration specifiers or ‘...’ > before ‘jbyteArray’ > JavaxUsbChecks.h:136: error: expected declaration specifiers or ‘...’ > before ‘jsize’ > JavaxUsbChecks.h:136: error: expected declaration specifiers or ‘...’ > before ‘jsize’ > JavaxUsbChecks.h:136: error: expected declaration specifiers or ‘...’ > before ‘jbyte’ > JavaxUsbChecks.h: In function ‘debugSetByteArrayRegion’: > JavaxUsbChecks.h:138: error: ‘env’ undeclared (first use in this function) > JavaxUsbChecks.h:138: error: ‘array’ undeclared (first use in this > function) > JavaxUsbChecks.h:138: error: ‘offset’ undeclared (first use in this > function) > JavaxUsbChecks.h:138: error: ‘length’ undeclared (first use in this > function) > JavaxUsbChecks.h:138: error: ‘buffer’ undeclared (first use in this > function) > JavaxUsbChecks.h: At top level: > JavaxUsbChecks.h:142: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugGetArrayLength’ > JavaxUsbChecks.h:149: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugGetStaticMethodID’ > JavaxUsbChecks.h:156: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘debugGetStaticFieldID’ > In file included from JavaxUsbKernel.c:11: > JavaxUsb.h:109: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:110: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:112: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:113: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:115: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:116: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:118: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:119: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:121: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:122: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:124: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:125: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:126: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:127: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:129: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:130: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:131: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:132: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:192: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:193: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:203: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:230: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:246: error: expected ‘)’ before ‘*’ token > JavaxUsb.h:260: error: expected ‘)’ before ‘*’ token > JavaxUsbKernel.c: In function ‘setKernelVersion’: > JavaxUsbKernel.c:38: error: ‘tracing’ undeclared (first use in this > function) > JavaxUsbKernel.c:38: error: ‘trace_xfer’ undeclared (first use in this > function) > JavaxUsbKernel.c:38: error: ‘JNI_TRUE’ undeclared (first use in this > function) > JavaxUsbKernel.c:38: error: ‘trace_flush’ undeclared (first use in this > function) > JavaxUsbKernel.c:38: error: ‘trace_hotplug’ undeclared (first use in this > function) > JavaxUsbKernel.c:38: error: ‘trace_urb’ undeclared (first use in this > function) > JavaxUsbKernel.c:38: error: ‘trace_default’ undeclared (first use in this > function) > make: *** [JavaxUsbKernel.o] Error 1 > > Is this a bug or am I just doing something dumb? > > Anyway, switching to 1.0.1 for the javax-usb-ri-linux classes fixed my > issues. > [image: Inactive hide details for Lee M Surprenant---12/09/2009 06:10:47 > PM---I'm having some trouble trying to run the javax-usb-ri-li]Lee M > Surprenant---12/09/2009 06:10:47 PM---I'm having some trouble trying to run > the javax-usb-ri-linux package on a fairly new linux (2.6.31.1 > > > From: > Lee M Surprenant/Raleigh/i...@ibmus > To: > javax-usb-devel@lists.sourceforge.net > Date: > 12/09/2009 06:10 PM > Subject: > [javax-usb-devel] jni error with javax.usb on ubuntu karmic koala > ------------------------------ > > > > I'm having some trouble trying to run the javax-usb-ri-linux package on a > fairly new linux (2.6.31.1). After manually mounting /proc/bus/usb I seem to > be hitting the same problem with both my client and the sample swing client. > Filesystem info and trace messages below: > > i...@ubuntu:/proc/bus/usb$ ls -l ???/??? > -rw-rw-rw- 1 root root 43 2009-12-09 17:29 001/001 > -rw-rw-rw- 1 root root 43 2009-12-09 17:29 002/001 > -rw-rw-rw- 1 root root 43 2009-12-09 17:29 003/001 > -rw-rw-rw- 1 root root 43 2009-12-09 17:29 004/001 > -rw-rw-rw- 1 root root 43 2009-12-09 17:29 005/001 > -rw-rw-rw- 1 root root 52 2009-12-09 17:29 005/003 > -rw-rw-rw- 1 root root 43 2009-12-09 17:29 006/001 > -rw-rw-rw- 1 root root 111 2009-12-09 17:29 006/002 > -rw-rw-rw- 1 root root 43 2009-12-09 17:29 007/001 > > > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/001 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/002/001 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/003/001 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/004/001 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/004/010 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/005/001 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/005/003 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/006/001 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/006/002 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/007/001 > [default](2) JavaxUsb.h.open_device[216] Opening node /proc/bus/usb/001/001 > [xfer](2) > JavaxUsbDeviceProxy.c.Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy[75] > Got Request > [xfer](5) JavaxUsbDeviceProxy.c.submitRequest[127] Submitting Request. > [xfer](5) JavaxUsbDeviceProxy.c.submitRequest[131] Submitting Pipe Request. > [default](0) JavaxUsbChecks.h.debug_exception[75] !! JNI Exception : file > (JavaxUsbPipeRequest.c) function (pipe_request) line (41) > > [default](0) JavaxUsbChecks.h.debug_exception[76] !!!!! Failure at : > (*env)->GetMethodID(env,LinuxPipeRequest,"setUrbAddress","(I)V") > > > This seems to occur on the fir Pipe Request. In the swing client this is a > control message with length 256. In my client, this is an interrupt or bulk > message with length 64. > Any ideas? > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > javax-usb-devel mailing list > javax-usb-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/javax-usb-devel > > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > javax-usb-devel mailing list > javax-usb-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/javax-usb-devel > >
------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev
_______________________________________________ javax-usb-devel mailing list javax-usb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/javax-usb-devel