[OE-core] [PATCH] sqlite3_3: Update to 3.25.2

Burton, Ross ross.burton at intel.com
Mon Nov 5 16:21:46 UTC 2018


On Mon, 5 Nov 2018 at 16:11, Burton, Ross <ross.burton at intel.com> wrote:
> On Mon, 5 Nov 2018 at 11:43, Burton, Ross <ross.burton at intel.com> wrote:
> > Mining the list archive shows that we keep on getting sqlite upgrades
> > which fail like this.  Maxin reported that it was due to the
> > full-text-search code enabling itself and failing to build, so one
> > solution is to explicitly turn it off.
>
> Did some digging.
>
> FTS5 is enabled by default, this needs log() from libm.  If enabled,
> AC_SEARCH_LIBS is used to find log() and libm.so, and this bonus
> dependency that is needed if statically linking is recorded in
> sqlite3.pc.  Pseudo then builds, statically links to pseudo, but also
> hard-codes the link line instead of using pkgconfig so this -lm isn't
> added, resulting in a link failure on upgrade.
>
> So that explains why the autobuilder explodes when this upgrade
> happens, but doesn't explain how it builds for everyone who submits
> the upgrade...

This patch I can confirm makes pseudo build:

-PACKAGECONFIG ?= ""
+PACKAGECONFIG ?= "fts5"
 PACKAGECONFIG_class-native = ""

 PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit"
 PACKAGECONFIG[readline] =
"--enable-readline,--disable-readline,readline ncurses"
+PACKAGECONFIG[fts5] = "--enable-fts5,--disable-fts5"

But that's a little ugly.  The alternative is more invasive and would
involve teaching pseudo to use pkgconfig to find sqlite3, but I'm not
convinced we want to add pkg-config-native to the depends on pseudo,
so I'm wondering if the third way is to just make pseudo always link
to libm.so.

Ross



More information about the Openembedded-core mailing list