building SqliteJDBC

40 views
Skip to first unread message

cbare

unread,
Jun 5, 2009, 8:08:17 PM6/5/09
to Xerial
Hi,

I'd like to try and build a version of the native libraries for Java 6
under Mac OS X (which is 64-bit only, BTW).

I tried building following the instructions on SqliteJDBC's web page
and got this error:

gcc -arch i386 -I/System/Library/Frameworks/JavaVM.framework/Versions/
1.6/Home/include -Os -fPIC -Ibuild/sqlite-3.6.14.2-Darwin-i386 -
Ibuild -c -o build/Darwin-i386/NativeDB.o \
../src/main/java/org/sqlite/NativeDB.c
gcc -arch i386 -I/System/Library/Frameworks/JavaVM.framework/Versions/
1.6/Home/include -Os -fPIC -Ibuild/sqlite-3.6.14.2-Darwin-i386 -
Ibuild -dynamiclib -isysroot /Developer/SDKs/MacOSX10.4u.sdk -o build/
Darwin-i386/libsqlitejdbc.jnilib \
build/Darwin-i386/NativeDB.o build/sqlite-3.6.14.2-Darwin-i386/*.o
ld: library not found for -ldylib1.10.5.o
collect2: ld returned 1 exit status
make[1]: *** [build/Darwin-i386/libsqlitejdbc.jnilib] Error 1
make: *** [sqlitejdbc/build/sqlite-3.6.14.2-Darwin-i386] Error 2


My gcc chops are totally nonexistant, so if anyone could provide a few
missing clues to help me through getting make to work, that would be
great. Thanks,

-chris


cbare

unread,
Jun 5, 2009, 11:26:41 PM6/5/09
to Xerial
OK, got a little further on my own. The project now compiles, but some
tests fail. Is that expected? See output below.

What I had to do was change sqlitejdbc/Makefile.common which had a
reference to the OS X 10.4 SDK to point to the 10.5 SDK instead, like
so:

#Support10_4 := -isysroot /Developer/SDKs/MacOSX10.4u.sdk
Support10_5 := -isysroot /Developer/SDKs/MacOSX10.5.sdk


Maven output follows:
...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.sqlite.ConnectionTest
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.644
sec
Running org.sqlite.InsertQueryTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.601
sec
Running org.sqlite.DBMetaDataTest
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.216
sec
Running org.sqlite.SQLitePureJavaTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.03
sec
Running org.sqlite.TransactionTest
Tests run: 11, Failures: 0, Errors: 3, Skipped: 0, Time elapsed:
13.538 sec <<< FAILURE!
Running org.sqlite.OSInfoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044
sec
Running org.sqlite.PrepStmtTest
Tests run: 27, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.951
sec
Running org.sqlite.JDBCTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006
sec
Running org.sqlite.UDFTest
Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.542
sec
Running org.sqlite.StatementTest
Tests run: 25, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 1.924
sec
Running org.sqlite.BackupTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028
sec
Running org.sqlite.RSMetaDataTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.255
sec
Running org.sqlite.QueryTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.213
sec
Running org.sqlite.ReadUncommittedTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.132
sec
Running org.sqlite.SQLiteJDBCLoaderTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037
sec

Results :

Tests in error:
insert(org.sqlite.TransactionTest)
locking(org.sqlite.TransactionTest)
multiRollback(org.sqlite.TransactionTest)

Tests run: 133, Failures: 0, Errors: 3, Skipped: 2

...

Thanks for any hints!

-chris

leo

unread,
Jun 9, 2009, 12:04:24 AM6/9/09
to Xerial

The detailed error message is generated in target/surefire-reports
folder.
I would like to see the error messages for the failed tests.

cbare

unread,
Jul 2, 2009, 11:02:30 AM7/2/09
to Xerial
<?xml version="1.0" encoding="UTF-8" ?>
<testsuite failures="0" time="13.912" errors="3" skipped="0"
tests="11" name="org.sqlite.TransactionTest">
<properties>
<property name="java.runtime.name" value="Java(TM) SE Runtime
Environment"/>
<property name="sun.boot.library.path" value="/System/Library/
Frameworks/JavaVM.framework/Versions/1.6.0/Libraries"/>
<property name="java.vm.version" value="1.6.0_07-b06-57"/>
<property name="awt.nativeDoubleBuffering" value="true"/>
<property name="gopherProxySet" value="false"/>
<property name="java.vm.vendor" value="Apple Inc."/>
<property name="java.vendor.url" value="http://www.apple.com/"/>
<property name="path.separator" value=":"/>
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit
Server VM"/>
<property name="file.encoding.pkg" value="sun.io"/>
<property name="user.country" value="US"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="sun.os.patch.level" value="unknown"/>
<property name="java.vm.specification.name" value="Java Virtual
Machine Specification"/>
<property name="user.dir" value="/Users/cbare/Documents/work/isb/
projects/genome_browser/SqliteJDBC/xerial-sqlite-jdbc"/>
<property name="java.runtime.version" value="1.6.0_07-b06-153"/>
<property name="java.awt.graphicsenv"
value="apple.awt.CGraphicsEnvironment"/>
<property name="basedir" value="/Users/cbare/Documents/work/isb/
projects/genome_browser/SqliteJDBC/xerial-sqlite-jdbc"/>
<property name="java.endorsed.dirs" value="/System/Library/
Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/endorsed"/>
<property name="os.arch" value="x86_64"/>
<property name="sqlite.purejava" value="true"/>
<property name="surefire.real.class.path" value="/tmp/
surefirebooter21872.jar"/>
<property name="java.io.tmpdir" value="/tmp"/>
<property name="line.separator" value="
"/>
<property name="java.vm.specification.vendor" value="Sun
Microsystems Inc."/>
<property name="os.name" value="Mac OS X"/>
<property name="sun.jnu.encoding" value="MacRoman"/>
<property name="java.library.path" value=".:/Library/Java/
Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
<property name="surefire.test.class.path" value="/Users/cbare/
Documents/work/isb/projects/genome_browser/SqliteJDBC/xerial-sqlite-
jdbc/target/classes:/Users/cbare/Documents/work/isb/projects/
genome_browser/SqliteJDBC/xerial-sqlite-jdbc/target/test-classes:/
Users/cbare/.m2/repository/junit/junit/4.1/junit-4.1.jar:/Users/
cbare/.m2/repository/org/xerial/thirdparty/jdbc-api/1.4/jdbc-
api-1.4.jar:/Users/cbare/.m2/repository/org/xerial/thirdparty/nestedvm/
1.0/nestedvm-1.0.jar:"/>
<property name="java.specification.name" value="Java Platform API
Specification"/>
<property name="java.class.version" value="50.0"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit
Server Compiler"/>
<property name="os.version" value="10.5.7"/>
<property name="user.home" value="/Users/cbare"/>
<property name="user.timezone" value="America/Los_Angeles"/>
<property name="java.awt.printerjob" value="apple.awt.CPrinterJob"/
>
<property name="java.specification.version" value="1.6"/>
<property name="file.encoding" value="MacRoman"/>
<property name="user.name" value="cbare"/>
<property name="java.class.path" value="/Users/cbare/Documents/
work/isb/projects/genome_browser/SqliteJDBC/xerial-sqlite-jdbc/target/
classes:/Users/cbare/Documents/work/isb/projects/genome_browser/
SqliteJDBC/xerial-sqlite-jdbc/target/test-classes:/Users/cbare/.m2/
repository/junit/junit/4.1/junit-4.1.jar:/Users/cbare/.m2/repository/
org/xerial/thirdparty/jdbc-api/1.4/jdbc-api-1.4.jar:/Users/cbare/.m2/
repository/org/xerial/thirdparty/nestedvm/1.0/nestedvm-1.0.jar:"/>
<property name="java.vm.specification.version" value="1.0"/>
<property name="sun.arch.data.model" value="64"/>
<property name="java.home" value="/System/Library/Frameworks/
JavaVM.framework/Versions/1.6.0/Home"/>
<property name="java.specification.vendor" value="Sun Microsystems
Inc."/>
<property name="user.language" value="en"/>
<property name="awt.toolkit" value="apple.awt.CToolkit"/>
<property name="java.vm.info" value="mixed mode"/>
<property name="java.version" value="1.6.0_07"/>
<property name="java.ext.dirs" value="/Library/Java/Extensions:/
System/Library/Java/Extensions:/System/Library/Frameworks/
JavaVM.framework/Versions/1.6.0/Home/lib/ext"/>
<property name="sun.boot.class.path" value="/System/Library/
Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar:/System/
Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/ui.jar:/
System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/
laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/
Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/
Versions/1.6.0/Classes/jsse.jar:/System/Library/Frameworks/
JavaVM.framework/Versions/1.6.0/Classes/jce.jar:/System/Library/
Frameworks/JavaVM.framework/Versions/1.6.0/Classes/charsets.jar"/>
<property name="java.vendor" value="Apple Inc."/>
<property name="localRepository" value="/Users/cbare/.m2/
repository"/>
<property name="file.separator" value="/"/>
<property name="java.vendor.url.bug" value="http://
bugreport.apple.com/"/>
<property name="sun.cpu.endian" value="little"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="mrj.version" value="1040.1.6.0_07-153"/>
<property name="sun.cpu.isalist" value=""/>
</properties>
<testcase time="3.076" classname="org.sqlite.TransactionTest"
name="insert">
<error message="database is locked"
type="java.sql.SQLException">java.sql.SQLException: database is locked
at org.sqlite.DB.throwex(DB.java:380)
at org.sqlite.NestedDB.prepare(NestedDB.java:140)
at org.sqlite.DB.prepare(DB.java:135)
at org.sqlite.Stmt.executeQuery(Stmt.java:89)
at org.sqlite.TransactionTest.insert(TransactionTest.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody
(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected
(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod
(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run
(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod
(TestClassMethodsRunner.java:71)
at org.junit.internal.runners.TestClassMethodsRunner.run
(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected
(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run
(TestClassRunner.java:52)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute
(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet
(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute
(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess
(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main
(SurefireBooter.java:1009)
</error>
</testcase>
<testcase time="0.081" classname="org.sqlite.TransactionTest"
name="multiConn"/>
<testcase time="3.03" classname="org.sqlite.TransactionTest"
name="locking">
<error message="database is locked"
type="java.sql.SQLException">java.sql.SQLException: database is locked
at org.sqlite.DB.throwex(DB.java:380)
at org.sqlite.NestedDB.prepare(NestedDB.java:140)
at org.sqlite.DB.prepare(DB.java:135)
at org.sqlite.Stmt.executeUpdate(Stmt.java:102)
at org.sqlite.TransactionTest.locking(TransactionTest.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody
(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected
(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod
(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run
(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod
(TestClassMethodsRunner.java:71)
at org.junit.internal.runners.TestClassMethodsRunner.run
(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected
(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run
(TestClassRunner.java:52)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute
(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet
(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute
(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess
(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main
(SurefireBooter.java:1009)
</error>
</testcase>
<testcase time="0.042" classname="org.sqlite.TransactionTest"
name="rollback"/>
<testcase time="3.057" classname="org.sqlite.TransactionTest"
name="multiRollback">
<error message="database is locked"
type="java.sql.SQLException">java.sql.SQLException: database is locked
at org.sqlite.DB.throwex(DB.java:380)
at org.sqlite.NestedDB.prepare(NestedDB.java:140)
at org.sqlite.DB.prepare(DB.java:135)
at org.sqlite.Stmt.executeQuery(Stmt.java:89)
at org.sqlite.TransactionTest.multiRollback(TransactionTest.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody
(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected
(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod
(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run
(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod
(TestClassMethodsRunner.java:71)
at org.junit.internal.runners.TestClassMethodsRunner.run
(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected
(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected
(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run
(TestClassRunner.java:52)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute
(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet
(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute
(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess
(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main
(SurefireBooter.java:1009)
</error>
</testcase>
<testcase time="0.125" classname="org.sqlite.TransactionTest"
name="transactionsDontMindReads"/>
<testcase time="1.306" classname="org.sqlite.TransactionTest"
name="secondConnWillWait"/>
<testcase time="3.053" classname="org.sqlite.TransactionTest"
name="secondConnMustTimeout"/>
<testcase time="0.043" classname="org.sqlite.TransactionTest"
name="cantUpdateWhileReading"/>
<testcase time="0.027" classname="org.sqlite.TransactionTest"
name="cantCommit"/>
<testcase time="0.045" classname="org.sqlite.TransactionTest"
name="cantRollback"/>
</testsuite>
Reply all
Reply to author
Forward
0 new messages