我似乎在尝试安装signatures模块时遇到了一些问题 来自CPAN在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库上做了一个'nm'(在perl / site / auto / B / Hooks / parser中) 我没有找到任何包含'hook'的符号
还有其他人遇到过这个问题吗? 或者其他人是否成功安装了签名模块?
答案 0 :(得分:1)
我无法为你解决这个问题,但你不是唯一有这个问题的人。其中一个英雄failure report有一个CPAN testers。我的疯狂镜头是,如果在win32上出现这样的缺失符号,那是因为该模块使用的是非导出的符号,这些符号会暴露在Linux上,因为那里的事情稍微不那么严格。但是,我没有方便检查的来源。
无论哪种方式,它似乎都不是你系统上的错误。这是需要在源头修复的东西。其中之一。