/ / Installazione XML :: LibXSLT su ActiveState Perl 5.8 - perl, libxslt

Installazione di XML :: LibXSLT su ActiveState Perl 5.8 - perl, libxslt

Per l'elaborazione XSLT, sto cercando di utilizzare XML :: LibXSLT. Sto avendo ActiveState Perl su win32. Come ho capito, ho bisogno di installare prima libxslt prima di chiamare "perl Makefile.PL".

per libxslt su win32, sembra che i binari siano già disponibili e che possiamo usarli (quindi non c'è bisogno di compilare e compilare libxslt). È disponibile presso ftp://ftp.zlatkovic.com/libxml/

Così, ho scaricato libxslt ... zip insieme ad altre dipendenze - libxml, iconv e zlib.

Ma quando sto cercando di compilarlo usando il comando "perl Makefile.PL", sto ricevendo un messaggio di errore:

running pkg-config libexslt... failed
using fallback values for LIBS and INC
Warning: prerequisite XML::LibXML 1.70 not found. We have 1.64.
Note (probably harmless): No library found for -llibxslt
Note (probably harmless): No library found for -llibxml2
Note (probably harmless): No library found for -lzlib
Note (probably harmless): No library found for -llibexslt
Writing Makefile for XML::LibXSLT
Writing MYMETA.yml and MYMETA.json

Per questo motivo, anche il successivo comando "dmake" non funziona lamentandosi dei file di intestazione mancanti. Ecco l'output:

C:/Perl/site/bin/gcc.exe -c     -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -O2           -DVERSION="1.75"    -DXS_VERSION="1.75"  "-IC:PerllibCORE"  -DHAVE_BLANK -DHAVE_BLANK -DHAVE_EXSLT LibXSLT.c
LibXSLT.xs:12:32: libxslt/xsltconfig.h: No such file or directory
LibXSLT.xs:13:26: libxslt/xslt.h: No such file or directory
LibXSLT.xs:14:35: libxslt/xsltInternals.h: No such file or directory
LibXSLT.xs:15:31: libxslt/transform.h: No such file or directory
LibXSLT.xs:16:31: libxslt/xsltutils.h: No such file or directory
LibXSLT.xs:17:29: libxslt/imports.h: No such file or directory
LibXSLT.xs:18:32: libxslt/extensions.h: No such file or directory
LibXSLT.xs:19:30: libxslt/security.h: No such file or directory
LibXSLT.xs:21:28: libexslt/exslt.h: No such file or directory
LibXSLT.xs:22:34: libexslt/exsltconfig.h: No such file or directory
LibXSLT.xs:24:30: libxml/xmlmemory.h: No such file or directory

Potete per favore aiutarmi quale configurazione / configurazione mi manca.

risposte:

0 per risposta № 1

Non uso i binari zlatkovic, ma il principioè lo stesso, o si copiano i file .a / .h su dove si hanno altri file .a / .h oppure si dice a Makefile.PL dove trovarli. Lo faccio modificando Makefile.PL

$config{LIBS}="-l....liblibxml2.a -l....liblibiconv.a";
$config{INC}="-I....includelibxml2";
$config{DEFINE} =" -DLIBXML_STATIC -static-libgcc ";
WriteMakefile(...

0 per risposta № 2

Questo avvertimento è preoccupante (ci pensereiaggiornamento del modulo XML :: LibXML) ma il vero problema è che il Makefile non è puntato sul percorso di inclusione corretto per i tuoi header libxslt. Trova dove l'installer binario mette quelli sul tuo sistema e poi hackerizza il tuo Makefile per puntare a dove loro sono .. O reinstallare il libxml (assicurati di avere la versione "dev" che dovrebbe includere le intestazioni) in un posto dove il Makefile sta cercando la sua directory include. Questo dovrebbe risolvere il tuo problema.