Почему SGML :: Parser :: OpenSP не может найти символ __ZTI15SGMLApplication? - PullRequest
8 голосов
/ 31 августа 2008

Я пытаюсь "установить SGML :: Parser :: OpenSP" из оболочки cpan, но это не удается при первом "make test". Я также получаю ту же ошибку, если я захожу в каталог сборки и запускаю make test.

Я полагаю, что этот бит вывода ниже является важной частью. Обратите внимание на символ не найден, когда Perl попадает в строку «использовать» для новой библиотеки. Указанный файл существует и доступен для чтения. Когда я запускаю команду unix «nm», показывает символ.

Я не знаю, что делать с символом не найденная ошибка. Я не работаю как администратор / root, если это имеет значение. Это на компьютере Mac, 10.4.11. В моем поиске появилось несколько подсказок, что это может произойти, если вместо g ++ вызывается gcc, но я считаю, что он настроен правильно.

Что еще это может быть и как я могу попытаться исправить?

Вот выдержка из теста 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.

Ответы [ 3 ]

1 голос
/ 04 сентября 2008

Роб, Вы убедились, что OpenJade и / или OpenSP установлены? Я не вижу их в моей стандартной установке OSX, но она существует на моем сервере сборки FreeBSD. Я бы посоветовал начать с того, чтобы убедиться, что они установлены. Они связаны со страницы CPAN для SGML :: Parser :: OpenSP .

1 голос
/ 10 января 2010

Возможно, ваша библиотека OpenSP была скомпилирована другим компилятором C ++, чем вы сейчас пытаетесь использовать.

1 голос
/ 31 августа 2008

Это не обязательно ответ на ваш вопрос, но я с большим успехом использовал MacPorts для установки Perl на OS X. Это гораздо проще, чем пытаться использовать CPAN, потому что он знает, что установка для OS X и исправит модули соответственно. Определенно рекомендуется.

...