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.