0

我正在尝试使用库libspatialite在 NetBSD 平台上扩展 sqlite。我已经迈出了在 pkgsrc ( libspatialite-4.1.1 )中为 libspatialite 创建包的第一步。该软件包似乎有效;pkg_info 说它已经安装并且我已经验证了来自 PLIST 的文件(在下面的代码块中)已经安装在 /usr/pkg/ 中。但是,当我尝试安装为spatialite -tools构建的软件包时,configure 说未安装 libspatialite。我也不知道如何在 sqlite3 中加载库load_extenstion(X,Y);文档中提到的库文件是什么

pkgsrc/数据库/libsqlite/PLIST:

@comment $NetBSD$
include/spatialite.h
include/spatialite/debug.h
include/spatialite/gaiaaux.h
include/spatialite/gaiaexif.h
include/spatialite/gaiageo.h
include/spatialite/geopackage.h
include/spatialite/gg_advanced.h
include/spatialite/gg_const.h
include/spatialite/gg_core.h
include/spatialite/gg_dxf.h
include/spatialite/gg_dynamic.h
include/spatialite/gg_formats.h
include/spatialite/gg_mbr.h
include/spatialite/gg_structs.h
include/spatialite/gg_wfs.h
include/spatialite/gg_xml.h
include/spatialite/spatialite.h
include/spatialite/sqlite.h
lib/libspatialite.la
lib/pkgconfig/spatialite.pc
4

1 回答 1

0

libspatialite 包中有 buildlink3.mk 文件吗?

如果不:

为了避免针对隐式依赖构建包,pkgsrc 仅使已明确列出的库对构建包可见。

这停止了​​一个包获取一个恰好安装的可选依赖项的问题,然后构建一个使用该库但没有在包元数据中列出的二进制包。生成的二进制包将在该系统上正常工作......直到删除可选依赖项,并且将在没有该隐藏依赖项的任何其他系统上失败。

无论如何... buildlink3.mk 文件在 pkgsrc 中用于使必要的文件在构建过程中可见。libspatialite buildlink3.mk 可能如下所示(将 1.0 调整为当前的 lib 版本)

# $NetBSD$

BUILDLINK_TREE+=        libspatialite

.if !defined(LIBSPATIALITE_BUILDLINK3_MK)
LIBSPATIALITE_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.libspatialite+=libspatialite>=1.0
BUILDLINK_PKGSRCDIR.libspatialite?=     ../../devel/libspatialite

BUILDLINK_LIBDIRS.libspatialite+=       lib/spatialite
BUILDLINK_RPATHDIRS.libspatialite+=     lib/spatialite
BUILDLINK_INCDIRS.libspatialite+=       include/spatialite

.endif # LIBSPATIALITE_BUILDLINK3_MK

BUILDLINK_TREE+=        -libspatialite

然后在依赖包中添加如下内容:

.include "../../devel/libspatialite/buildlink3.mk"
于 2014-03-31T08:44:37.763 回答