2009-11-25 26 views
2

我似乎有一些問題嘗試安裝signatures模塊 從CPAN使用Strawberry Perl 5.10.1在Windows XP上。如何在Strawberry Perl 5.10.1上安裝簽名模塊?

在鏈接過程中,我收到了一些「未定義的引用」錯誤。 我猜測我的B::Hooks::Parser模塊有問題, 但重新安裝那個沒有解決我的問題。

下面是輸出:

 
cpan shell -- CPAN exploration and modules installation (v1.9452) Enter 
'h' for help. 

cpan> install signatures Database was generated on Wed, 25 Nov 2009 20:22:23 GMT 

Running install for module 'signatures' 
Running make for F/FL/FLORA/signatures-0.06.tar.gz 
Checksum for C:\strawberry\cpan\sources\authors\id\F\FL\FLORA\signatures-0.06.tar.gz ok Scanning cache C:\strawberry\cpan\build for sizes 
............................................................................DONE 

    CPAN.pm: Going to build F/FL/FLORA/signatures-0.06.tar.gz 

Cannot determine perl version info from lib/signatures.pm 
Checking if your kit is complete... 
Looks good 
Writing Makefile for signatures 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 
Running Mkbootstrap for signatures() 
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'=>\"signatures\", 
'DLBASE' => 'signatures', '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:\strawberry\c\lib\libmoldname.a 
C:\strawberry\c\lib\libkernel32.a 
C:\strawberr y\c\lib\libuser32.a 
C:\strawberry\c\lib\libgdi32.a 
C:\strawberry\c\lib\libwinspool.a 
C:\strawberry\c\lib\libcomdlg32.a 
C:\strawberry\c\lib\libadvapi32.a 
C:\strawberry\c\lib\libshell32.a 
C:\strawberry\c\lib\libole32.a 
C:\strawberry\c\lib\lib oleaut32.a 
C:\strawberry\c\lib\libnetapi32.a 
C:\strawberry\c\lib\libuuid.a 
C:\strawberry\c\lib\libws2_32.a 
C:\strawberry \c\lib\libmpr.a 
C:\strawberry\c\lib\libwinmm.a 
C:\strawberry\c\lib\libversion.a 
C:\strawberry\c\lib\libodbc32.a 
C:\strawberry\c\lib\libodbccp32.a 
dll.exp 
signatures.o:signatures.c:(.text+0x23c):undefined reference to `hook_toke_skipspace' 
signatures.o:signatures.c:(.text+0x2b1):undefined reference to `hook_toke_skipspace' 
signatures.o:signatures.c:(.text+0x34b):undefined reference to `hook_toke_scan_word' 
signatures.o:signatures.c:(.text+0x4b9):undefined reference to `hook_toke_skipspace' 
signatures.o:signatures.c:(.text+0x4e2):undefined reference to `hook_toke_scan_str' 
signatures.o:signatures.c:(.text+0x4f5):undefined reference to `hook_parser_get_lex_stuff' 
signatures.o:signatures.c:(.text+0x508):undefined reference to `hook_parser_clear_lex_stuff' 
signatures.o:signatures.c:(.text+0x696):undefined reference to `hook_toke_skipspace' 
signatures.o:signatures.c:(.text+0x6cd):undefined reference to `hook_parser_get_linestr' 
signatures.o:signatures.c:(.text+0x8f2):undefined reference to `hook_toke_skipspace' 
signatures.o:signatures.c:(.text+0x966):undefined reference to `hook_toke_scan_word' 
signatures.o:signatures.c:(.text+0x9b3):undefined reference to `hook_toke_skipspace' 
signatures.o:signatures.c:(.text+0x9f7):undefined reference to `hook_toke_scan_str' 
signatures.o:signatures.c:(.text+0xa0a):undefined reference to `hook_parser_get_lex_stuff' 
signatures.o:signatures.c:(.text+0xa1d):undefined reference to `hook_parser_clear_lex_stuff' 
signatures.o:signatures.c:(.text+0xda4):undefined reference to `hook_parser_setup' 
signatures.o:signatures.c:(.text+0xf89):undefined reference to `hook_parser_teardown' collect2: ld 
returned 1 exit status dmake.EXE: 
Error code 129, while making 'blib\arch\auto\signatures\signatures.dll' 
FLORA/signatures-0.06.tar.gz 
C:\strawberry\c\bin\dmake.EXE -- NOT OK 
Running make test Can't test without successful make 
Running make install Make had returned bad status, install seems impossible 
Failed during this command: FLORA/signatures-0.06.tar.gz   
: make NO 

我也沒對我Parser.a庫(在Perl /現場/自動/ B /鉤/分析器)的「納米」 ,我沒有發現任何包含'鉤子'的符號

有沒有其他人遇到過這個問題? 還是有其他人成功安裝簽名模塊?

+2

你應該在這裏報告這個bug:http://rt.cpan.org/Public/Dist/Display.html?Name=signatures。操作系統操作系統的Cpantesters結果可以在這裏找到:http://matrix.cpantesters.org/?dist=signatures+0.06 – 2009-11-25 22:06:59

+0

你說得對,我應該在那裏發佈它。 我會盡快做到這一點! 我覺得很有趣,雖然perl 5.8似乎沒有這個問題(根據測試矩陣),而我無法找到任何perl版本特定的東西在任何模塊。 – ldx 2009-11-26 11:38:50

回答

1

我無法爲您解決這個問題,但您並不是唯一有此問題的人。有一個failure report由英雄CPAN testers之一。我的野蠻的想法是,如果在win32上出現這樣的缺失符號,那是因爲模塊使用了非暴露的符號,例如Linux,因爲事情在那裏不太嚴格。雖然我沒有方便查看的資源。

無論哪種方式,它似乎不是你的系統上的錯誤。這是需要修復源代碼的東西。其中之一。

+0

你說得對: B ::魚鉤::分析器下列符號只出口: hook_op_check_id hook_parser_setup(無效) 無效hook_parser_teardown(hook_op_check_id ID) 爲const char * hook_parser_get_linestr(pTHX) IV hook_parser_get_linestr_offset(pTHX) hook_parser_set_linestr(pTHX_ const char * new_value) 但是另一方面,我得到一個未定義的引用的函數在Parser.h Header文件中聲明,這意味着它們可以被使用。有趣... 我不太清楚我是否應該將其作爲簽名模塊或B :: Hooks :: Parser模塊的bugreport進行存檔。 – ldx 2009-11-26 11:41:58

+0

考慮到他們的作者是同一個人......他們中的任何一個! – tsee 2009-11-26 13:42:52