No se puede instalar el módulo con CPAN Mac - directorio no encontrado

0

Estoy experimentando un problema al intentar instalar módulos con CPAN (y con el manual make ). He instalado Perl a través de Homebrew y cuando ejecuto cpan install MODULE_NAME me sale este error:

ld: warning: directory not found for option '-
L/System/Library/Perl/5.26.1/darwin-thread-multi-2level/CORE'
ld: library not found for -lperl
clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
make[1]: *** [../blib/arch/auto/Verilog/Parser/Parser.bundle] Error 1
make: *** [subdirs] Error 2
WSNYDER/Verilog-Perl-3.448.tar.gz
/usr/bin/make -- NOT OK

Sé que este problema se debe a mi versión de Perl, ya que mi versión de Perl en la siguiente ubicación es 5.18 y no 5.26 (consulte: /System/Library/Perl/5.26.1/darwin-thread-multi-2level/CORE ).

Cualquier ayuda sería muy apreciada.

Editar:

Se proporcionan

resultados de los siguientes:

$ type cpan
cpan is /usr/local/bin/cpan
$ type make
make is /usr/bin/make
$ where brew
/usr/local/bin/brew
$ echo $PATH
/Users/alexandermann/.nvm/versions/node/v8.9.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Users/alexandermann/Library/Python/3.6/bin:/Users/alexandermann/Library/Android/sdk/tools:/Users/alexandermann/Library/Android/sdk/platform-tools

La primera línea en /usr/local/bin/perl es: #!/usr/local/opt/perl/bin/perl

Edición 2:

Así que encontré otra pista para resolver esto ... Intenté instalar manualmente un paquete Perl (el paquete es Verilog-Perl ). Siguiendo la configuración típica para obtener un Makefile , tengo que ejecutar perl Makefile.PL en el directorio raíz del paquete. Buscando en el Makefile.PL que encuentro:

    $out .= "DLEXT = dylib\n";
    if ($^V eq '5.16.2') {
        $out .= sprintf("LDDLFLAGS = -dynamiclib -lstdc++ -L/System/Library/Perl/5.16.2/%s/CORE -lperl -L/usr/local/lib\n",$Config{archname});
    } elsif ($^V eq '5.12.4') {
        $out .= sprintf("LDDLFLAGS = -dynamiclib -lstdc++ -L/System/Library/Perl/5.12/%s/CORE -lperl -L/usr/local/lib\n",$Config{archname});
    } elsif ($^V eq '5.18.2') {
        $out .= sprintf("LDDLFLAGS = -dynamiclib -lstdc++ -L/System/Library/Perl/5.18/%s/CORE -lperl -L/usr/local/lib\n",$Config{archname});
    } else {
        $out .= sprintf("LDDLFLAGS = -dynamiclib -lstdc++ -L/System/Library/Perl/%vd/%s/CORE -lperl -lgcc_eh -L/usr/local/lib\n",$^V,$Config{archname});
    }

Puede ver que -L/System/Library/Perl... está codificado en el Makefile.PL . Mi versión de Mac Perl es 5.18 pero como mi versión de Homebrew Perl es 5.26 , está buscando -L/System/Library/Perl/5.26/ cuando en realidad esto reside en mi Homebrew Cellar. En este punto, no estoy seguro de que haya una solución conveniente ...

    
pregunta Alex Mann 22.02.2018 - 19:58

0 respuestas

Lea otras preguntas en las etiquetas