2016-11-17 3 views
1

J'installe DBD :: SybaseInstallation DBD :: Sybase sur OS X avec Homebrew ne parvient pas à trouver les bibliothèques FreeTDS

je reçois l'erreur suivante, après la mise en

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

et télécharger freetds:

brew install freetds 

erreur:

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 

Je crois que j'ai besoin de modifier le fichier makefile directement. Ai-je besoin d'éditer le fichier makefile? Et pourrais-je utiliser CPANM encore. CPANM est sous Brew (cave).

/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 

Répondre

2

Il y a a reported bug in DBD::Sybase on OS X qui est la cause de votre problème.

One part of the configuration pense que vous êtes sur Windows. Perl signale OS X comme darwin et DBD :: Sybase vérifie /win/ comme dans MSWin32 ou peut-être cygwin. En conséquence, il cherche un répertoire dll, mais signale faussement qu'il recherche lib et lib64.

La solution rapide est d'utiliser cpanm --prompt DBD::Sybase. En cas d'échec, cpanm demandera quoi faire.

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

Dites à l)ook. Cela vous vider dans un shell avec la source décompressée pour DBD :: Sybase. Utilisez un éditeur pour supprimer les lignes 143-145 dans le Makefile.PL.

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

Ensuite, le shell exit. cpanm vous demandera quoi faire à nouveau, dites le au r)etry. Il devrait utiliser votre Makefile.PL édité.

+0

C'est la partie dont je ne suis pas certain. Donc, cpanm obtient les fichiers, et après modification, quelle commande devrais-je lancer avec le nouveau fichier makefile? cpanm? et pointez sur le répertoire? – paulj

+0

@paulj Ne touchez pas le Makefile, qui est généré par Makefile.PL. J'ai édité des instructions complètes dans la réponse – Schwern

+0

Cela fonctionne à un point. Donc, réponse acceptée. Vous vous demandez comment ignorer les tests: Le module DBD :: Sybase doit avoir accès à un serveur Sybase pour exécuter les tests, car ils échouent lors du test de ms-sql-server. – paulj