まず、 DBD::mysqlパッケージをビルドしたかったのです。結果として得られたものはすべて、を使用したテストにロードできなかったため、これは失敗し続けましたSymbol not found: _is_prefix。だから私はcpanが少し古いかもしれないと思いました。私はそれがランダムな仮定であることを知っていますが、cpanは最新のBundle::CPANをインストールするように私に言いました。
DBD::mysqlまたはBundle::CPANMacOSX 10.5のいずれかを正常にインストールしたのは誰ですか?私が違ったやり方でできることをお勧めしますか?
これは、darwin-thread-multi-2level用に構築されたperl、v5.8.8です。 (4つの登録済みパッチを使用します。詳細については、perl -Vを参照してください)
/ usr / local / mysql / bin / mysql Ver 14.14 Distrib 5.1.36、 アップルの場合-readline5.1を使用したdarwin9.5.0(i386)
DBD::mysqlのCPAN出力のログは次のとおりです。
DBD::mysql用のMakefileの作成
cc -c -I / Library / Perl / 5.8.8 / darwin-thread-multi-2level / auto / DBI -I / usr / local / mysql / include -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -arch ppc -arch i386 -g -pipe- fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I / usr / local / include -O3 -DVERSION = \ "4.012 \" -DXS_VERSION = \ "4.012 \" " -I / System / Library / Perl / 5.8.8 / darwin-thread-multi-2level / CORE "dbdimp.c
/ usr / bin / perl -p -e "s /〜DRIVER〜/ mysql / g" /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI/Driver.xst> mysql.xsi
DBD :: mysql()のMkbootstrapを実行する
chmod 644 mysql.bs
/ usr / bin / perl /System/Library/Perl/5.8.8/ExtUtils/xsubpp -typemap /System/Library/Perl/5.8.8/ExtUtils/typemap mysql.xs> mysql.xsc && mvmysql.xscmysql。 c
cp lib / DBD / mysql.pm blib / lib / DBD / mysql.pm
cp lib / DBD / mysql / GetInfo.pm blib / lib / DBD / mysql / GetInfo.pm
cp lib / DBD / mysql / INSTALL.pod blib / lib / DBD / mysql / INSTALL.pod
cp lib / Bundle / DBD / mysql.pm blib / lib / Bundle / DBD / mysql.pm
cp mysql.bs blib / arch / auto / DBD / mysql / mysql.bs
chmod 644 blib / arch / auto / DBD / mysql / mysql.bs
警告:重複する関数定義'do'がmysql.xsの225行目で検出されました
警告:mysql.xsの650行で重複する関数定義「行」が検出されました
cc -c -I / Library / Perl / 5.8.8 / darwin-thread-multi-2level / auto / DBI -I / usr / local / mysql / include -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -arch ppc -arch i386 -g -pipe- fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I / usr / local / include -O3 -DVERSION = \ "4.012 \" -DXS_VERSION = \ "4.012 \" " -I / System / Library / Perl / 5.8.8 / darwin-thread-multi-2level / CORE "mysql.c
dbdimp.c:関数'mysql_describe'内:
dbdimp.c:3309:警告:互換性のないポインタ型からの割り当て
dbdimp.c:関数'mysql_describe'内:
dbdimp.c:3309:警告:互換性のないポインタ型からの割り当て
rm -f blib / arch / auto / DBD / mysql / mysql.bundle
LD_RUN_PATH = "/ usr / local / mysql / lib" / usr / bin / perl myld cc -mmacosx-version-min = 10.5.7 -arch ppc -arch i386 -bundle -undefined dynamic_lookup -L / usr / local / lib dbdimp .o mysql.o -o blib / arch / auto / DBD / mysql / mysql.bundle \
-L / usr / local / mysql / lib -lmysqlclient -lz -lm \
chmod 755 blib / arch / auto / DBD / mysql / mysql.bundle
blib / man3 / DBD::mysql.3pmのマニフェスト
blib / man3 / DBD :: mysql::INSTALL.3pmのマニフェスト
blib / man3 / Bundle :: DBD::mysql.3pmのマニフェスト
CAPTTOFU / DBD-mysql-4.012.tar.gz
/ usr / bin / make -j3 -j3-OK
makeテストを実行しています
PERL_DL_NONLAZY = 1 / usr / bin / perl "-MExtUtils :: Command :: MM" "-e" "test_harness(0、'blib / lib'、'blib / arch')" t/*。t
t / 00base.t..................1/6ベイルアウトが呼び出されました。さらなるテストが停止しました:DBD::mysqlをロードできません
#失敗したテスト'use DBD :: mysql;'
#t/00base.tの21行目。
#「DBD::mysql」を使用しようとしました。
#エラー:モジュールDBD :: mysql:dlopen(/ Users / dlamblin / .cpan / build / DBD-mysql-4.012-4n3pv8 / blib / arch / auto / DBD / mysql / mysql.bundle、2):シンボルが見つかりません:_is_prefix
#参照元:/Users/dlamblin/.cpan/build/DBD-mysql-4.012-4n3pv8/blib/arch/auto/DBD/mysql/mysql.bundle
#期待されるもの:動的ルックアップ
#(eval 7)2行目
#コンパイルは(eval 7)行2でrequireに失敗しました。
#BEGINが失敗しました-コンパイルは(eval 7)行2で中止されました。
失敗-さらなるテストが停止しました:DBD::mysqlをロードできません
make:***[test_dynamic]エラー255
CAPTTOFU / DBD-mysql-4.012.tar.gz
/ usr / bin / maketest-OKではありません
//ヒント//このモジュールをインストールするためのcpan-testersの結果を確認するには、次のことを試してください。
CAPTTOFU/DBD-mysql-4.012.tar.gzを報告します
makeinstallを実行しています
makeテストが不良ステータスを返しました。強制的にインストールしません
このコマンド中に失敗しました:
CAPTTOFU / DBD-mysql-4.012.tar.gz:make_test NO