关于perl:为什么SGML :: Parser :: OpenSP无法找到符号__ZTI15SGMLApplication?

关于perl:为什么SGML :: Parser :: OpenSP无法找到符号__ZTI15SGMLApplication?

Why can't SGML::Parser::OpenSP find the symbol __ZTI15SGMLApplication?

我正在尝试从cpan外壳程序"安装SGML :: Parser :: OpenSP",但是在第一个" make test"中失败。 如果我进入构建目录并运行make test,也会遇到相同的错误。

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

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

那还能是什么,我该如何解决?

这是运行make test的摘录:

1
2
3
4
5
6
7
8
9
10
11
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.

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


抢,
您确定已安装OpenJade和/或OpenSP吗? 我在默认安装的OSX上没有看到它们,但在FreeBSD构建服务器上确实存在。
我建议从确保已安装开始。 它们从SGML :: Parser :: OpenSP的CPAN页面链接出来。


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


推荐阅读