使用 Homebrew 在 OS X 上安装 DBD::Sybase 无法找到 freetds 库

Installing DBD::Sybase on OS X with Homebrew fails to find freetds libraries

我正在安装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。我需要编辑 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

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。这会将您转储到 shell 中,其中包含 DBD::Sybase 的解压源。使用编辑器删除 Makefile.PL.

中的第 143-145 行
if ($^O =~ /win/i) {
  @libdir = ( 'dll' );
}

然后exit shell。 cpanm会再问你要做什么,告诉r)etry。它应该使用您编辑的 Makefile.PL.