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
 

Reply via email to