【问题标题】:MADlib apt install, how to?MADlib apt 安装,如何安装?
【发布时间】:2017-04-14 17:05:00
【问题描述】:

MADlib 是用于 PostgreSQL 的最完整、最高效(更快的函数)和最可靠的数学库...official download 没有关于 Debian 或 UBUNTU “即插即用安装”的线索。

检查其他字体,最好的(最简单的)是2013年的apt-get it的旧指令。

...还有一些 2014 年的 lost-script... 评论说“可以下载 .rpm 软件包并安装在 Ubuntu 中,只需使用 Alien 命令将软件包转换为 .deb它会工作”。


问题:安装 MADLib 的安全且最简单的方法?
今天(2017 年)在 UBUNTU 16 LTS 和 PostgreSQL v9.6 上。


注意和第二个问题:Debian stableUBUNTU LTS 一起是最流行的网络服务器 Linux 发行版,所以.deb 是最重要的发行形式。 .. 为什么 MADlab 的维护者拒绝看到它?为什么不欢迎.deb 用户?
apt 或转换后的.deb 存在一些技术或许可问题?


编辑

我有两种类型的 SQL 服务器,如所述的 v9.6,但最重要的是 PostgreSQL v9.5.X(!抱歉,我们完全打算使用 v9.6服务器)。

PostgreSQL 9.5.X 在 UBUNTU 16 LTS (xenial) 中的情况

  • psql --version 并进入其中,select version(); 显示 v9.5.6

  • 命令pgxnclient install madlib 显示

    您需要安装 postgresql-server-dev-X.Y 用于构建 用于构建客户端应用程序的服务器端扩展或 libpq-dev。 错误:命令返回 1: ['/usr/bin/pg_config', '--libdir']

...pg_config 不是配置文件,而是一个 shell 工具...所以我通过sudo apt-get install libpq-dev 安装了它(ok!)

  • 命令pgxnclient install madlib显示
      信息:最佳版本:madlib 1.10.0
      信息:保存 /tmp/tmpip4ngh/madlib-1.10.0.zip
      信息:解压:/tmp/tmpip4ngh/madlib-1.10.0.zip
      信息:运行配置
      错误:必须存在 cmake 2.8 或更高版本才能配置和安装 MADlib
      /tmp/tmpip4ngh/madlib-1.10.0/configure: 13: 退出: 非法数字: -1
      错误:配置失败,返回码 2
    

...但不是“CMake版本错误”,是“无CMake”错误,所以用apt install cmake

但是它们是一个 cmake 问题,

pgxnclient 安装 madlib 信息:最佳版本:madlib 1.10.0 信息:保存 /tmp/tmpspQ3zf/madlib-1.10.0.zip 信息:解压:/tmp/tmpspQ3zf/madlib-1.10.0.zip 信息:运行配置 -- C 编译器标识为 GNU 5.4.0 -- CXX 编译器标识为 GNU 5.4.0 -- 检查工作的 C 编译器:/usr/bin/gcc -- 检查工作的 C 编译器:/usr/bin/gcc -- 工作 -- 检测 C 编译器 ABI 信息 -- 检测 C 编译器 ABI 信息 - 完成 -- 检测 C 编译特性 -- 检测 C 编译特性 - 完成 -- 检查工作的 CXX 编译器:/usr/bin/g++ -- 检查工作的 CXX 编译器:/usr/bin/g++ -- 工作 -- 检测 CXX 编译器 ABI 信息 -- 检测 CXX 编译器 ABI 信息 - 完成 -- 检测 CXX 编译特性 -- 检测 CXX 编译特性 - 完成 -- 找不到 Boost -- 没有找到足够新的版本 (>= 1.47) 的 Boost。会下载。 -- 找到 PythonInterp:/usr/bin/python(找到版本“2.7.12”) src/ports/postgres/cmake/FindPostgreSQL.cmake:161 处的 CMake 错误(消息): 找到 pg_config ("/usr/bin/pg_config"),但 pg_config.h 文件不存在于 服务器包括目录(/usr/include/postgresql/9.5/server)。 调用堆栈(最近的调用优先): src/ports/postgres/cmake/PostgreSQLUtils.cmake:66 (find_package) src/ports/postgres/CMakeLists.txt:360 (determine_target_versions)

-- 配置不完整,出现错误! 另请参见“/tmp/tmpspQ3zf/madlib-1.10.0/build/CMakeFiles/CMakeOutput.log”。 信息:建筑扩展 make -C 构建所有 make[1]: 进入目录'/tmp/tmpspQ3zf/madlib-1.10.0/build' make[1]: * 没有将目标设为“全部”的规则。停止。 make[1]: 离开目录 '/tmp/tmpspQ3zf/madlib-1.10.0/build' Makefile:5:目标“全部”的配方失败 make: * [all] 错误 2 错误:命令返回 2:make PG_CONFIG=/usr/bin/pg_config all

【问题讨论】:

标签: postgresql installation shared-libraries


【解决方案1】:

Madlib 是 Postgres extension。许多人通过pgxn.org 分发他们的扩展,这就像Postgres 扩展的CPANRubygems。所以安装它的命令是这样的:

pgxnclient install madlib

之后,您可以在任何您喜欢的数据库中输入CREATE EXTENSION madlib

注意你可能需要先安装一些依赖,例如:

sudo apt-get install cmake postgresql-plpython-9.6 pgxnclient

这是 2013 年的链接告诉您的内容,在我看来仍然正确。 (请注意,我将 plpython 从 9.1 更改为 9.6。)我尝试在 Postgres 9.5 + Ubuntu 14.04 上自己从 pgxn 安装 madlib,并且成功了。

至于为什么 madlib 的人不分发 .deb 文件:你可以随时问他们,但 pgxn 是共享 Postgres 扩展的主流方式。这就像为您的编程语言提供包管理器一样。

【讨论】:

  • 哎呀,我的 PostgreSQL 是 9.5,pgxnclient install madlib 产生“错误:命令返回 1:['/usr/bin/pg_config', '--libdir']”
  • 听起来你没有安装pg_config。我会做sudo apt-get install postgresql-server-dev-9.5 然后再试一次。
  • 实际上看起来libpq-devpostgresql-common都提供pg_config。也许您可以发布完整的错误消息?
  • 感谢 Paul,我编辑了问题文本以显示 pgxnclient 完整错误消息。
  • ...关于CMake问题,UBUNTU LTS服务器使用this solution是否可靠安全?
猜你喜欢
  • 2011-09-08
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-19
  • 2013-07-06
  • 1970-01-01
相关资源
最近更新 更多