Creating javahl JNI bindings for Subclipse

Mark Evenson evenson at panix.com
Thu Sep 9 00:33:29 PDT 2004


Thanks for all the great work getting Eclipse 3.0 working:  now on to the
plugins!

In working through porting Subclipse (the Subversion plugin for Eclipse) on
FreeBSD 5.2.1, I run into the attached error compiling libsvnjavahl.so
(Java High Level JNI bindings for SVN), which is an unsatisfied compile
time linkage error to 'apr_thread_mutex_lock'.  This arises from the ports
default use of the non-threaded APR model in Apache httpd, and therefore in
Subversion.  

Any recommendations to a shortest path to getting Subclipse working among:

Waiting for subversion-1.1, which builds the javahl interface by default,
is not really an attractive options, as we seem to be in the middle of a
ports freeze for the stabilization of RELENG_5.

Rewriting the subversion-1.0.6 code to use a per-process locking model from
APR, which I think will not work from the inherently multi-threaded Java.

Compiling www/apache2 and devel/subversion with the threading model.  This
is marked as 'experimental' all over the ports Makefiles.  How experimental
is this really?

-- 
Mark Evenson <evenson at panix.com>

"A screaming comes across the sky.  It has happened before, but there is
nothing to compare to it now."

-------------- next part --------------
ub1868-1413:/usr/ports/devel/subversion/work/subversion-1.0.6/subversion/bindings/java/javahl/native$ gmake
gmake  all-am
gmake[1]: Entering directory `/usr/ports/devel/subversion/work/subversion-1.0.6/subversion/bindings/java/javahl/native'
source='JNICriticalSection.cpp' object='JNICriticalSection.lo' libtool=yes \
depfile='.deps/JNICriticalSection.Plo' tmpdepfile='.deps/JNICriticalSection.TPlo' \
depmode=gcc3 /usr/local/bin/bash ../depcomp \
/usr/local/bin/bash ../libtool --mode=compile g++ -DPACKAGE_NAME=\"javahl\" -DPACKAGE_TARNAME=\"javahl\" -DPACKAGE_VERSION=\"0.32.1\" -DPACKAGE_STRING=\"javahl\ 0.32.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"javahl\" -DVERSION=\"0.32.1\"  -I. -I. -I/usr/local/include/apache2     -g -O2                         -I../../../../include  -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd -c -o JNICriticalSection.lo `test -f JNICriticalSection.cpp || echo './'`JNICriticalSection.cpp
rm -f .libs/JNICriticalSection.lo
g++ -DPACKAGE_NAME=\"javahl\" -DPACKAGE_TARNAME=\"javahl\" -DPACKAGE_VERSION=\"0.32.1\" "-DPACKAGE_STRING=\"javahl 0.32.1\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"javahl\" -DVERSION=\"0.32.1\" -I. -I. -I/usr/local/include/apache2 -g -O2 -I../../../../include -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd -c JNICriticalSection.cpp -MT JNICriticalSection.lo -MD -MP -MF .deps/JNICriticalSection.TPlo  -fPIC -DPIC -o .libs/JNICriticalSection.lo
JNICriticalSection.cpp: In constructor `
   JNICriticalSection::JNICriticalSection(JNIMutex&)':
JNICriticalSection.cpp:36: error: `apr_thread_mutex_lock' undeclared (first use 
   this function)
JNICriticalSection.cpp:36: error: (Each undeclared identifier is reported only 
   once for each function it appears in.)
JNICriticalSection.cpp: In destructor `
   JNICriticalSection::~JNICriticalSection()':
JNICriticalSection.cpp:47: error: `apr_thread_mutex_unlock' undeclared (first 
   use this function)
gmake[1]: *** [JNICriticalSection.lo] Error 1
gmake[1]: Leaving directory `/usr/ports/devel/subversion/work/subversion-1.0.6/subversion/bindings/java/javahl/native'
gmake: *** [all] Error 2


More information about the freebsd-java mailing list