Print

Print


On Mon, 27 Nov 2006, Brad Cavanagh wrote:

>>  could you do the honours for Intel Mac? Just set the right value for the
>>  stardev attribute: "ant -Dstardev=/local-star build-native" (best to clean
>>  out splat first), install, test and commit the result.
>
> I would like to, but the whole thing doesn't seem to be working. Here's what 
> I've done:
>
> - build.xml: added a 'jdk' property, set to "${java.home}/.."
> - build.xml: set the JDK environment variable to "${jdk}"
> - src/jni/mk: replaced g77 with g95 (I don't have g77 installed on my
>  Intel Mac -- can this possibly be set to use $FC?)
> - src/jni/mk: set $JAVA_SYSTEM to 'i386' (obviously temporary)
> - src/jni/mk: set $JAVA_INCLUDE to '$(JDK)/Headers'

That's disappointing, I'd expected that all you'd need to change would be 
the g95 fix, although thinking about it I seem to remember needing to set 
JAVA_INCLUDE (things like this get picked up from the environment, since 
ultimately the mk script runs "make -e"), but that's done somewhere in my 
setup (obviously).

> After all this I was able to get 'ant build-native' to run to completion (I 
> have 'stardev' set in my ~/.stardev.properties file). 'ant install' ran into 
> another problem: Java ran out of memory signing the jar files, so I added a 
> 'maxmemory="128m"' line to the signjar command, which fixed it.

Just a sign those jar files are getting very big.

> However, upon getting it installed, JNINDF doesn't seem to work, as when I 
> load in a spectrum I get:
>
> gala:~/data bradc$ splat gc20061001_28_sp.sdf
> Starting SPLAT
> SPLAT_DIR = /star/starjava/bin/splat
> Nov 27, 2006 2:43:37 PM uk.ac.starlink.splat.imagedata.NDFJ <clinit>
> WARNING: Failed to load the Starlink SPLAT-VO JNI library
> Nov 27, 2006 2:43:37 PM uk.ac.starlink.splat.imagedata.NDFJ <clinit>
> WARNING: No native NDF support available
> Nov 27, 2006 2:43:37 PM uk.ac.starlink.splat.data.SpecDataFactory 
> makeNDFSpecDataImpl
> INFO: No native NDF support, using less efficient NDX/JNIHDS access
> Nov 27, 2006 2:43:40 PM uk.ac.starlink.splat.util.SplatSOAPServer start
> INFO: Remote services port '8081' opened
>
> libsplat.jnilib is definitely updated in the splat_libs.jar file.

Have a look at the DYLD_LIBRARY_PATH and make sure it's directed at the 
right place. The SPLAT JNI library depends on the JNIAST shareable
(otool -L /star/starjava/lib/i386/libsplat.jnilib might work).

Re: using FC. I did start a project to rework all the JNI build systems to 
starconf/autoconf, but that stalled for reasons I forget (technical 
probably, building dl-loadable-libraries is trickier than normal 
shareables). Hoped that would sort this out. Meanwhile I'll sort out the 
mk/makefiles to do this (little slight of hand required).

Cheers,

Peter.