how are the sensor-native artifacts built?

0 views
Skip to first unread message

Stephen Bannasch

unread,
Sep 12, 2010, 2:42:59 AM9/12/10
to org-conco...@googlegroups.com
I've got an updated version of the sensor-applet deployed in my local jnlp test setup that loads the nar file from the applet
codebase instead of being hard-coded to jnlp.concord.org/dev/...

I've got the V1.4.0 goio nars installed in my local jnlp dir and the new sensor-applet loads them instead of getting them from
jnlp.concord.org/dev/...

Now I want to figure out how to regenerate the existing goio-nars from source.

The dependent step appears to be generating: libvernier_ccsd.jnilib (which combines: libvernier_ccsd-ppc.jnilib and
libvernier_ccsd-macintel.jnilib).

Once I can get this working I want to update this to also generate a jnilib that uses the 64bit goio dylib I created.

I've got sensor-native checked out and run: make all Which display's this on the console:

swig -java -Iinclude -package ccsd.vernier -outdir src/swig/java/ccsd/vernier -o src/swig/VernierSensorDevice_wrap.c
src/swig/CCSensorDevice.i

But it looks like there are two files in src/swig/java/ccsd/vernier/ that didn't get updated: SWIGTYPE_p_SensorParam.java and
NativeBridgeConstants.java

[sensor-native (master)]$ ls -ltr src/swig/java/ccsd/vernier/
total 112
-rw-r--r-- 1 stephen staff 1672 Sep 11 22:00 SWIGTYPE_p_SensorParam.java
-rw-r--r-- 1 stephen staff 3123 Sep 11 22:00 NativeBridgeConstants.java
-rw-r--r-- 1 stephen staff 1425 Sep 12 01:45 SensorParam.java
-rw-r--r-- 1 stephen staff 3952 Sep 12 01:45 SensorConfig.java
-rw-r--r-- 1 stephen staff 701 Sep 12 01:45 SWIGTYPE_p_void.java
-rw-r--r-- 1 stephen staff 757 Sep 12 01:45 SWIGTYPE_p_p_ExperimentConfig.java
-rw-r--r-- 1 stephen staff 705 Sep 12 01:45 SWIGTYPE_p_float.java
-rw-r--r-- 1 stephen staff 5915 Sep 12 01:45 QuantityType.java
-rw-r--r-- 1 stephen staff 7165 Sep 12 01:45 NativeBridgeJNI.java
-rw-r--r-- 1 stephen staff 3437 Sep 12 01:45 NativeBridge.java
-rw-r--r-- 1 stephen staff 4332 Sep 12 01:45 ExperimentConfig.java

When I then run: mvn clean; mvn package I get a series of errors like this:

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

/Users/stephen/dev/test/sensor-applet/java/sensor-native/src/swig/java/ccsd/vernier/NativeBridgeConstants.java:[37,60] cannot
find symbol
symbol : method get_QUANTITY_UNKNOWN()
location: class ccsd.vernier.NativeBridgeJNI

/Users/stephen/dev/test/sensor-applet/java/sensor-native/src/swig/java/ccsd/vernier/NativeBridgeConstants.java:[38,64] cannot
find symbol
symbol : method get_QUANTITY_TEMPERATURE()
location: class ccsd.vernier.NativeBridgeJNI

...

-------- FYI ----------

The test setup is working well.

I'm using this: http://github.com/stepheneb/lightweight-sensor-graphs to both initially populate a jnlp dir with the jars and
deploy a Rack server that runs a lightweight goio temperature grapher.

I'm using bonjour (zeroconf) to share the local server with other Macs I have here:

$ dns-sd -R "GoIO Temperature Grapher" _http._tcp "" 4321
Registering Service GoIO Temperature Grapher._http._tcp port 4321
21:18:39.631 Got a reply for service GoIO Temperature Grapher._http._tcp.local.: Name now registered and active

I'm using this (hacky but useful)
...Ruby script to compile, jar, sign and pack200 and deploy to the jnlp server: http://gist.github.com/575897

Opening Safari on my PPC MacOS 10.4 system (with the Charles http proxy running) I can find "GoIO Temperature Grapher" listed
under the Bonjour bookmark.

One thing I noticed is that even though I am using a plain applet tag the requests from Java are sending and accept-encoding
header with 'pack200-gzip' -- so the jnlp server is delivering the jars as pack200-gzip archives.

You can see a slightly older version of this code here: http://jnlp.dev.concord.org/goio-temperature-graph.html

--
- Stephen Bannasch
Concord Consortium, http://www.concord.org

Reply all
Reply to author
Forward
0 new messages