首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用pkgsrc在NetBSD上安装和加载libspatialite和spatiality-tools?

如何使用pkgsrc在NetBSD上安装和加载libspatialite和spatiality-tools?
EN

Stack Overflow用户
提问于 2014-03-31 00:33:34
回答 1查看 519关注 0票数 0

我正在尝试使用库libspatialite在NetBSD平台上扩展sqlite。我已经完成了在pkgsrc (libspatialite-4.1.1)中为libspatialite创建包的第一步。这个包看起来正常工作;pkg_info说它已经安装了,并且我已经验证了PLIST中的文件(在下面的代码块中)已经安装在/usr/pkg/中。但是,当我尝试安装为spatialite-tools构建的包时,configure提示没有安装libspatialite。另外,我不知道如何使用load_extenstion(X,Y)在sqlite3中加载库;documentation中引用的库文件是什么

pkgsrc/databases/libsqlite/PLIST:

代码语言:javascript
运行
复制
@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
EN

回答 1

Stack Overflow用户

发布于 2014-03-31 16:44:38

libspatialite包中有buildlink3.mk文件吗?

如果不是:

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

这样就不会出现这样的问题:一个软件包拾取一个恰好安装的可选依赖项,然后构建一个使用该库但没有在包元数据中列出它的二进制软件包。生成的二进制软件包将在该系统上正常工作……直到可选依赖项被移除,并且在没有该隐藏依赖项的任何其他系统上都将失败。

不管怎样..。在pkgsrc中使用buildlink3.mk文件使必要的文件在构建期间可见。libspatialite buildlink3.mk可能如下所示(将1.0调整为当前lib版本)

代码语言:javascript
运行
复制
# $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

然后在相关的包中添加如下内容:

代码语言:javascript
运行
复制
.include "../../devel/libspatialite/buildlink3.mk"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22746593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档