2

Windows XP でStrawberry Perl 5.10.1を使用してCPANから署名モジュールをインストールしようとすると、問題が発生するようです。

リンク中に「未定義の参照」エラーが発生します。私のB::Hooks::Parserモジュールに何か問題があると思いますが、それを再インストールしても問題は解決しませんでした。

出力は次のとおりです。

cpan シェル -- CPAN の探索とモジュールのインストール (v1.9452)
ヘルプの「h」。

cpan> install signatures データベースは 2009 年 11 月 25 日水曜日 20:22:23 GMT に生成されました

モジュール「署名」のインストールを実行しています
F/FL/FLORA/signature-0.06.tar.gz の make の実行
C:\strawberry\cpan\sources\authors\id\F\FL\FLORA\signatures-0.06.tar.gz のチェックサム ok キャッシュ C:\strawberry\cpan\build のサイズをスキャンしています
................................................................... ..........................終わり

  CPAN.pm: F/FL/FLORA/signatures-0.06.tar.gz をビルドします

lib/signatures.pm から perl のバージョン情報を特定できません
キットが完成しているかどうかを確認しています...
いいね
署名用の Makefile の書き込み cp lib/signatures.pm blib\lib/signatures.pm
C:\strawberry\perl\bin\perl.exe "-Iinc" C:\strawberry\perl\lib\ExtUtils\xsubpp
-typemap C:\strawberry\perl\lib\ExtUtils \typemap signatures.xs > signatures.xsc &&
C:\strawberry\perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "mv" --
signatures.xsc signatures.c gcc -c
-IC:\strawberry\perl\site\lib\B\Hooks\OP\Check\Install
-IC:\strawberry\perl\site\lib\B\Hooks\Parser\Install
-IC: \strawberry\perl\site\lib\B\Hooks\OP\PPAddr\Install
-s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPL ICIT_CONTEXT -DPERL_IMPLICIT_SYS
-fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"0.06\" -DXS_VER SION=\"0.06\"
"-IC:\strawberry\perl\lib\CORE" signatures.c
署名用の Mkbootstrap の実行 ()
C:\strawberry\perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "chmod"
-- 644 signatures.bs C:\strawberry\perl\bin\perl.exe
"-Iinc" -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"署名\",
'DLBASE' => '署名', 'DL_FUNCS'
=> { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def signatures.def --output-exp dll.exp g++ -o
blib\arch\auto\signatures\signatures.dll
-Wl,--base-file -Wl,dll.base -mdll -s -L"C:\strawberry\perl\lib\CORE" -L "C:\strawberry\c\lib" signatures.o
-Wl,--image-base,0x121d0000 C:\strawberry\perl\lib\CORE\libperl510.a
C:\strawberry\perl\site\lib\auto\B\Hooks\OP\Check\Check.a
C:\strawberry\perl\site\lib\auto\B\Hooks\Parser\Parser.a
C:\strawberry\perl\site\lib\auto\B\Hooks\OP\PPAddr\PPAddr.a
C:\いちご\c\lib\libmoldname.a
C:\いちご\c\lib\libkernel32.a
C:\いちご\c\lib\libuser32.a
C:\いちご\c\lib\libgdi32.a
C:\いちご\c\lib\libwinspool.a
C:\いちご\c\lib\libcomdlg32.a
C:\いちご\c\lib\libadvapi32.a
C:\いちご\c\lib\libshel​​l32.a
C:\いちご\c\lib\libole32.a
C:\いちご\c\lib\lib oleaut32.a
C:\いちご\c\lib\libnetapi32.a
C:\いちご\c\lib\libuuid.a
C:\いちご\c\lib\libws2_32.a
C:\いちご\c\lib\libmpr.a
C:\いちご\c\lib\libwinmm.a
C:\いちご\c\lib\libversion.a
C:\いちご\c\lib\libodbc32.a
C:\いちご\c\lib\libodbccp32.a
dll.exp
signatures.o:signatures.c:(.text+0x23c):「hook_toke_skipspace」への未定義の参照
signatures.o:signatures.c:(.text+0x2b1):「hook_toke_skipspace」への未定義の参照
signatures.o:signatures.c:(.text+0x34b):「hook_toke_scan_word」への未定義参照
signatures.o:signatures.c:(.text+0x4b9):「hook_toke_skipspace」への未定義の参照
signatures.o:signatures.c:(.text+0x4e2):「hook_toke_scan_str」への未定義参照
signatures.o:signatures.c:(.text+0x4f5):`hook_parser_get_lex_stuff' への未定義参照
signatures.o:signatures.c:(.text+0x508):「hook_parser_clear_lex_stuff」への未定義参照
signatures.o:signatures.c:(.text+0x696):「hook_toke_skipspace」への未定義参照
signatures.o:signatures.c:(.text+0x6cd):`hook_parser_get_linestr' への未定義参照
signatures.o:signatures.c:(.text+0x8f2):`hook_toke_skipspace' への未定義参照
signatures.o:signatures.c:(.text+0x966):「hook_toke_scan_word」への未定義参照
signatures.o:signatures.c:(.text+0x9b3):「hook_toke_skipspace」への未定義の参照
signatures.o:signatures.c:(.text+0x9f7):`hook_toke_scan_str' への未定義参照
signatures.o:signatures.c:(.text+0xa0a):「hook_parser_get_lex_stuff」への未定義参照
signatures.o:signatures.c:(.text+0xa1d):「hook_parser_clear_lex_stuff」への未定義参照
signatures.o:signatures.c:(.text+0xda4):「hook_parser_setup」への未定義の参照
signatures.o:signatures.c:(.text+0xf89):`hook_parser_teardown' への未定義の参照 collect2: ld
1 つの終了ステータス dmake.EXE を返しました:
「blib\arch\auto\signatures\signatures.dll」の作成中のエラー コード 129
フローラ/署名-0.06.tar.gz  
C:\strawberry\c\bin\dmake.EXE -- OK ではありません
make test の実行 make が成功しないとテストできません
make install を実行すると Make が悪いステータスを返しました。インストールは不可能のようです
このコマンド中に失敗しました: FLORA/signatures-0.06.tar.gz          
:NOにする

また、Parser.a ライブラリ (perl/site/auto/B/Hooks/parser 内) で「nm」を実行しましたが、「フック」を含むシンボルは見つかりませんでした。

他の誰かがこの問題を経験しましたか? または、署名モジュールのインストールに成功した人はいますか?

4

1 に答える 1

1

私はあなたのためにそれを修正することはできませんが、この問題を抱えているのはあなただけではありません. 勇敢なCPAN テスターの 1 人による失敗報告があります。私のワイルドショットは、そのようなシンボルの欠落がwin32で発生した場合、それは、モジュールがLinuxなどで公開されるエクスポートされていないシンボルを使用しているためであるということです。ただし、チェックするのに便利なソースはありません。

いずれにせよ、システムに問題があるわけではないようです。これは、ソースで修正する必要があるものです。それらの中の一つ。

于 2009-11-25T21:25:48.913 に答える