• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Attn: Wacom Tablet Users

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.
Okay, I installed v24 and the applet load this time.
But that's pointless because the moment I bring anything to tablet, the applet crashes.
Here's the output:

Code:
ripps@ripps-desktop:~/Downloads/jtablet-sdk-v0.9.5_linux/c++src$ make test_applet2
cd ../examples && appletviewer JTablet-test2.html
using java 2! (v1.4+!)
0        INFO: 	Initializing tablets. Version 24 for X11

0        INFO: 	Closing all known tablets.
0        INFO: 	Tablet(s) closed.
0        INFO: 	Connected to X server.
0        INFO: 	Enumerating devices...
0        DEBUG:	Found: deviceInfo[0].name = Virtual core keyboard, type = 0, id = 0
0        INFO: 	Constructing new XTabletDevice (id = 0, type = 0
0        INFO: 	Constructing new XWacomDevice (id = 0, type = 0
0        DEBUG:	   Verifying compatibility:
0        DEBUG:	      + use = 1
0        DEBUG:	         ! Not an extension device.
0        DEBUG:	         ! Not an extension pointer.
0        INFO: 	         + Device failed test, but allowing anyway...
0        DEBUG:	      + type = 0
0        DEBUG:	      + name = Virtual core keyboard
0        DEBUG:	   Detected 1 classes:
0        DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
0        DEBUG:	   Selecting extension events:
0        DEBUG:	      ! Couldn't open the device.
0        DEBUG:	Found: deviceInfo[1].name = Virtual core pointer, type = 0, id = 1
0        INFO: 	Constructing new XTabletDevice (id = 1, type = 0
0        INFO: 	Constructing new XWacomDevice (id = 1, type = 0
0        DEBUG:	   Verifying compatibility:
0        DEBUG:	      + use = 0
0        DEBUG:	         ! Not an extension device.
0        DEBUG:	         ! Not an extension pointer.
0        INFO: 	         + Device failed test, but allowing anyway...
0        DEBUG:	      + type = 0
0        DEBUG:	      + name = Virtual core pointer
0        DEBUG:	   Detected 2 classes:
0        DEBUG:	      + Class 0 is a ButtonClass. There are 32 buttons.
0        DEBUG:	      + Class 1 is a ValuatorClass. There are 2 valuators.
0        DEBUG:	         * Valuator #0: -1 - 0 (resolution: 0)
0        DEBUG:	         * Valuator #1: -1 - 0 (resolution: 0)
10000    DEBUG:	   Selecting extension events:
10000    DEBUG:	      ! Couldn't open the device.
10000    DEBUG:	Found: deviceInfo[2].name = Generic Keyboard, type = 94, id = 2
10000    INFO: 	Constructing new XTabletDevice (id = 2, type = 94
10000    INFO: 	Constructing new XWacomDevice (id = 2, type = 94
10000    DEBUG:	   Verifying compatibility:
10000    DEBUG:	      + use = 3
10000    DEBUG:	         ! Not an extension device.
10000    DEBUG:	         ! Not an extension pointer.
10000    INFO: 	         + Device failed test, but allowing anyway...
10000    DEBUG:	      + type = 94
10000    DEBUG:	         ! Keyboard not supported.
10000    DEBUG:	      + name = Generic Keyboard
10000    DEBUG:	Found: deviceInfo[3].name = Wacom Mouse, type = 221, id = 3
10000    INFO: 	Constructing new XTabletDevice (id = 3, type = 221
10000    INFO: 	Constructing new XWacomDevice (id = 3, type = 221
10000    DEBUG:	   Verifying compatibility:
10000    DEBUG:	      + use = 4
10000    DEBUG:	      + type = 221
10000    DEBUG:	      + name = Wacom Mouse
10000    DEBUG:	   Detected 3 classes:
10000    DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
10000    DEBUG:	      + Class 1 is a ButtonClass. There are 5 buttons.
10000    DEBUG:	      + Class 2 is a ValuatorClass. There are 6 valuators.
10000    DEBUG:	         * Valuator #0: 10208 - 0 (resolution: 2032)
10000    DEBUG:	         * Valuator #1: 7424 - 0 (resolution: 2032)
10000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
10000    DEBUG:	         * Valuator #3: 899 - -900 (resolution: 1)
10000    DEBUG:	         * Valuator #4: 1023 - -1023 (resolution: 1)
10000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
10000    DEBUG:	   Selecting extension events:
10000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
10000    DEBUG:	         eventTable[0][0] = 84
10000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
10000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
10000    DEBUG:	         eventTable[1][0] = 85
10000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
10000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
10000    DEBUG:	         eventTable[2][0] = 83
10000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
10000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
10000    DEBUG:	         eventTable[3][0] = 88
10000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
10000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
10000    DEBUG:	         eventTable[4][0] = 86
10000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
10000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
10000    DEBUG:	         eventTable[5][0] = 87
10000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
10000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
10000    DEBUG:	         eventTable[6][0] = 82
10000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
10000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
10000    DEBUG:	         eventTable[7][0] = 81
10000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
10000    DEBUG:	      + device: 3   type: 80   base: 79   class: 0   offset: 1
10000    DEBUG:	         eventTable[8][0] = 80
10000    DEBUG:	         * eventTable[8][1] = XI_DeviceKeyRelease
10000    DEBUG:	      + device: 3   type: 79   base: 79   class: 0   offset: 0
10000    DEBUG:	         eventTable[9][0] = 79
10000    DEBUG:	         * eventTable[9][1] = XI_DeviceKeyPress
10000    DEBUG:	      ? device: 3   type: 84
10000    DEBUG:	      ? device: 3   type: 85
10000    DEBUG:	      ? device: 3   type: 83
10000    DEBUG:	      ? device: 3   type: 88
10000    DEBUG:	      ? device: 3   type: 86
10000    DEBUG:	      ? device: 3   type: 87
10000    DEBUG:	      ? device: 3   type: 82
10000    DEBUG:	      ? device: 3   type: 81
10000    DEBUG:	      ? device: 3   type: 80
10000    DEBUG:	      ? device: 3   type: 79
10000    DEBUG:	Found: deviceInfo[4].name = Wacom Eraser, type = 222, id = 4
10000    INFO: 	Constructing new XTabletDevice (id = 4, type = 222
10000    INFO: 	Constructing new XWacomDevice (id = 4, type = 222
10000    DEBUG:	   Verifying compatibility:
10000    DEBUG:	      + use = 4
10000    DEBUG:	      + type = 222
10000    DEBUG:	      + name = Wacom Eraser
10000    DEBUG:	   Detected 3 classes:
10000    DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
10000    DEBUG:	      + Class 1 is a ButtonClass. There are 5 buttons.
10000    DEBUG:	      + Class 2 is a ValuatorClass. There are 6 valuators.
10000    DEBUG:	         * Valuator #0: 10208 - 100 (resolution: 2032)
10000    DEBUG:	         * Valuator #1: 7424 - 100 (resolution: 2032)
10000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
10000    DEBUG:	         * Valuator #3: 63 - -64 (resolution: 1)
10000    DEBUG:	         * Valuator #4: 63 - -64 (resolution: 1)
10000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
10000    DEBUG:	   Selecting extension events:
10000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
10000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
10000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
10000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
10000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
10000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
10000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
10000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
10000    DEBUG:	      + device: 3   type: 80   base: 79   class: 0   offset: 1
10000    DEBUG:	      + device: 3   type: 79   base: 79   class: 0   offset: 0
10000    DEBUG:	      + device: 4   type: 84   base: 84   class: 5   offset: 0
10000    DEBUG:	         eventTable[0][0] = 84
10000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
10000    DEBUG:	      + device: 4   type: 85   base: 84   class: 5   offset: 1
10000    DEBUG:	         eventTable[1][0] = 85
10000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
10000    DEBUG:	      + device: 4   type: 83   base: 83   class: 2   offset: 0
10000    DEBUG:	         eventTable[2][0] = 83
10000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
10000    DEBUG:	      + device: 4   type: 88   base: 88   class: 6   offset: 0
10000    DEBUG:	         eventTable[3][0] = 88
10000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
10000    DEBUG:	      + device: 4   type: 86   base: 86   class: 4   offset: 0
10000    DEBUG:	         eventTable[4][0] = 86
10000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
10000    DEBUG:	      + device: 4   type: 87   base: 86   class: 4   offset: 1
10000    DEBUG:	         eventTable[5][0] = 87
10000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
10000    DEBUG:	      + device: 4   type: 82   base: 81   class: 1   offset: 1
10000    DEBUG:	         eventTable[6][0] = 82
10000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
10000    DEBUG:	      + device: 4   type: 81   base: 81   class: 1   offset: 0
10000    DEBUG:	         eventTable[7][0] = 81
10000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
10000    DEBUG:	      + device: 4   type: 80   base: 79   class: 0   offset: 1
10000    DEBUG:	         eventTable[8][0] = 80
10000    DEBUG:	         * eventTable[8][1] = XI_DeviceKeyRelease
10000    DEBUG:	      + device: 4   type: 79   base: 79   class: 0   offset: 0
10000    DEBUG:	         eventTable[9][0] = 79
10000    DEBUG:	         * eventTable[9][1] = XI_DeviceKeyPress
10000    DEBUG:	      ? device: 3   type: 84
10000    DEBUG:	      ? device: 3   type: 85
10000    DEBUG:	      ? device: 3   type: 83
10000    DEBUG:	      ? device: 3   type: 88
10000    DEBUG:	      ? device: 3   type: 86
10000    DEBUG:	      ? device: 3   type: 87
10000    DEBUG:	      ? device: 3   type: 82
10000    DEBUG:	      ? device: 3   type: 81
10000    DEBUG:	      ? device: 3   type: 80
10000    DEBUG:	      ? device: 3   type: 79
10000    DEBUG:	      ? device: 4   type: 84
10000    DEBUG:	      ? device: 4   type: 85
10000    DEBUG:	      ? device: 4   type: 83
10000    DEBUG:	      ? device: 4   type: 88
10000    DEBUG:	      ? device: 4   type: 86
10000    DEBUG:	      ? device: 4   type: 87
10000    DEBUG:	      ? device: 4   type: 82
10000    DEBUG:	      ? device: 4   type: 81
10000    DEBUG:	      ? device: 4   type: 80
10000    DEBUG:	      ? device: 4   type: 79
10000    DEBUG:	Found: deviceInfo[5].name = Wacom Pen, type = 223, id = 5
10000    INFO: 	Constructing new XTabletDevice (id = 5, type = 223
10000    INFO: 	Constructing new XWacomDevice (id = 5, type = 223
10000    DEBUG:	   Verifying compatibility:
10000    DEBUG:	      + use = 4
10000    DEBUG:	      + type = 223
10000    DEBUG:	      + name = Wacom Pen
10000    DEBUG:	   Detected 3 classes:
10000    DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
10000    DEBUG:	      + Class 1 is a ButtonClass. There are 5 buttons.
10000    DEBUG:	      + Class 2 is a ValuatorClass. There are 6 valuators.
10000    DEBUG:	         * Valuator #0: 10208 - 100 (resolution: 2032)
10000    DEBUG:	         * Valuator #1: 7424 - 100 (resolution: 2032)
10000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
10000    DEBUG:	         * Valuator #3: 63 - -64 (resolution: 1)
10000    DEBUG:	         * Valuator #4: 63 - -64 (resolution: 1)
10000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
10000    DEBUG:	   Selecting extension events:
20000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
20000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
20000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
20000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
20000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
20000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
20000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
20000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
20000    DEBUG:	      + device: 3   type: 80   base: 79   class: 0   offset: 1
20000    DEBUG:	      + device: 3   type: 79   base: 79   class: 0   offset: 0
20000    DEBUG:	      + device: 4   type: 84   base: 84   class: 5   offset: 0
20000    DEBUG:	      + device: 4   type: 85   base: 84   class: 5   offset: 1
20000    DEBUG:	      + device: 4   type: 83   base: 83   class: 2   offset: 0
20000    DEBUG:	      + device: 4   type: 88   base: 88   class: 6   offset: 0
20000    DEBUG:	      + device: 4   type: 86   base: 86   class: 4   offset: 0
20000    DEBUG:	      + device: 4   type: 87   base: 86   class: 4   offset: 1
20000    DEBUG:	      + device: 4   type: 82   base: 81   class: 1   offset: 1
20000    DEBUG:	      + device: 4   type: 81   base: 81   class: 1   offset: 0
20000    DEBUG:	      + device: 4   type: 80   base: 79   class: 0   offset: 1
20000    DEBUG:	      + device: 4   type: 79   base: 79   class: 0   offset: 0
20000    DEBUG:	      + device: 5   type: 84   base: 84   class: 5   offset: 0
20000    DEBUG:	         eventTable[0][0] = 84
20000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
20000    DEBUG:	      + device: 5   type: 85   base: 84   class: 5   offset: 1
20000    DEBUG:	         eventTable[1][0] = 85
20000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
20000    DEBUG:	      + device: 5   type: 83   base: 83   class: 2   offset: 0
20000    DEBUG:	         eventTable[2][0] = 83
20000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
20000    DEBUG:	      + device: 5   type: 88   base: 88   class: 6   offset: 0
20000    DEBUG:	         eventTable[3][0] = 88
20000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
20000    DEBUG:	      + device: 5   type: 86   base: 86   class: 4   offset: 0
20000    DEBUG:	         eventTable[4][0] = 86
20000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
20000    DEBUG:	      + device: 5   type: 87   base: 86   class: 4   offset: 1
20000    DEBUG:	         eventTable[5][0] = 87
20000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
20000    DEBUG:	      + device: 5   type: 82   base: 81   class: 1   offset: 1
20000    DEBUG:	         eventTable[6][0] = 82
20000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
20000    DEBUG:	      + device: 5   type: 81   base: 81   class: 1   offset: 0
20000    DEBUG:	         eventTable[7][0] = 81
20000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
20000    DEBUG:	      + device: 5   type: 80   base: 79   class: 0   offset: 1
20000    DEBUG:	         eventTable[8][0] = 80
20000    DEBUG:	         * eventTable[8][1] = XI_DeviceKeyRelease
20000    DEBUG:	      + device: 5   type: 79   base: 79   class: 0   offset: 0
20000    DEBUG:	         eventTable[9][0] = 79
20000    DEBUG:	         * eventTable[9][1] = XI_DeviceKeyPress
20000    DEBUG:	      ? device: 3   type: 84
20000    DEBUG:	      ? device: 3   type: 85
20000    DEBUG:	      ? device: 3   type: 83
20000    DEBUG:	      ? device: 3   type: 88
20000    DEBUG:	      ? device: 3   type: 86
20000    DEBUG:	      ? device: 3   type: 87
20000    DEBUG:	      ? device: 3   type: 82
20000    DEBUG:	      ? device: 3   type: 81
20000    DEBUG:	      ? device: 3   type: 80
20000    DEBUG:	      ? device: 3   type: 79
20000    DEBUG:	      ? device: 4   type: 84
20000    DEBUG:	      ? device: 4   type: 85
20000    DEBUG:	      ? device: 4   type: 83
20000    DEBUG:	      ? device: 4   type: 88
20000    DEBUG:	      ? device: 4   type: 86
20000    DEBUG:	      ? device: 4   type: 87
20000    DEBUG:	      ? device: 4   type: 82
20000    DEBUG:	      ? device: 4   type: 81
20000    DEBUG:	      ? device: 4   type: 80
20000    DEBUG:	      ? device: 4   type: 79
20000    DEBUG:	      ? device: 5   type: 84
20000    DEBUG:	      ? device: 5   type: 85
20000    DEBUG:	      ? device: 5   type: 83
20000    DEBUG:	      ? device: 5   type: 88
20000    DEBUG:	      ? device: 5   type: 86
20000    DEBUG:	      ? device: 5   type: 87
20000    DEBUG:	      ? device: 5   type: 82
20000    DEBUG:	      ? device: 5   type: 81
20000    DEBUG:	      ? device: 5   type: 80
20000    DEBUG:	      ? device: 5   type: 79
20000    DEBUG:	Found: deviceInfo[6].name = Wacom Tablet, type = 224, id = 6
20000    INFO: 	Constructing new XTabletDevice (id = 6, type = 224
20000    INFO: 	Constructing new XWacomDevice (id = 6, type = 224
20000    DEBUG:	   Verifying compatibility:
20000    DEBUG:	      + use = 4
20000    DEBUG:	      + type = 224
20000    DEBUG:	      + name = Wacom Tablet
20000    DEBUG:	   Detected 2 classes:
20000    DEBUG:	      + Class 0 is a ButtonClass. There are 0 buttons.
20000    DEBUG:	      + Class 1 is a ValuatorClass. There are 6 valuators.
20000    DEBUG:	         * Valuator #0: 10208 - 0 (resolution: 2032)
20000    DEBUG:	         * Valuator #1: 7424 - 0 (resolution: 2032)
20000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
20000    DEBUG:	         * Valuator #3: 0 - 0 (resolution: 1)
20000    DEBUG:	         * Valuator #4: 0 - 0 (resolution: 1)
20000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
20000    DEBUG:	   Selecting extension events:
20000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
20000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
20000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
20000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
20000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
20000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
20000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
20000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
20000    DEBUG:	      + device: 4   type: 84   base: 84   class: 5   offset: 0
20000    DEBUG:	      + device: 4   type: 85   base: 84   class: 5   offset: 1
20000    DEBUG:	      + device: 4   type: 83   base: 83   class: 2   offset: 0
20000    DEBUG:	      + device: 4   type: 88   base: 88   class: 6   offset: 0
20000    DEBUG:	      + device: 4   type: 86   base: 86   class: 4   offset: 0
20000    DEBUG:	      + device: 4   type: 87   base: 86   class: 4   offset: 1
20000    DEBUG:	      + device: 4   type: 82   base: 81   class: 1   offset: 1
20000    DEBUG:	      + device: 4   type: 81   base: 81   class: 1   offset: 0
20000    DEBUG:	      + device: 5   type: 84   base: 84   class: 5   offset: 0
20000    DEBUG:	      + device: 5   type: 85   base: 84   class: 5   offset: 1
20000    DEBUG:	      + device: 5   type: 83   base: 83   class: 2   offset: 0
20000    DEBUG:	      + device: 5   type: 88   base: 88   class: 6   offset: 0
20000    DEBUG:	      + device: 5   type: 86   base: 86   class: 4   offset: 0
20000    DEBUG:	      + device: 5   type: 87   base: 86   class: 4   offset: 1
20000    DEBUG:	      + device: 5   type: 82   base: 81   class: 1   offset: 1
20000    DEBUG:	      + device: 5   type: 81   base: 81   class: 1   offset: 0
20000    DEBUG:	      + device: 6   type: 84   base: 84   class: 5   offset: 0
20000    DEBUG:	         eventTable[0][0] = 84
20000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
20000    DEBUG:	      + device: 6   type: 85   base: 84   class: 5   offset: 1
20000    DEBUG:	         eventTable[1][0] = 85
20000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
20000    DEBUG:	      + device: 6   type: 83   base: 83   class: 2   offset: 0
20000    DEBUG:	         eventTable[2][0] = 83
20000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
20000    DEBUG:	      + device: 6   type: 88   base: 88   class: 6   offset: 0
20000    DEBUG:	         eventTable[3][0] = 88
20000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
20000    DEBUG:	      + device: 6   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	         eventTable[4][0] = 86
30000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
30000    DEBUG:	      + device: 6   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	         eventTable[5][0] = 87
30000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
30000    DEBUG:	      + device: 6   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	         eventTable[6][0] = 82
30000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
30000    DEBUG:	      + device: 6   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	         eventTable[7][0] = 81
30000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
30000    DEBUG:	      ? device: 3   type: 84
30000    DEBUG:	      ? device: 3   type: 85
30000    DEBUG:	      ? device: 3   type: 83
30000    DEBUG:	      ? device: 3   type: 88
30000    DEBUG:	      ? device: 3   type: 86
30000    DEBUG:	      ? device: 3   type: 87
30000    DEBUG:	      ? device: 3   type: 82
30000    DEBUG:	      ? device: 3   type: 81
30000    DEBUG:	      ? device: 3   type: 80
30000    DEBUG:	      ? device: 3   type: 79
30000    DEBUG:	      ? device: 4   type: 84
30000    DEBUG:	      ? device: 4   type: 85
30000    DEBUG:	      ? device: 4   type: 83
30000    DEBUG:	      ? device: 4   type: 88
30000    DEBUG:	      ? device: 4   type: 86
30000    DEBUG:	      ? device: 4   type: 87
30000    DEBUG:	      ? device: 4   type: 82
30000    DEBUG:	      ? device: 4   type: 81
30000    DEBUG:	      ? device: 4   type: 80
30000    DEBUG:	      ? device: 4   type: 79
30000    DEBUG:	      ? device: 5   type: 84
30000    DEBUG:	      ? device: 5   type: 85
30000    DEBUG:	      ? device: 5   type: 83
30000    DEBUG:	      ? device: 5   type: 88
30000    DEBUG:	      ? device: 5   type: 86
30000    DEBUG:	      ? device: 5   type: 87
30000    DEBUG:	      ? device: 5   type: 82
30000    DEBUG:	      ? device: 5   type: 81
30000    DEBUG:	      ? device: 5   type: 80
30000    DEBUG:	      ? device: 5   type: 79
30000    DEBUG:	      ? device: 6   type: 84
30000    DEBUG:	      ? device: 6   type: 85
30000    DEBUG:	      ? device: 6   type: 83
30000    DEBUG:	      ? device: 6   type: 88
30000    DEBUG:	      ? device: 6   type: 86
30000    DEBUG:	      ? device: 6   type: 87
30000    DEBUG:	      ? device: 6   type: 82
30000    DEBUG:	      ? device: 6   type: 81
30000    DEBUG:	Found: deviceInfo[7].name = Configured Mouse, type = 95, id = 7
30000    INFO: 	Constructing new XTabletDevice (id = 7, type = 95
30000    INFO: 	Constructing new XWacomDevice (id = 7, type = 95
30000    DEBUG:	   Verifying compatibility:
30000    DEBUG:	      + use = 4
30000    DEBUG:	      + type = 95
30000    DEBUG:	         ! Mouse not supported.
30000    DEBUG:	      + name = Configured Mouse
30000    DEBUG:	Found: deviceInfo[8].name = Generic Keyboard, type = 94, id = 8
30000    INFO: 	Constructing new XTabletDevice (id = 8, type = 94
30000    INFO: 	Constructing new XWacomDevice (id = 8, type = 94
30000    DEBUG:	   Verifying compatibility:
30000    DEBUG:	      + use = 3
30000    DEBUG:	         ! Not an extension device.
30000    DEBUG:	         ! Not an extension pointer.
30000    INFO: 	         + Device failed test, but allowing anyway...
30000    DEBUG:	      + type = 94
30000    DEBUG:	         ! Keyboard not supported.
30000    DEBUG:	      + name = Generic Keyboard
30000    INFO: 	Tablet(s) initialized.
520000   DEBUG:	No interesting events in the queue. Returning from ReadTablet.
.....................................................................................................................#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x40bb098e, pid=8159, tid=1085610896
#
# Java VM: Java HotSpot(TM) Client VM (10.0-b22 mixed mode, sharing linux-x86)
# Problematic frame:
# C  [libjtablet.so+0xd98e]  _ZN12XWacomDevice12GetEventTypeEPK7_XEvent+0x30
#
# An error report file with more information is saved as:
# /home/ripps/Downloads/jtablet-sdk-v0.9.5_linux/examples/hs_err_pid8159.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted
make: *** [test_applet2] Error 134
 

Attachments

  • hs_err_pid8159.log.txt
    20.5 KB · Views: 56
Last edited:
I've just uploaded a new vesrion. It does several new checks in the function that caused the crash, making sure that nothing is NULL. If a NULL pointer is detected a warning will be raised and the function will terminate gracefully.

It shouldn't crash, but I doubt it will work correctly. Regardless, everybody who was experiencing the pendown crash should post logs so that I can determine how to fix the underlying problem.

JigPu
 
Still having the pen down crash.

Code:
ripps@ripps-desktop:~/Downloads/jtablet-sdk-v0.9.5.1.25/c++src$ make test_applet2
cd ../examples && appletviewer JTablet-test2.html
using java 2! (v1.4+!)
0        INFO: 	Initializing tablets. Version 0.9.5.1.25 for X11

0        INFO: 	Closing all known tablets.
0        INFO: 	Tablet(s) closed.
0        INFO: 	Connected to X server.
0        INFO: 	Enumerating devices...
0        DEBUG:	Found: deviceInfo[0].name = Virtual core keyboard, type = 0, id = 0
0        INFO: 	Constructing new XTabletDevice (id = 0, type = 0
0        INFO: 	Constructing new XWacomDevice (id = 0, type = 0
0        INFO: 	   Verifying compatibility:
0        DEBUG:	      + use = 1
0        DEBUG:	      + type = 0
0        DEBUG:	      + name = Virtual core keyboard
0        DEBUG:	   Detected 1 classes:
0        DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
0        DEBUG:	   Selecting extension events:
0        DEBUG:	Found: deviceInfo[1].name = Virtual core pointer, type = 0, id = 1
0        INFO: 	Constructing new XTabletDevice (id = 1, type = 0
0        INFO: 	Constructing new XWacomDevice (id = 1, type = 0
0        INFO: 	   Verifying compatibility:
0        DEBUG:	      + use = 0
0        DEBUG:	      + type = 0
0        DEBUG:	      + name = Virtual core pointer
0        DEBUG:	   Detected 2 classes:
0        DEBUG:	      + Class 0 is a ButtonClass. There are 32 buttons.
0        DEBUG:	      + Class 1 is a ValuatorClass. There are 2 valuators.
0        DEBUG:	         * Valuator #0: -1 - 0 (resolution: 0)
0        DEBUG:	         * Valuator #1: -1 - 0 (resolution: 0)
0        DEBUG:	   Selecting extension events:
0        DEBUG:	Found: deviceInfo[2].name = Generic Keyboard, type = 92, id = 2
0        INFO: 	Constructing new XTabletDevice (id = 2, type = 92
0        INFO: 	Constructing new XWacomDevice (id = 2, type = 92
0        INFO: 	   Verifying compatibility:
0        DEBUG:	      + use = 3
0        DEBUG:	      + type = 92
0        DEBUG:	      + name = Generic Keyboard
10000    DEBUG:	Found: deviceInfo[3].name = Wacom Mouse, type = 219, id = 3
10000    INFO: 	Constructing new XTabletDevice (id = 3, type = 219
10000    INFO: 	Constructing new XWacomDevice (id = 3, type = 219
10000    INFO: 	   Verifying compatibility:
10000    DEBUG:	      + use = 4
10000    DEBUG:	      + type = 219
10000    DEBUG:	      + name = Wacom Mouse
10000    DEBUG:	   Detected 3 classes:
10000    DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
10000    DEBUG:	      + Class 1 is a ButtonClass. There are 5 buttons.
10000    DEBUG:	      + Class 2 is a ValuatorClass. There are 6 valuators.
10000    DEBUG:	         * Valuator #0: 10208 - 0 (resolution: 2032)
10000    DEBUG:	         * Valuator #1: 7424 - 0 (resolution: 2032)
10000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
10000    DEBUG:	         * Valuator #3: 899 - -900 (resolution: 1)
10000    DEBUG:	         * Valuator #4: 1023 - -1023 (resolution: 1)
10000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
10000    DEBUG:	   Selecting extension events:
10000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
10000    DEBUG:	         eventTable[0][0] = 84
10000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
10000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
10000    DEBUG:	         eventTable[1][0] = 85
10000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
10000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
10000    DEBUG:	         eventTable[2][0] = 83
10000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
10000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
10000    DEBUG:	         eventTable[3][0] = 88
10000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
10000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
10000    DEBUG:	         eventTable[4][0] = 86
10000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
10000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
10000    DEBUG:	         eventTable[5][0] = 87
10000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
10000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
10000    DEBUG:	         eventTable[6][0] = 82
10000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
10000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
10000    DEBUG:	         eventTable[7][0] = 81
10000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
10000    DEBUG:	      + device: 3   type: 80   base: 79   class: 0   offset: 1
10000    DEBUG:	         eventTable[8][0] = 80
10000    DEBUG:	         * eventTable[8][1] = XI_DeviceKeyRelease
10000    DEBUG:	      + device: 3   type: 79   base: 79   class: 0   offset: 0
10000    DEBUG:	         eventTable[9][0] = 79
10000    DEBUG:	         * eventTable[9][1] = XI_DeviceKeyPress
10000    DEBUG:	      ? device: 3   type: 84
10000    DEBUG:	      ? device: 3   type: 85
10000    DEBUG:	      ? device: 3   type: 83
10000    DEBUG:	      ? device: 3   type: 88
10000    DEBUG:	      ? device: 3   type: 86
10000    DEBUG:	      ? device: 3   type: 87
10000    DEBUG:	      ? device: 3   type: 82
10000    DEBUG:	      ? device: 3   type: 81
10000    DEBUG:	      ? device: 3   type: 80
10000    DEBUG:	      ? device: 3   type: 79
10000    DEBUG:	Found: deviceInfo[4].name = Wacom Eraser, type = 220, id = 4
10000    INFO: 	Constructing new XTabletDevice (id = 4, type = 220
10000    INFO: 	Constructing new XWacomDevice (id = 4, type = 220
10000    INFO: 	   Verifying compatibility:
10000    DEBUG:	      + use = 4
10000    DEBUG:	      + type = 220
10000    DEBUG:	      + name = Wacom Eraser
10000    DEBUG:	   Detected 3 classes:
10000    DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
10000    DEBUG:	      + Class 1 is a ButtonClass. There are 5 buttons.
10000    DEBUG:	      + Class 2 is a ValuatorClass. There are 6 valuators.
10000    DEBUG:	         * Valuator #0: 10208 - 100 (resolution: 2032)
10000    DEBUG:	         * Valuator #1: 7424 - 100 (resolution: 2032)
10000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
10000    DEBUG:	         * Valuator #3: 63 - -64 (resolution: 1)
10000    DEBUG:	         * Valuator #4: 63 - -64 (resolution: 1)
10000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
10000    DEBUG:	   Selecting extension events:
10000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
10000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
10000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
10000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
10000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
10000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
10000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
10000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
10000    DEBUG:	      + device: 3   type: 80   base: 79   class: 0   offset: 1
10000    DEBUG:	      + device: 3   type: 79   base: 79   class: 0   offset: 0
10000    DEBUG:	      + device: 4   type: 84   base: 84   class: 5   offset: 0
10000    DEBUG:	         eventTable[0][0] = 84
10000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
10000    DEBUG:	      + device: 4   type: 85   base: 84   class: 5   offset: 1
10000    DEBUG:	         eventTable[1][0] = 85
10000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
10000    DEBUG:	      + device: 4   type: 83   base: 83   class: 2   offset: 0
10000    DEBUG:	         eventTable[2][0] = 83
10000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
10000    DEBUG:	      + device: 4   type: 88   base: 88   class: 6   offset: 0
10000    DEBUG:	         eventTable[3][0] = 88
10000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
10000    DEBUG:	      + device: 4   type: 86   base: 86   class: 4   offset: 0
10000    DEBUG:	         eventTable[4][0] = 86
10000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
10000    DEBUG:	      + device: 4   type: 87   base: 86   class: 4   offset: 1
10000    DEBUG:	         eventTable[5][0] = 87
10000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
10000    DEBUG:	      + device: 4   type: 82   base: 81   class: 1   offset: 1
10000    DEBUG:	         eventTable[6][0] = 82
10000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
10000    DEBUG:	      + device: 4   type: 81   base: 81   class: 1   offset: 0
10000    DEBUG:	         eventTable[7][0] = 81
10000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
10000    DEBUG:	      + device: 4   type: 80   base: 79   class: 0   offset: 1
10000    DEBUG:	         eventTable[8][0] = 80
10000    DEBUG:	         * eventTable[8][1] = XI_DeviceKeyRelease
10000    DEBUG:	      + device: 4   type: 79   base: 79   class: 0   offset: 0
10000    DEBUG:	         eventTable[9][0] = 79
10000    DEBUG:	         * eventTable[9][1] = XI_DeviceKeyPress
10000    DEBUG:	      ? device: 3   type: 84
10000    DEBUG:	      ? device: 3   type: 85
10000    DEBUG:	      ? device: 3   type: 83
20000    DEBUG:	      ? device: 3   type: 88
20000    DEBUG:	      ? device: 3   type: 86
20000    DEBUG:	      ? device: 3   type: 87
20000    DEBUG:	      ? device: 3   type: 82
20000    DEBUG:	      ? device: 3   type: 81
20000    DEBUG:	      ? device: 3   type: 80
20000    DEBUG:	      ? device: 3   type: 79
20000    DEBUG:	      ? device: 4   type: 84
20000    DEBUG:	      ? device: 4   type: 85
20000    DEBUG:	      ? device: 4   type: 83
20000    DEBUG:	      ? device: 4   type: 88
20000    DEBUG:	      ? device: 4   type: 86
20000    DEBUG:	      ? device: 4   type: 87
20000    DEBUG:	      ? device: 4   type: 82
30000    DEBUG:	      ? device: 4   type: 81
30000    DEBUG:	      ? device: 4   type: 80
30000    DEBUG:	      ? device: 4   type: 79
30000    DEBUG:	Found: deviceInfo[5].name = Wacom Pen, type = 221, id = 5
30000    INFO: 	Constructing new XTabletDevice (id = 5, type = 221
30000    INFO: 	Constructing new XWacomDevice (id = 5, type = 221
30000    INFO: 	   Verifying compatibility:
30000    DEBUG:	      + use = 4
30000    DEBUG:	      + type = 221
30000    DEBUG:	      + name = Wacom Pen
30000    DEBUG:	   Detected 3 classes:
30000    DEBUG:	      + Class 0 is a KeyClass. There are 248 keys from 8 to 255.
30000    DEBUG:	      + Class 1 is a ButtonClass. There are 5 buttons.
30000    DEBUG:	      + Class 2 is a ValuatorClass. There are 6 valuators.
30000    DEBUG:	         * Valuator #0: 10208 - 100 (resolution: 2032)
30000    DEBUG:	         * Valuator #1: 7424 - 100 (resolution: 2032)
30000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
30000    DEBUG:	         * Valuator #3: 63 - -64 (resolution: 1)
30000    DEBUG:	         * Valuator #4: 63 - -64 (resolution: 1)
30000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
30000    DEBUG:	   Selecting extension events:
30000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
30000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
30000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
30000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
30000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	      + device: 3   type: 80   base: 79   class: 0   offset: 1
30000    DEBUG:	      + device: 3   type: 79   base: 79   class: 0   offset: 0
30000    DEBUG:	      + device: 4   type: 84   base: 84   class: 5   offset: 0
30000    DEBUG:	      + device: 4   type: 85   base: 84   class: 5   offset: 1
30000    DEBUG:	      + device: 4   type: 83   base: 83   class: 2   offset: 0
30000    DEBUG:	      + device: 4   type: 88   base: 88   class: 6   offset: 0
30000    DEBUG:	      + device: 4   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	      + device: 4   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	      + device: 4   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	      + device: 4   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	      + device: 4   type: 80   base: 79   class: 0   offset: 1
30000    DEBUG:	      + device: 4   type: 79   base: 79   class: 0   offset: 0
30000    DEBUG:	      + device: 5   type: 84   base: 84   class: 5   offset: 0
30000    DEBUG:	         eventTable[0][0] = 84
30000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
30000    DEBUG:	      + device: 5   type: 85   base: 84   class: 5   offset: 1
30000    DEBUG:	         eventTable[1][0] = 85
30000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
30000    DEBUG:	      + device: 5   type: 83   base: 83   class: 2   offset: 0
30000    DEBUG:	         eventTable[2][0] = 83
30000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
30000    DEBUG:	      + device: 5   type: 88   base: 88   class: 6   offset: 0
30000    DEBUG:	         eventTable[3][0] = 88
30000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
30000    DEBUG:	      + device: 5   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	         eventTable[4][0] = 86
30000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
30000    DEBUG:	      + device: 5   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	         eventTable[5][0] = 87
30000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
30000    DEBUG:	      + device: 5   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	         eventTable[6][0] = 82
30000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
30000    DEBUG:	      + device: 5   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	         eventTable[7][0] = 81
30000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
30000    DEBUG:	      + device: 5   type: 80   base: 79   class: 0   offset: 1
30000    DEBUG:	         eventTable[8][0] = 80
30000    DEBUG:	         * eventTable[8][1] = XI_DeviceKeyRelease
30000    DEBUG:	      + device: 5   type: 79   base: 79   class: 0   offset: 0
30000    DEBUG:	         eventTable[9][0] = 79
30000    DEBUG:	         * eventTable[9][1] = XI_DeviceKeyPress
30000    DEBUG:	      ? device: 3   type: 84
30000    DEBUG:	      ? device: 3   type: 85
30000    DEBUG:	      ? device: 3   type: 83
30000    DEBUG:	      ? device: 3   type: 88
30000    DEBUG:	      ? device: 3   type: 86
30000    DEBUG:	      ? device: 3   type: 87
30000    DEBUG:	      ? device: 3   type: 82
30000    DEBUG:	      ? device: 3   type: 81
30000    DEBUG:	      ? device: 3   type: 80
30000    DEBUG:	      ? device: 3   type: 79
30000    DEBUG:	      ? device: 4   type: 84
30000    DEBUG:	      ? device: 4   type: 85
30000    DEBUG:	      ? device: 4   type: 83
30000    DEBUG:	      ? device: 4   type: 88
30000    DEBUG:	      ? device: 4   type: 86
30000    DEBUG:	      ? device: 4   type: 87
30000    DEBUG:	      ? device: 4   type: 82
30000    DEBUG:	      ? device: 4   type: 81
30000    DEBUG:	      ? device: 4   type: 80
30000    DEBUG:	      ? device: 4   type: 79
30000    DEBUG:	      ? device: 5   type: 84
30000    DEBUG:	      ? device: 5   type: 85
30000    DEBUG:	      ? device: 5   type: 83
30000    DEBUG:	      ? device: 5   type: 88
30000    DEBUG:	      ? device: 5   type: 86
30000    DEBUG:	      ? device: 5   type: 87
30000    DEBUG:	      ? device: 5   type: 82
30000    DEBUG:	      ? device: 5   type: 81
30000    DEBUG:	      ? device: 5   type: 80
30000    DEBUG:	      ? device: 5   type: 79
30000    DEBUG:	Found: deviceInfo[6].name = Wacom Tablet, type = 222, id = 6
30000    INFO: 	Constructing new XTabletDevice (id = 6, type = 222
30000    INFO: 	Constructing new XWacomDevice (id = 6, type = 222
30000    INFO: 	   Verifying compatibility:
30000    DEBUG:	      + use = 4
30000    DEBUG:	      + type = 222
30000    DEBUG:	      + name = Wacom Tablet
30000    DEBUG:	   Detected 2 classes:
30000    DEBUG:	      + Class 0 is a ButtonClass. There are 0 buttons.
30000    DEBUG:	      + Class 1 is a ValuatorClass. There are 6 valuators.
30000    DEBUG:	         * Valuator #0: 10208 - 0 (resolution: 2032)
30000    DEBUG:	         * Valuator #1: 7424 - 0 (resolution: 2032)
30000    DEBUG:	         * Valuator #2: 511 - 0 (resolution: 1)
30000    DEBUG:	         * Valuator #3: 0 - 0 (resolution: 1)
30000    DEBUG:	         * Valuator #4: 0 - 0 (resolution: 1)
30000    DEBUG:	         * Valuator #5: 1023 - 0 (resolution: 1)
30000    DEBUG:	   Selecting extension events:
30000    DEBUG:	      + device: 3   type: 84   base: 84   class: 5   offset: 0
30000    DEBUG:	      + device: 3   type: 85   base: 84   class: 5   offset: 1
30000    DEBUG:	      + device: 3   type: 83   base: 83   class: 2   offset: 0
30000    DEBUG:	      + device: 3   type: 88   base: 88   class: 6   offset: 0
30000    DEBUG:	      + device: 3   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	      + device: 3   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	      + device: 3   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	      + device: 3   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	      + device: 4   type: 84   base: 84   class: 5   offset: 0
30000    DEBUG:	      + device: 4   type: 85   base: 84   class: 5   offset: 1
30000    DEBUG:	      + device: 4   type: 83   base: 83   class: 2   offset: 0
30000    DEBUG:	      + device: 4   type: 88   base: 88   class: 6   offset: 0
30000    DEBUG:	      + device: 4   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	      + device: 4   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	      + device: 4   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	      + device: 4   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	      + device: 5   type: 84   base: 84   class: 5   offset: 0
30000    DEBUG:	      + device: 5   type: 85   base: 84   class: 5   offset: 1
30000    DEBUG:	      + device: 5   type: 83   base: 83   class: 2   offset: 0
30000    DEBUG:	      + device: 5   type: 88   base: 88   class: 6   offset: 0
30000    DEBUG:	      + device: 5   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	      + device: 5   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	      + device: 5   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	      + device: 5   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	      + device: 6   type: 84   base: 84   class: 5   offset: 0
30000    DEBUG:	         eventTable[0][0] = 84
30000    DEBUG:	         * eventTable[0][1] = XI_DeviceFocusIn
30000    DEBUG:	      + device: 6   type: 85   base: 84   class: 5   offset: 1
30000    DEBUG:	         eventTable[1][0] = 85
30000    DEBUG:	         * eventTable[1][1] = XI_DeviceFocusOut
30000    DEBUG:	      + device: 6   type: 83   base: 83   class: 2   offset: 0
30000    DEBUG:	         eventTable[2][0] = 83
30000    DEBUG:	         * eventTable[2][1] = XI_DeviceMotionNotify
30000    DEBUG:	      + device: 6   type: 88   base: 88   class: 6   offset: 0
30000    DEBUG:	         eventTable[3][0] = 88
30000    DEBUG:	         * eventTable[3][1] = XI_DeviceStateNotify
30000    DEBUG:	      + device: 6   type: 86   base: 86   class: 4   offset: 0
30000    DEBUG:	         eventTable[4][0] = 86
30000    DEBUG:	         eventTable[4][1] = XI_ProximityIn
30000    DEBUG:	      + device: 6   type: 87   base: 86   class: 4   offset: 1
30000    DEBUG:	         eventTable[5][0] = 87
30000    DEBUG:	         * eventTable[5][1] = XI_ProximityOut
30000    DEBUG:	      + device: 6   type: 82   base: 81   class: 1   offset: 1
30000    DEBUG:	         eventTable[6][0] = 82
30000    DEBUG:	         * eventTable[6][1] = XI_DeviceButtonRelease
30000    DEBUG:	      + device: 6   type: 81   base: 81   class: 1   offset: 0
30000    DEBUG:	         eventTable[7][0] = 81
40000    DEBUG:	         * eventTable[7][1] = XI_DeviceButtonPress
40000    DEBUG:	      ? device: 3   type: 84
40000    DEBUG:	      ? device: 3   type: 85
40000    DEBUG:	      ? device: 3   type: 83
40000    DEBUG:	      ? device: 3   type: 88
40000    DEBUG:	      ? device: 3   type: 86
40000    DEBUG:	      ? device: 3   type: 87
40000    DEBUG:	      ? device: 3   type: 82
40000    DEBUG:	      ? device: 3   type: 81
40000    DEBUG:	      ? device: 3   type: 80
40000    DEBUG:	      ? device: 3   type: 79
40000    DEBUG:	      ? device: 4   type: 84
40000    DEBUG:	      ? device: 4   type: 85
40000    DEBUG:	      ? device: 4   type: 83
40000    DEBUG:	      ? device: 4   type: 88
40000    DEBUG:	      ? device: 4   type: 86
40000    DEBUG:	      ? device: 4   type: 87
40000    DEBUG:	      ? device: 4   type: 82
40000    DEBUG:	      ? device: 4   type: 81
40000    DEBUG:	      ? device: 4   type: 80
40000    DEBUG:	      ? device: 4   type: 79
40000    DEBUG:	      ? device: 5   type: 84
40000    DEBUG:	      ? device: 5   type: 85
40000    DEBUG:	      ? device: 5   type: 83
40000    DEBUG:	      ? device: 5   type: 88
40000    DEBUG:	      ? device: 5   type: 86
40000    DEBUG:	      ? device: 5   type: 87
40000    DEBUG:	      ? device: 5   type: 82
40000    DEBUG:	      ? device: 5   type: 81
40000    DEBUG:	      ? device: 5   type: 80
40000    DEBUG:	      ? device: 5   type: 79
40000    DEBUG:	      ? device: 6   type: 84
40000    DEBUG:	      ? device: 6   type: 85
40000    DEBUG:	      ? device: 6   type: 83
40000    DEBUG:	      ? device: 6   type: 88
40000    DEBUG:	      ? device: 6   type: 86
40000    DEBUG:	      ? device: 6   type: 87
40000    DEBUG:	      ? device: 6   type: 82
40000    DEBUG:	      ? device: 6   type: 81
40000    DEBUG:	Found: deviceInfo[7].name = Configured Mouse, type = 93, id = 7
40000    INFO: 	Constructing new XTabletDevice (id = 7, type = 93
40000    INFO: 	Constructing new XWacomDevice (id = 7, type = 93
40000    INFO: 	   Verifying compatibility:
40000    DEBUG:	      + use = 4
40000    DEBUG:	      + type = 93
40000    DEBUG:	      + name = Configured Mouse
40000    DEBUG:	Found: deviceInfo[8].name = Generic Keyboard, type = 92, id = 8
40000    INFO: 	Constructing new XTabletDevice (id = 8, type = 92
40000    INFO: 	Constructing new XWacomDevice (id = 8, type = 92
40000    INFO: 	   Verifying compatibility:
40000    DEBUG:	      + use = 3
40000    DEBUG:	      + type = 92
40000    DEBUG:	      + name = Generic Keyboard
40000    INFO: 	Tablet(s) initialized.
730000   DEBUG:	No interesting events in the queue. Returning from ReadTablet.
.......................................................................................................103 duplicates of the above message.
1410000  DEBUG:	e->type == 86
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x40bb0c90, pid=11990, tid=1085610896
#
# Java VM: Java HotSpot(TM) Client VM (10.0-b22 mixed mode, sharing linux-x86)
# Problematic frame:
# C  [libjtablet.so+0xdc90]  _ZN12XWacomDevice12GetEventTypeEPK7_XEvent+0x284
#
# An error report file with more information is saved as:
# /home/ripps/Downloads/jtablet-sdk-v0.9.5.1.25/examples/hs_err_pid11990.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted
make: *** [test_applet2] Error 134
 

Attachments

  • hs_err_pid11990.log.txt
    20.4 KB · Views: 97
Thanks for the log :) I'm still doing some analysis, but my initial thoughts are directed toward your "Virtual core keyboard" and "Virtual core pointer" devices.

Based on your log, there are two obvious bugs: first, WARNING log entries have been disabled; second, the code doesn't appear to filter out your two virtual devices with the compatibility check.

Neither bug above should be the direct cause of your crash, but the second bug when combined with another more subtle bug I just noticed could. I just found a way that an object could be halfway-initialized. A halfway-initialized object may be created by your virtual devices, and would crash at the same spot you are.

I'm going to be uploading a new version with these bugs fixed in a little bit. Stay tuned :)

JigPu
 
Update posted. Not sure if this will fix the pen-down crash, but its a good possibility.

JigPu
 
Any new progress on the driver?

Also, is it safe to try on windows? Would I see any improvement over the standard cellosoft version from their website that's about 3 years old now?

The applet doesn't crash for my pablo pen with the current driver but it still doesn't work as it should either. The pressure is just not updated instantly and stalls while drawing. Sometimes freezing at max, sometimes changing suddenly or working for a second before freezing. It takes a long time to register pressure too usually and when it does it goes up and freezes where the pressure maxed out at from my pressing.
 
There haven't been any significant changes since the last release. I think the only change of any notie is some new installation code to better handle the $JAVA_HOME and $JDK_HOME problems. I could make a new release if you're interested though.

As for using it in Windows, the code included in my release is pretty much exactly the same as that released by cellosoft. I've refactored the code a tiny bit so that both it and the Linux version share some code (mostly debugging code), but that's about it. To be honest, I'm not even sure if it still compiles under Windows after the refactoring :D

I forget if I've asked you this already, but have you tried testing your tablet on another Linux computer? Perhaps there is something odd with your installation, or with some of the other hardware in your computer...

JigPu
 
Help, I'm really bad at this. ^^;

(The tablet is a Wacom Intuos2, and I'm running Gentoo)

Output of make (as root):

make -C X11
make[1]: Entering directory `/home/aiffe/jtablet-sdk-v0.9.5_linux/c++src/X11'
g++ -g3 -dDEBUG -D PRINT_DEBUG -Wall -D REENTRANT -D GNU_SOURCE -D PRINT_INFO -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -fPIC -c ../cello_tablet_JTablet.cpp -o ../cello_tablet_JTablet.o
cc1plus: warning: unrecognized gcc debugging option: U
../cello_tablet_JTablet.cpp:28:17: error: jni.h: No such file or directory
../cello_tablet_JTablet.cpp:29:20: error: jni_md.h: No such file or directory
../cello_tablet_JTablet.h:15: error: 'JNIEXPORT' does not name a type
../cello_tablet_JTablet.h:23: error: 'JNIEXPORT' does not name a type
../cello_tablet_JTablet.h:31: error: expected constructor, destructor, or type conversion before 'void'
../cello_tablet_JTablet.h:39: error: expected constructor, destructor, or type conversion before 'void'
../cello_tablet_JTablet.h:47: error: 'JNIEXPORT' does not name a type
../cello_tablet_JTablet.h:55: error: expected constructor, destructor, or type conversion before 'void'
../JTablet.h:40: error: 'JNIEnv' was not declared in this scope
../JTablet.h:40: error: 'env' was not declared in this scope
../JTablet.h:40: error: expected primary-expression before 'const'
../JTablet.h:40: error: initializer expression list treated as compound expression
../JTablet.h:43: error: 'jclass' does not name a type
../JTablet.h:47: error: 'jobject' does not name a type
../JTablet.h:50: error: 'jobject' does not name a type
../JTablet.h:52: error: variable or field 'JTablet_deleteCursors' declared void
../JTablet.h:52: error: 'JNIEnv' was not declared in this scope
../JTablet.h:52: error: 'env' was not declared in this scope
../JTablet.h:57: error: variable or field 'JTablet_setCursorInfo' declared void
../JTablet.h:57: error: 'JNIEnv' was not declared in this scope
../JTablet.h:57: error: 'env' was not declared in this scope
../JTablet.h:57: error: 'jobject' was not declared in this scope
../JTablet.h:57: error: 'jstring' was not declared in this scope
../JTablet.h:57: error: 'jint' was not declared in this scope
../JTablet.h:57: error: 'jint' was not declared in this scope
../JTablet.h:57: error: 'jint' was not declared in this scope
../JTablet.h:57: error: initializer expression list treated as compound expression
../JTablet.h:61: error: variable or field 'JTablet_setCursorTime' declared void
../JTablet.h:61: error: 'JNIEnv' was not declared in this scope
../JTablet.h:61: error: 'env' was not declared in this scope
../JTablet.h:61: error: 'jobject' was not declared in this scope
../JTablet.h:61: error: 'jlong' was not declared in this scope
../JTablet.h:61: error: initializer expression list treated as compound expression
../JTablet.h:76: error: variable or field 'JTablet_getCursorDataValueRaw' declared void
../JTablet.h:76: error: 'JNIEnv' was not declared in this scope
../JTablet.h:76: error: 'env' was not declared in this scope
../JTablet.h:76: error: 'jobject' was not declared in this scope
../JTablet.h:76: error: 'jintArray' was not declared in this scope
../JTablet.h:76: error: 'javaArray' was not declared in this scope
../JTablet.h:76: error: 'jint' was not declared in this scope
../JTablet.h:76: error: 'array' was not declared in this scope
../JTablet.h:76: error: initializer expression list treated as compound expression
../JTablet.h:80: error: variable or field 'JTablet_releaseCursorDataValueRaw' declared void
../JTablet.h:80: error: 'JNIEnv' was not declared in this scope
../JTablet.h:80: error: 'env' was not declared in this scope
../JTablet.h:80: error: 'jintArray' was not declared in this scope
../JTablet.h:80: error: 'javaArray' was not declared in this scope
../JTablet.h:80: error: 'jint' was not declared in this scope
../JTablet.h:80: error: 'array' was not declared in this scope
../JTablet.h:80: error: initializer expression list treated as compound expression
../JTablet.h:86: error: 'jintArray' does not name a type
../JTablet.h:89: error: 'jbooleanArray' does not name a type
../JTablet.h:92: error: ISO C++ forbids declaration of 'jint' with no type
../JTablet.h:92: error: expected ';' before '*' token
../JTablet.h:95: error: ISO C++ forbids declaration of 'jboolean' with no type
../JTablet.h:95: error: expected ';' before '*' token
../JTablet.h:103: error: variable or field 'JTablet_getCursorDataInfo' declared void
../JTablet.h:103: error: 'JNIEnv' was not declared in this scope
../JTablet.h:103: error: 'env' was not declared in this scope
../JTablet.h:103: error: 'jobject' was not declared in this scope
../JTablet.h:103: error: expected primary-expression before '*' token
../JTablet.h:103: error: 'arrays' was not declared in this scope
../JTablet.h:103: error: initializer expression list treated as compound expression
../JTablet.h:106: error: variable or field 'JTablet_releaseCursorDataInfo' declared void
../JTablet.h:106: error: 'JNIEnv' was not declared in this scope
../JTablet.h:106: error: 'env' was not declared in this scope
../JTablet.h:106: error: expected primary-expression before '*' token
../JTablet.h:106: error: 'arrays' was not declared in this scope
../JTablet.h:106: error: initializer expression list treated as compound expression
../tabletaccess.h:58: error: 'jobject' does not name a type
../tabletaccess.h:65: error: variable or field 'GetCursorData' declared void
../tabletaccess.h:65: error: 'JNIEnv' was not declared in this scope
../tabletaccess.h:65: error: 'env' was not declared in this scope
../tabletaccess.h:65: error: 'jobject' was not declared in this scope
../tabletaccess.h:65: error: 'jint' was not declared in this scope
../tabletaccess.h:65: error: initializer expression list treated as compound expression
../cello_tablet_JTablet.cpp:41: error: 'JNIEXPORT' does not name a type
../cello_tablet_JTablet.cpp:51: error: 'JNIEXPORT' does not name a type
../cello_tablet_JTablet.cpp:56: error: 'jboolean' does not name a type
../cello_tablet_JTablet.cpp:63: error: expected constructor, destructor, or type conversion before 'void'
../cello_tablet_JTablet.cpp:78: error: expected constructor, destructor, or type conversion before 'void'
../cello_tablet_JTablet.cpp:96: error: 'JNIEXPORT' does not name a type
../cello_tablet_JTablet.cpp:113: error: expected constructor, destructor, or type conversion before 'void'
make[1]: *** [../cello_tablet_JTablet.o] Error 1
make[1]: Leaving directory `/home/aiffe/jtablet-sdk-v0.9.5_linux/c++src/X11'
make: *** [all] Error 2


I know I must be doing something wrong...
 
Last edited:
Thanks for giving it a shot Aiffe! The first error ("error: jni.h: No such file or directory") indicates that for some reason GCC can't find Java's JNI library. All the others are a result of this library not being found.

This could be caused by not having the JDK installed, or not having the JDK_HOME environment variable defined properly. Let me know the result of runnung the following commands (as root since that's how you ran make):

Code:
eselect java-vm list
eselect java-vm show
echo $JAVA_HOME
echo $JDK_HOME

The first two commands will show if you have a new enough JDK installed, and if root is set up to use it. The second two commands will display the two environment variables that must be properly defined for the makefile to work.

If eselect says that you're set up to use a JRE, then your problem will most likely be solved by changing both the user and system java-vm to a JDK. This should be done by running:

Code:
eselect java-vm set user <JDK name from list>
eselect java-vm set system <JDK name from list>

JigPu
 
:D Thanks for the quick reply!

This is the result of the commands you gave me:

ithilien c++src # eselect java-vm list
Available Java Virtual Machines:
[1] sun-jdk-1.5 system-vm
ithilien c++src # eselect java-vm show
Current system-vm
sun-jdk-1.5
Current user-vm
(unset)
ithilien c++src # echo $JAVA_HOME
/usr/lib/jvm/java-6-sun/jre
ithilien c++src # echo $JDK_HOME
/usr/lib/jvm/java-6-sun

I then ran the second two:
ithilien c++src # eselect java-vm set user sun-jdk-1.5
!!! Error: Sorry, you cannot set a user vm as root. Set the system vm instead
Killed
ithilien c++src # eselect java-vm set system sun-jdk-1.5

(this had no response, so I assumed it took.)

Since that first command there said I couldn't run it as root, I ran it as a regular user, and it said nothing, presumably it took. I tried to run make (as root) again, but it had the same error ("error: jni.h: No such file or directory").

I ran "eselect java-vm show" again, and it still said "Current user-vm (unset)".

Thanks again for all your help with this.
 
Interesting. Although eselect shows that you're set up to use a JDK, the two environment variables indicate otherwise. Normally the variables should point to /etc/java-config-2/current-system-vm (if there is no user-vm set), which is just a symlink to the actual Java directory chosen through eselect.

Have you ever installed Java using something other than "emerge"? That would likely explain why you have a version at /usr/lib/jvm/java-6-sun that eselect doesn't know about... Regardless, you'll probably want to remove that directory. You can reinstall Java 6 from Portage if you have programs that require it (probably not), and you already have Java 5 for those that don't :)

After removing /usr/lib/jvm/java-6-sun, you'll want to look through a few files for lines which set JAVA_HOME and JDK_HOME. You'll want to remove the lines which set them, since they should automatically be set by Gentoo to the correct location (which is used by eselect). The most likely candidates are:
Code:
~/.bash_profile
~/.bashrc
/root/.bash_profile
/root/.bashrc
/etc/profile
/etc/bash/bashrc

After removing the rouge version of Java and any lines which set JAVA_HOME and JDK_HOME, you should run the four commands I gave you in my last post again. Hopefully they'll be set up correctly and the makefile will work.

JigPu
 
Well, see, my emerge stopped working some time ago, and I don't know how to fix it. I get the error:

--- 'profiles/arch.list' is empty or not available. Empty portage tree?
--- 'profiles/updates' is empty or not available. Empty portage tree?
!!! ARCH is not set... Are you missing the '/etc/make.profile' symlink?
!!! Is the symlink correct? Is your portage tree complete?


Now, I know what you're thinking. How the heck did an idiot like this get Gentoo?

See, I got a job doing data entry at a small company, and the computers there ran Gentoo. It was my first time on Linux, and I wanted to learn how everything worked, so my then-boyfriend set up a computer for me also running Gentoo, for me to practice on. I ended up losing both the job and the boyfriend, and only learning the basics of Gentoo. *sadfais* (The job was kind of crappy anyway, but damn, the boy was hot.)

So, um, in conclusion, since you didn't ask for my whole life story or anything, please forgive anything incredibly stupid I might say. Like the following, probably...

Some time ago, Java randomly stopped working in Firefox. I was distraught, since a good portion of what I do on t3h interbutts is draw pictures on oekaki, which uses, you guessed it, Java. I tinkered around a bit and tried to fix it, which didn't do much of anything. Since emerge was already broken, I downloaded another version of Java and tried to install that. Everything went fine right up to the symbolic link, which for some reason Firefox didn't like. I downloaded Opera and had no problem getting the new install of Java to work in that, and that's how I oekakied for a while. Then I got frustrated with my habit of jury-rigging everything and leaving it that way (seriously, I once fixed a bicycle with rolled-up wax paper as a string to hold the rear derailleur in place. The sad thing is that it worked) so I set out to re-conquer Java. I upgraded Firefox, upgraded Java, and gave the two a shotgun wedding. The union was fruitful, and I oekakied in Firefox once again.

So I think there are three versions of Java wasting disk space on this computer, the original one that broke, or possibly didn't break but Firefox did, the second one I downloaded in an attempt to fix the first, and the third that finally worked, but apparently broke this in the process. (There was an old lady who swallowed a fly...)

Fixing emerge is of course very nice and something I should get doing anyway (and not with wax paper, one would hope...), but is it also possible to make everything point to the new one I already have working, for simplicity's sake? Or in this case, is what appears to be the simpler solution actually the more convoluted? Have I confused you too, or just myself?

Thank you so very much for your help and your patience. You're awesome. :D
 
Aaaah... I'm sure we could get emerge working again if you start a new thread with a description of what's going on :) It could be as simple as re-setting the /etc/make.profile symlink to point to the right profile in /usr/portage/profiles (though I imagine you've already tried that).

It may be possible to get JTablet to compile right now, though things could get tricky... You should have a JDK installed at /usr/lib/jvm/sun-jdk-1.5 if eselect isn't entirely bonkers (run ls -l /usr/lib/jvm/ just to be sure though...). We can change JAVA_HOME and JDK_HOME to temporarily point to this JDK to do the compilation, and then change them back just before the installation (so that the Java you use in Firefox will have all the JTablet files).

Here's a rundown of what might work:
Code:
su
export JAVA_HOME=/usr/lib/jvm/sun-jdk-1.5/jre
export JDK_HOME=/usr/lib/jvm/sun-jdk-1.5
make
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export JDK_HOME=/usr/lib/jvm/java-6-sun
make install
make test_applet2

I'm not sure that'll work, especially since you mentioned Java stopped working for you. I imagine that the version of Java that eselect sees (and that we're using for the compilation) is the same one that stopped working... Of course, it could just be that it stopped working with Firefox, and is itself in working condition.


PS: I've got to commend your determination! :cool: It sounds like its been quite a bit of work to keep things up and running on your box!

JigPu
 
Bump for new version, complete with DEB package for those who dislike compiling :)

JigPu
 
No major improvement, but it did install correctly without my manually moving files, so that's good : ) Performance with wizardpen is still fairly bad. I can't tell if it's the wizardpen driver or the jtablet. I can't figure out how to install JPen so Ican't test that.

Thanks for the work on it though!
 
Yikes!

OK, Marupa here. It's been a long while since I decided to get around to getting my tablet up. I'm on Archlinux x64 version, sun java jdk and jre are installed, using X.Org X Server 1.6.1.901 (1.6.2 RC 1) and my wacom tablet (bamboo) is installed and works in gimp. As far as I am aware, all of the dependencies have been installed. However, whenever I try to 'make', I get the following error:
Code:
make
make -C javasrc
make[1]: Entering directory `/home/marupa/jtablet_0.9.5.2.1_src/javasrc'
javac  -target 1.2 -source 1.2 -cp lui.jar cello/tablettest/*.java
cello/tablettest/JTablettest2.java:13: package cello.tablet does not exist
import cello.tablet.*;
^
cello/tablettest/JTablettest2.java:25: cannot find symbol
symbol  : class JTablet
location: class cello.tablettest.JTablettest2
	JTablet tablet;
	^
cello/tablettest/JTablettest.java:366: package cello.tablet does not exist
			erase = ((cello.tablet.JTabletCursor)tablet_getCursor.invoke(tablet,null)).getCursorType() == cello.tablet.JTabletCursor.TYPE_PEN_ERASER;
			                      ^
cello/tablettest/JTablettest.java:366: package cello.tablet does not exist
			erase = ((cello.tablet.JTabletCursor)tablet_getCursor.invoke(tablet,null)).getCursorType() == cello.tablet.JTabletCursor.TYPE_PEN_ERASER;
			                                                                                                          ^
cello/tablettest/JTablettest2.java:45: cannot find symbol
symbol  : class JTablet
location: class cello.tablettest.JTablettest2
			tablet = new JTablet();
			             ^
cello/tablettest/JTablettest2.java:46: cannot find symbol
symbol  : class JTabletException
location: class cello.tablettest.JTablettest2
		} catch (JTabletException e) {
		         ^
cello/tablettest/JTablettest2.java:114: cannot find symbol
symbol  : class JTabletCursor
location: class cello.tablettest.JTablettest2
		JTabletCursor cursor = null;
		^
cello/tablettest/JTablettest2.java:118: cannot find symbol
symbol  : class JTabletException
location: class cello.tablettest.JTablettest2
			} catch (JTabletException ex) {
			         ^
cello/tablettest/JTablettest2.java:129: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_STYLUS:
					     ^
cello/tablettest/JTablettest2.java:132: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_AIRBRUSH:
					     ^
cello/tablettest/JTablettest2.java:135: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_4DMOUSE:
					     ^
cello/tablettest/JTablettest2.java:138: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_LENS_CURSOR:
					     ^
cello/tablettest/JTablettest2.java:144: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_UNKNOWN:
					     ^
cello/tablettest/JTablettest2.java:147: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_PEN_TIP:
					     ^
cello/tablettest/JTablettest2.java:150: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_PEN_ERASER:
					     ^
cello/tablettest/JTablettest2.java:153: cannot find symbol
symbol  : variable JTabletCursor
location: class cello.tablettest.JTablettest2
					case JTabletCursor.TYPE_PUCK:
					     ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
16 errors
make[1]: *** [jtablettest.jar] Error 1
make[1]: Leaving directory `/home/marupa/jtablet_0.9.5.2.1_src/javasrc'
make: *** [all] Error 2
 
Sorry about the delay -- it took a while for me to find an x86-64 machine that I could test on.

The fix to the error you're having is pretty simple, and is a result of the classpath not being quite right. I'll make a fix and upload shortly, but in the meantime here's what you need to do:

In the file javasrc/Makefile, edit the following lines:
Code:
jtablettest.jar: lui.jar cello/tablettest/*.java
     javac $(FLAGS) -cp lui.jar cello/tablettest/*.java
to become:
Code:
jtablettest.jar: lui.jar jtablet.jar cello/tablettest/*.java
     javac $(FLAGS) -cp lui.jar:jtablet.jar cello/tablettest/*.java

Java was confused because it couldn't find any of the compiled "cello.tablet" files. On some systems you'll find the "." directory in Java's classpath, which would have let Java find the recently-compiled files. Your install didn't have that though, so we have to tell Java explicitly where to find them. Since we stuff them all into jtablet.jar, we can tell it to look there. We also have to tell make that we'll need to build jtablet.jar before we build jtablettest.jar.


Additionally, you'll want to edit the c++src/X11/Makefile, turning this:
Code:
INSTPATH = /usr/java/packages/lib/i386
into this:
Code:
INSTPATH = /usr/java/packages/lib/amd64


Also be sure that JDK_HOME is properly set (/opt/java for Arch Linux) ;)


Now that I have access to Arch Linux, I may create a PKGBUILD to make Arch Linux installation easier.

JigPu
 
Back