I was trying to build p5-DBD-SQLite as part of the process of updating
p5-DBIx-Class and I couldn't get it to work.
If you currently
cd /usr/ports/databases/p5-DBD-SQLite && make test
It fails with this, ever so helpful, message:
perl:/mnt/memory/pobj/p5-DBD-SQLite-1.50/DBD-SQLite-1.50/blib/arch/auto/DBD/SQLite/SQLite.so:
undefined symbol 'sqlite3_column_database_name'
perl:/mnt/memory/pobj/p5-DBD-SQLite-1.50/DBD-SQLite-1.50/blib/arch/auto/DBD/SQLite/SQLite.so:
undefined symbol 'sqlite3_column_table_name'
Can't load
'/mnt/memory/pobj/p5-DBD-SQLite-1.50/DBD-SQLite-1.50/blib/arch/auto/DBD/SQLite/SQLite.so'
for module DBD::SQLite: Cannot load specified object at
/usr/libdata/perl5/amd64-openbsd/5.20.3/DynaLoader.pm line 193.
This diff at least make *most* of the p5-DBD-SQLite tests pass, but
t/43_fts3.t test won't seem to pass, no matter what I enable.
Obviously the comments would go away, but thought they might be useful
if someone else has some idea why it isn't working. I may have time to
dig into it more in the next week, but going out to dinner now.
Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/sqlite3/Makefile,v
retrieving revision 1.79
diff -u -p -r1.79 Makefile
--- Makefile 23 Sep 2016 09:13:39 -0000 1.79
+++ Makefile 7 Nov 2016 01:26:59 -0000
@@ -4,8 +4,9 @@ COMMENT= embedded SQL implementation
DISTNAME = sqlite-autoconf-3140200
PKGNAME= sqlite3-3.14.2
+REVISION= 0
-SHARED_LIBS += sqlite3 33.0 # 8.6
+SHARED_LIBS += sqlite3 33.1 # 8.6
CATEGORIES= databases
@@ -25,6 +26,47 @@ CONFIGURE_ARGS= --enable-editline \
# for mozilla
CFLAGS+= -DSQLITE_ENABLE_UNLOCK_NOTIFY \
-DSQLITE_ENABLE_DBSTAT_VTAB
+
+# For DBD::SQLite
+CFLAGS+= -DSQLITE_ENABLE_COLUMN_METADATA
+
+# The DBD::SQLite t/43_fts3.t fails, but I enabled all of these that
+# I got from the DBD::SQLite Makefile and it didn't help, so not
+# really sure what's going on :-(
+# -DSQLITE_ENABLE_FTS4
+# -DSQLITE_ENABLE_FTS3_PARENTHESIS
+# -DSQLITE_ENABLE_RTREE
+# -DSQLITE_ENABLE_COLUMN_METADATA
+# -DSQLITE_ENABLE_STAT3
+# -DSQLITE_ENABLE_STAT4
+# -DSQLITE_ENABLE_JSON1
+
+# I also tried adding all of this, from when it was in src
+# but that didn't help with the test either.
+#
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libsqlite3/Attic/Makefile?rev=1.16&content-type=text/x-cvsweb-markup
+# CFLAGS += -DSQLITE_ENABLE_COLUMN_METADATA \
+# -DSQLITE_ENABLE_RTREE \
+# -DSQLITE_ENABLE_UNLOCK_NOTIFY \
+# -DSQLITE_ENABLE_FTS3 \
+# -DSQLITE_ENABLE_FTS3_PARENTHESIS \
+# -DSQLITE_ENABLE_DBSTAT_VTAB \
+# -DSQLITE_OMIT_BUILTIN_TEST
+#
+#CFLAGS += -DSQLITE_THREADSAFE=1 \
+# -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 \
+# -DHAVE_GMTIME_R=1 \
+# -DHAVE_LOCALTIME_R=1 \
+# -DHAVE_USLEEP=1 \
+# -DHAVE_ARC4RANDOM_BUF=1 \
+# -DHAVE_STRERROR_R=1 \
+# -DSQLITE_TEMP_STORE=1 \
+# -DSQLITE_SOUNDEX=1 \
+# -DSQLITE_HAVE_ISNAN=1 \
+# -DSQLITE_OS_UNIX=1 \
+# -DSQLITE_CORE \
+# -DHAVE_UINT32_T=1 -DHAVE_UINT16_T=1 -DHAVE_INT16_T=1 \
+# -DHAVE_UINT8_T=1 -DHAVE_INT8_T=1
+
NO_TEST= Yes