2008-08-30 10 views
8

Estoy tratando de "instalar SGML :: Parser :: OpenSP" desde el shell cpan, pero falla en el primer "make test". También obtengo el mismo error si entro en el directorio de compilación y ejecuto make test.¿Por qué SGML :: Parser :: OpenSP no puede encontrar el símbolo __ZTI15SGMLApplication?

Creo que este fragmento del resultado a continuación es la parte relevante. Tenga en cuenta que el símbolo no se encuentra cuando Perl llega a la línea de "uso" para la nueva biblioteca. El archivo enumerado allí existe y es legible. Cuando ejecuto el comando de unix "nm", muestra el símbolo.

No sé qué hacer con el error de símbolo no encontrado. No me estoy ejecutando como administrador/root si eso es importante. Esto está en un mac, 10.4.11 Mi búsqueda en google arrojó algunos indicios de que esto puede suceder si se llama a gcc en lugar de g ++, pero creo que está configurado correctamente.

¿Qué más podría ser, y cómo puedo tratar de solucionarlo?

Aquí está el extracto de correr realizar la prueba:

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. 

Respuesta

1

Esto no es necesariamente una respuesta a su pregunta, pero yo he tenido un gran éxito en el uso MacPorts para la instalación de Perl cosas en OS X. Es mucho más suave que tratar de usar CPAN porque sabe que se está instalando para OS X y parcheará los módulos de manera apropiada. Definitivamente recomendado.

1

Rob, ¿Se ha asegurado de que OpenJade y/o OpenSP están instalados? No los veo en mi instalación predeterminada de OSX, pero sí en mi servidor de compilación FreeBSD. Sugiero comenzar asegurándome de que estén instalados. Están vinculados desde la página de CPAN para SGML::Parser::OpenSP.

1

Podría ser que su biblioteca OpenSP haya sido compilada por un compilador de C++ diferente del que está tratando de usar actualmente.

Cuestiones relacionadas