【问题标题】:Installing DBD::Sybase on OS X with Homebrew fails to find freetds libraries使用 Homebrew 在 OS X 上安装 DBD::Sybase 无法找到 freetds 库
【发布时间】:2017-04-01 07:16:04
【问题描述】:

我正在安装 DBD::Sybase

设置后出现以下错误

export SYBASE=/usr/local/Cellar/freetds/0.95.80

并下载 freetds:

brew install freetds

错误:

Configuring DBD-Sybase-1.15 ... Can't find any Sybase libraries in /usr/local/Cellar/freetds/0.95.80/lib or /usr/local/Cellar/freetds/0.95.80/lib64 at Makefile.PL line 155, <IN> line 44

我相信我需要直接编辑生成文件。我需要编辑makefile吗?我还能使用 CPANM 吗? CPANM 在 Brew(酒窖)下。

/usr/local/Cellar/freetds/0.95.80/lib
├── libct.4.dylib
├── libct.a
├── libct.dylib -> libct.4.dylib
├── libsybdb.5.dylib
├── libsybdb.a
└── libsybdb.dylib -> libsybdb.5.dylib


 /usr/local/Cellar/freetds/0.95.80/
AUTHORS              ChangeLog            NEWS                 TODO                 etc                  lib
COPYING              INSTALL_RECEIPT.json README               bin                  include              share

【问题讨论】:

    标签: perl makefile homebrew sybase cpanm


    【解决方案1】:

    a reported bug in DBD::Sybase on OS X 导致了您的问题。

    One part of the configuration 认为您使用的是 Windows。 Perl 将 OS X 报告为 darwin,而 DBD::Sybase 正在检查 /win/,如 MSWin32cygwin。结果它会查找dll 目录,但错误地报告它正在查找liblib64

    快速解决方法是使用cpanm --prompt DBD::Sybase。当它失败时,cpanm 会询问该怎么做。

    Configuring DBD-Sybase failed.
    You can s)kip, r)etry, e)xamine build log, or l)ook ? [s]
    

    告诉l)ook。这会将您转储到带有 DBD::Sybase 的解压缩源的 shell。使用编辑器删除 Makefile.PL 中的第 143-145 行。

    if ($^O =~ /win/i) {
      @libdir = ( 'dll' );
    }
    

    然后exit 外壳。 cpanm 会再次询问你该怎么做,告诉r)etry。它应该使用您编辑的 Makefile.PL。

    【讨论】:

    • 这是我不确定的部分。所以 cpanm 获取文件,然后在更改后我将使用新的 makefile 运行什么命令? cpanm?并指向目录?
    • @paulj 不要接触 Makefile.PL 生成的 Makefile。我已将完整说明编辑到答案中
    • 它在一定程度上起作用。所以回答被接受。想知道跳过测试的任何方式:DBD::Sybase 模块需要访问 Sybase 服务器才能运行测试,因为它们在测试 ms-sql-server 时失败。
    • 对于其他人,我选择在测试失败后强制安装。我的 perl dbi 正在运行。
    • @paulj 如果您对其文档运行perldoc cpanm,您会找到--notest。如果您想连接到 MS SQL Server,最好使用 DBD::ODBC。
    猜你喜欢
    • 2013-02-06
    • 2016-06-11
    • 2013-12-21
    • 2014-12-22
    • 1970-01-01
    • 2015-04-15
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多