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

时间:2016-11-17 16:27:48

标签: perl makefile homebrew sybase cpanm

我正在安装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

1 个答案:

答案 0 :(得分:2)

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

One part of the configuration认为你是在Windows上。 Perl将OS X报告为darwin,并且DBD :: Sybase正在/win/MSWin32中检查cygwin。因此,它会查找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 shell。 cpanm会告诉您该怎么做,请告诉r)etry。它应该使用您编辑的Makefile.PL。