8

我正在尝试从 cpan shell“安装 SGML::Parser::OpenSP”,但在第一次“make test”时失败。如果我进入构建目录并运行 make test,我也会得到同样的错误。

我相信下面的输出是相关部分。请注意当 perl 到达新库的“使用”行时找不到符号。那里列出的文件存在并且是可读的。当我运行 unix 命令“nm”时,它确实显示了该符号。

我不知道如何处理未找到符号的错误。如果这很重要,我不会以管理员/root 身份运行。这是在 Mac 上,10.4.11 我的谷歌搜索出现了一些提示,如果调用 gcc 而不是 g++,可能会发生这种情况,但我相信设置正确。

还有什么可能,我该如何解决?

以下是运行 make test 的摘录:

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01basic...........1/4
#   Failed test 'use SGML::Parser::OpenSP;'
#   at t/01basic.t line 14.
#     Tried to use 'SGML::Parser::OpenSP'.
#     Error:  Can't load '/Users/joshgold/.cpan/build/SGML-Parser-OpenSP-0.994/blib/arch/auto/SGML/Parser/OpenSP/OpenSP.bundle' for module SGML::Parser::OpenSP: dlopen(/Users/joshgold/.cpan/build/SGML-Parser-OpenSP-0.994/blib/arch/auto/SGML/Parser/OpenSP/OpenSP.bundle, 2): Symbol not found: __ZTI15SGMLApplication
#   Referenced from: /Users/joshgold/.cpan/build/SGML-Parser-OpenSP-0.994/blib/arch/auto/SGML/Parser/OpenSP/OpenSP.bundle
#   Expected in: dynamic lookup
#  at (eval 3) line 2
# Compilation failed in require at (eval 3) line 2.
# BEGIN failed--compilation aborted at (eval 3) line 2.
4

3 回答 3

1

这不一定是您问题的答案,但我使用MacPorts在 OS X 上安装 Perl 东西取得了巨大成功。它比尝试使用 CPAN 更顺畅,因为它知道它是为 OS X 安装的,并且会适当地修补模块. 绝对推荐。

于 2008-08-30T22:02:05.400 回答
1

Rob,您是否确保已安装 OpenJade 和/或 OpenSP?我在默认安装的 OSX 上看不到它们,但它确实存在于我的 FreeBSD 构建服务器上。我建议从确保安装这些开始。它们链接到SGML::Parser::OpenSP的 CPAN 页面。

于 2008-09-03T21:57:40.603 回答
1

可能是您的 OpenSP 库是由不同于您当前尝试使用的 C++ 编译器编译的。

于 2010-01-09T23:28:23.463 回答