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

Reply via email to