java sqlite on FreeBSD 6.0
Frédéric de la Goublaye
fredericdelagoublaye at free.fr
Sun Dec 4 05:36:25 PST 2005
Thanks for your quick support.
I am making some progress ...
I copy jawt_md.h and jni_md.h from the sub directory /usr/local/jdk1.4.2/include/freebsd/
to the directory /usr/local/jdk1.4.2/include/
I do not really know what I am doing but ... it is working.
make
./libtool gcc -c -Wall -O -fPIC -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd6.0 -I/usr/local/include -I/usr/local/include -DHAVE_SQLITE2=1 -DHAVE_SQLITE3=1 -DHAVE_SQLITE_FUNCTION_TYPE=1 -DHAVE_SQLITE_OPEN_AUX_FILE=0 -DHAVE_SQLITE_SET_AUTHORIZER=1 -DHAVE_SQLITE_TRACE=1 -DHAVE_SQLITE_COMPILE=1 -DHAVE_SQLITE_PROGRESS_HANDLER=1 native/sqlite_jni.c
rm -f .libs/sqlite_jni.lo
gcc -c -Wall -O -fPIC -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd6.0 -I/usr/local/include -I/usr/local/include -DHAVE_SQLITE2=1 -DHAVE_SQLITE3=1 -DHAVE_SQLITE_FUNCTION_TYPE=1 -DHAVE_SQLITE_OPEN_AUX_FILE=0 -DHAVE_SQLITE_SET_AUTHORIZER=1 -DHAVE_SQLITE_TRACE=1 -DHAVE_SQLITE_COMPILE=1 -DHAVE_SQLITE_PROGRESS_HANDLER=1 native/sqlite_jni.c -fPIC -DPIC -o .libs/sqlite_jni.lo
gcc -c -Wall -O -fPIC -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd6.0 -I/usr/local/include -I/usr/local/include -DHAVE_SQLITE2=1 -DHAVE_SQLITE3=1 -DHAVE_SQLITE_FUNCTION_TYPE=1 -DHAVE_SQLITE_OPEN_AUX_FILE=0 -DHAVE_SQLITE_SET_AUTHORIZER=1 -DHAVE_SQLITE_TRACE=1 -DHAVE_SQLITE_COMPILE=1 -DHAVE_SQLITE_PROGRESS_HANDLER=1 native/sqlite_jni.c -o sqlite_jni.o >/dev/null 2>&1
mv -f .libs/sqlite_jni.lo sqlite_jni.lo
./libtool gcc -o libsqlite_jni.la sqlite_jni.lo -rpath /usr/local/lib /usr/local/lib/libsqlite.a /usr/local/lib/libsqlite3.la
*** Warning: Linking the shared library libsqlite_jni.la against the
*** static library /usr/local/lib/libsqlite.a is not portable!
rm -fr .libs/libsqlite_jni.la .libs/libsqlite_jni.* .libs/libsqlite_jni.*
gcc -shared sqlite_jni.lo -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib /usr/local/lib/libsqlite.a /usr/local/lib/libsqlite3.so -lc -Wl,-soname -Wl,libsqlite_jni.so.0 -o .libs/libsqlite_jni.so.0
(cd .libs && rm -f libsqlite_jni.so && ln -s libsqlite_jni.so.0 libsqlite_jni.so)
(cd .libs && rm -f libsqlite_jni.so && ln -s libsqlite_jni.so.0 libsqlite_jni.so)
ar cru .libs/libsqlite_jni.a /usr/local/lib/libsqlite.a sqlite_jni.o /usr/local/lib/libsqlite.a
ranlib .libs/libsqlite_jni.a
creating libsqlite_jni.la
(cd .libs && rm -f libsqlite_jni.la && ln -s ../libsqlite_jni.la libsqlite_jni.la)
#make test
/usr/local/jdk1.4.2/bin/javac test.java
# java test
Unable to load sqlite: java.lang.UnsatisfiedLinkError: no sqlite_jni in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: version
at SQLite.Database.version(Native Method)
at test.main(test.java:72)
# java -jar sqlite.jar test
Unable to load sqlite: java.lang.UnsatisfiedLinkError: no sqlite_jni in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: open
at SQLite.Database.open(Native Method)
at SQLite.Shell.main(Shell.java:494)
Have you any idear ?
Thanks
Frédéric
----- Original Message -----
From: "Frédéric de la Goublaye" <fredericdelagoublaye at free.fr>
To: "Panagiotis Astithas" <past at ebs.gr>
Sent: Sunday, December 04, 2005 2:05 PM
Subject: Re: java sqlite on FreeBSD 6.0
> Ouah ! Thanks for your quick support
>
> I reinstall sqlite3 with the ports
>
> I tried this command:
>
> ./configure --with-jdk=/usr/local/jdk1.4.2
>
> Now I have the message:
>
> configure: WARNING: setting generic JNI include file directives!
> setting JNI include file
> directives: -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd6.0
>
> but the make gives this error:
>
> make
> ./libtool
> gcc -c -Wall -O -fPIC -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd6.0
> -I/usr/local/include -I/usr/local/include -DHAVE_SQLITE2=1 -DHAVE_SQLITE3=1
> -DHAVE_SQLITE_FUNCTION_TYPE=1 -DHAVE_SQLITE_OPEN_AUX_FILE=0 -DHAVE_SQLITE_SET_AUTHORIZER=1
> -DHAVE_SQLITE_TRACE=1 -DHAVE_SQLITE_COMPILE=1 -DHAVE_SQLITE_PROGRESS_HANDLER=1
> native/sqlite_jni.c
> rm -f .libs/sqlite_jni.lo
> gcc -c -Wall -O -fPIC -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd6.0
> -I/usr/local/include -I/usr/local/include -DHAVE_SQLITE2=1 -DHAVE_SQLITE3=1
> -DHAVE_SQLITE_FUNCTION_TYPE=1 -DHAVE_SQLITE_OPEN_AUX_FILE=0 -DHAVE_SQLITE_SET_AUTHORIZER=1
> -DHAVE_SQLITE_TRACE=1 -DHAVE_SQLITE_COMPILE=1 -DHAVE_SQLITE_PROGRESS_HANDLER=1
> native/sqlite_jni.c -fPIC -DPIC -o .libs/sqlite_jni.lo
> In file included from native/sqlite_jni.h:2,
> from native/sqlite_jni.c:20:
> /usr/local/jdk1.4.2/include/jni.h:27:20: jni_md.h: No such file or directory
> In file included from native/sqlite_jni.h:2,
> from native/sqlite_jni.c:20:
> /usr/local/jdk1.4.2/include/jni.h:45: error: syntax error before "jsize"
> /usr/local/jdk1.4.2/include/jni.h:45: warning: type defaults to `int' in
> declaration of `jsize'
>
>
>
>
> ----- Original Message -----
> From: "Panagiotis Astithas" <past at ebs.gr>
> To: "Frédéric de la Goublaye" <fredericdelagoublaye at free.fr>
> Cc: <freebsd-java at freebsd.org>
> Sent: Sunday, December 04, 2005 1:08 PM
> Subject: Re: java sqlite on FreeBSD 6.0
>
>
>> Frédéric de la Goublaye wrote:
>>
>> [...]
>>
>> > install jdk1.4.10: working good (from ports jdk14 after refresh with
>> cvsup)
>> > install tomcat 5.5.12: working good
>> >
>> > installed sqlite-3.2.7 from www.sqlite.org: (re-compile src): working
>> good
>>
>> Note that you can find a port for this in databases/sqlite3.
>>
>> [...]
>>
>>> configure: WARNING: setting generic JNI include file directives!
>>> setting JNI include file
>>> directives: -I/usr/local/include -I/usr/local/include/freebsd6.0
>>
>> This must be your problem. The configure script does not find the jdk
>> header files. For jdk14 you should
>> have -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd.
>>
>>> using JDBC driver from JDBC2x directory
>>> configure: creating ./config.status
>>> config.status: creating Makefile
>>>
>>> make
>>>
>>> /usr/local/bin/javac SQLite/Authorizer.java
>>> /usr/local/bin/javac SQLite/BusyHandler.java
>>> /usr/local/bin/javac SQLite/Callback.java
>>> /usr/local/bin/javac SQLite/Database.java
>>> /usr/local/bin/javac SQLite/Shell.java
>>> ./libtool
>>> cc -I/usr/local/include -DHAVE_SQLITE2=0 -DHAVE_SQLITE3=1 -o
>>> native/mkconst native/mkconst.c /usr/local/lib/libsqlite3.la
>>> mkdir native/.libs
>>> gcc -I/usr/local/include -DHAVE_SQLITE2=0 -DHAVE_SQLITE3=1 -o
>>> native/mkconst native/mkconst.c
>>> /usr/local/lib/libsqlite3.so -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath
>>> -Wl,/usr/local/lib
>>> native/mkconst > SQLite/Constants.java
>>> /usr/local/bin/javac SQLite/Constants.java
>>> /usr/local/bin/javac SQLite/StringEncoder.java
>>> /usr/local/bin/javac SQLite/JDBCDriver.java
>>> /usr/local/bin/javac SQLite/JDBC2x/JDBCConnection.java
>>> /usr/local/bin/jar cmf manifest sqlite.jar SQLite/Authorizer.class
>>> SQLite/BusyHandler.class SQLite/Callback.class SQLite/Database.class
>>> SQLite/Exception.class SQLite/Shell.class SQLite/TableResult.class
>>> SQLite/Function.class SQLite/FunctionContext.class
>>> SQLite/Constants.class SQLite/Trace.class SQLite/Vm.class
>>> SQLite/ProgressHandler.class SQLite/StringEncoder.class
>>> SQLite/DBDump.class SQLite/JDBCDriver.class
>>> SQLite/JDBC2x/JDBCConnection.class SQLite/JDBC2x/JDBCStatement.class
>>> SQLite/JDBC2x/JDBCResultSet.class
>>> SQLite/JDBC2x/JDBCResultSetMetaData.class
>>> SQLite/JDBC2x/JDBCDatabaseMetaData.class
>>> SQLite/JDBC2x/JDBCPreparedStatement.class
>>> SQLite/JDBC2x/TableResultX.class SQLite/JDBC2x/DatabaseX.class
>>> /usr/local/bin/javah -jni -o native/sqlite_jni.h SQLite.Database
>>> SQLite.Vm SQLite.FunctionContext
>>> ....
>>> ....
>>>
>>> native/sqlite_jni.h:111: error: syntax error before "jstring"
>>> native/sqlite_jni.h:112: error: syntax error before '*' token
>>> native/sqlite_jni.h:112: warning: type defaults to `int' in declaration
>>> of `Java_SQLite_Database_version'
>>> native/sqlite_jni.h:112: warning: data definition has no type or storage
>>> class
>>> native/sqlite_jni.h:119: error: syntax error before "jstring"
>>> native/sqlite_jni.h:120: error: syntax error before '*' token
>>> native/sqlite_jni.h:120: warning: type defaults to `int' in declaration
>>> of `Java_SQLite_Database_dbversion'
>>> native/sqlite_jni.h:120: warning: data definition has no type or storage
>>> class
>>> native/sqlite_jni.h:127: error: syntax error before "void"
>>> native/sqlite_jni.h:135: error: syntax error before "void"
>>> native/sqlite_jni.h:143: error: syntax error before "void"
>>> native/sqlite_jni.h:152: error: syntax error before '*' token
>>> native/sqlite_jni.h:152: warning: type defaults to `int' in declaration
>>> of `Java_SQLite_Database_error_1string'
>>> native/sqlite_jni.h:152: warning: data definition has no type or storage
>>> class
>>> native/sqlite_jni.h:159: error: syntax error before "void"
>>> native/sqlite_jni.h:167: error: syntax error before "void"
>>> native/sqlite_jni.h:175: error: syntax error before "void"
>>> native/sqlite_jni.h:184: error: syntax error before '*' token
>>> native/sqlite_jni.h:184: warning: type defaults to `int' in declaration
>>> of `Java_SQLite_Database_is3'
>>> native/sqlite_jni.h:184: warning: data definition has no type or storage
>>> class
>>> native/sqlite_jni.h:191: error: syntax error before "void"
>>> native/sqlite_jni.h:199: error: syntax error before "void"
>>> native/sqlite_jni.h:207: error: syntax error before "void"
>>> native/sqlite_jni.h:215: error: syntax error before "void"
>>> native/sqlite_jni.h:235: error: syntax error before '*' token
>>> native/sqlite_jni.h:235: warning: type defaults to `int' in declaration
>>> of `Java_SQLite_Vm_step'
>>> native/sqlite_jni.h:235: warning: data definition has no type or storage
>>> class
>>> native/sqlite_jni.h:242: error: syntax error before "jboolean"
>>> native/sqlite_jni.h:243: error: syntax error before '*' token
>>> native/sqlite_jni.h:243: warning: type defaults to `int' in declaration
>>> of `Java_SQLite_Vm_compile'
>>> native/sqlite_jni.h:243: warning: data definition has no type or storage
>>> class
>>> native/sqlite_jni.h:250: error: syntax error before "void"
>>> native/sqlite_jni.h:258: error: syntax error before "void"
>>> native/sqlite_jni.h:266: error: syntax error before "void"
>>> native/sqlite_jni.h:285: error: syntax error before "void"
>>> native/sqlite_jni.h:293: error: syntax error before "void"
>>> native/sqlite_jni.h:301: error: syntax error before "void"
>>> native/sqlite_jni.h:309: error: syntax error before "void"
>>> ....
>>> native/sqlite_jni.c: At top level:
>>> native/sqlite_jni.c:702: error: syntax error before "void"
>>> native/sqlite_jni.c:110: warning: 'seterr' defined but not used
>>> native/sqlite_jni.c:120: warning: 'setvmerr' defined but not used
>>> native/sqlite_jni.c:165: warning: 'globrefset' defined but not used
>>> native/sqlite_jni.c:214: warning: 'transfree' defined but not used
>>> native/sqlite_jni.c:222: warning: 'trans2iso' defined but not used
>>> native/sqlite_jni.c:331: warning: 'busyhandler3' defined but not used
>>> native/sqlite_jni.c:353: warning: 'progresshandler' defined but not used
>>> native/sqlite_jni.c:372: warning: 'callback' defined but not used
>>> native/sqlite_jni.c:625: warning: 'doclose' defined but not used
>>> *** Error code 1
>>>
>>> Stop in /usr/local/sqlite/javasqlite-20050608.
>>
>
More information about the freebsd-java
mailing list