On Sun, Nov 06, 2016 at 06:33:52PM -0700, Andrew Fresh wrote: > 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. > + > +# 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 \
Ooops. All those ones should be re-enabled nevertheless, i know mozilla depends on at least unlock_notify and fts3 if we want to run properly against systemwide sqlite, see http://hg.mozilla.org/releases/mozilla-release/file/tip/old-configure.in#l4580 i cheat for SECURE_DELETE since there's a patch doing this via a pragma at runtime, but the others are configure-time checked.