При установке DBD::Sybase на OS X с помощью Homebrew не удается найти библиотеки freetds

Я устанавливаю 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

person paulj    schedule 17.11.2016    source источник


Ответы (1)


Сообщается об ошибке в DBD::Sybase на OS X что является причиной вашей проблемы.

Одна часть конфигурации думает, что вы находитесь на Окна. Perl сообщает OS X как darwin, а DBD::Sybase проверяет /win/ как в MSWin32 или, возможно, cygwin. В результате он ищет каталог dll, но ошибочно сообщает, что ищет каталоги lib и lib64.

Быстрое решение — использовать 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. Используйте редактор для удаления строк 143-145 в Makefile.PL.

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

Затем exit оболочка. cpanm снова спросит, что делать, скажи это r)etry. Он должен использовать ваш отредактированный Makefile.PL.

person Schwern    schedule 17.11.2016
comment
Это та часть, в которой я не уверен. Итак, cpanm получает файлы, а затем, после изменения, какую команду я должен запустить с новым make-файлом? cpanm? и указать на каталог? - person paulj; 17.11.2016
comment
@paulj Не трогайте Makefile, созданный Makefile.PL. Я отредактировал полные инструкции в ответе - person Schwern; 17.11.2016
comment
Это работает до точки. Итак, ответ принят. Хотите знать, как пропустить тесты: модулю DBD:: Sybase нужен доступ к серверу Sybase для запуска тестов, потому что они не работают на тестовом ms-sql-server. - person paulj; 18.11.2016
comment
Для всех остальных я выбираю принудительную установку после неудачных тестов. Мой perl dbi работает. - person paulj; 18.11.2016
comment
@paulj Если вы запустите perldoc cpanm для его документов, вы найдете --notest. Если вы хотите подключиться к MS SQL Server, вам, вероятно, лучше использовать DBD::ODBC. - person Schwern; 19.11.2016