Newsgroup: it.comp.lang.perl
Titolo: ActivePerl 5.8.0 error

Ciao!
in >ppm, quando tento di fare un search * nelle repository di defoult
ottengo sempre il messaggio d'errore:
missing base argument at c:perl/site/Lib/PPM/Repository.pm line 174
cosě non so che c'č nelle repository! la versione di Active 5.6 invece
funzionava invece benissimo.
qualcuno ne sa qualcosa?
stefano

 missing base argument at c:perl/site/Lib/PPM/Repository.pm line 174
                              ^
                            sembra mancare un / dopo c:
Però cercando su google ho trovato questo sito:
http://jenda.krynicky.cz/
in cui si dice:
<<If you get a
   Missing base argument at C:/Perl/site/lib/PPM/Repository.pm line 174
message you probably have a trailing slash in one of the repository 
paths. Please remove it.>>
ovvero c'è un / alla fine di uno dei path del repository.

 ovvero c'è un / alla fine di uno dei path del repository.
..esatto! non ce l'ho fatta ad aspettare una risposta sul NG ;-) e ho
risolto da solo....grazie!
mi rimane però un dubbio: come faccio, in win, e con activeperl ad
installare moduli che non sono presenti nelle repository? con CPAN? ma
cpan, in win, non si occupa SOLO del download dei moduli e non
dell'installazione?
ste
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 dell'installazione?
Ti incolla una FAQ che ho preparato:
Ho scaricato dei moduli, ma come posso installarli su Windows?
Se i moduli consistono di solo codice Perl, allora ti basta "nmake",
tool gratuito Microsoft che puoi scaricare qui:
http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
E' un autoestraente che contiene due file che puoi posizionare in una 
directory
presente nel tuo path, ad esempio in c:\windows
A questo punto, una volta decompresso il .tgz o .zip che sia,
vai nella directory creata e con:
perl 
makefile.pl
nmake
nmake test
nmake install
hai installato il modulo.
Se invece il modulo consiste ANCHE di codice C (estensioni XS) allora
ti serve anche un compilatore C (MS Visual C++ ad esempio, lo stesso con cui
è compilato l'ActiveState Perl). Qui le cose si potrebbero complicare un 
po' se si utilizza Win9x/Me
visti i limiti della sua shell dos (per cui potrebbe dover editare anche 
il file "Makefile" per cercare
delle scappatoie).
Terza soluzione: il modulo è presente anche quale package per PPM.
(PPM=Perl Package Manager 
http://aspn.activestate.com/ASPN/Reference/Products/ActivePerl/faq/ActivePerl-faq2.html#what_is_ppm
)
Se il modulo è presente in un repository allora se sei connesso ad 
internet, allora la cosa più semplice
è quella di utilizzare il ppm in maniera interattiva (digita da shell: 
ppm e poi help), basta dare il comando:
ppm install nomemodulo
da prompt di dos.
Se invece il modulo in versione PPM è stato scaricato su disco, allora 
devi prima verificare la versione
del tuo PPM, digitando:
ppm version
Se la versione è una 2.x.x allora (dopo la decompressione) basta un
ppm install --location=. nomemodulo
sempre da prompt di dos.
Se invece la versione è una 3.x.x allora i passi da seguire sono:
1) scomprimi il modulo in una directory, ad es. c:\tuadirectory
2) digita ppm
3) da ppm digita rep add DIR c:\tuadirectory
4) s nomemodulo
5) i (il numero che appare)
Se a questo punto non si ha una risposta postiviva ma invece si riceve 
un messaggio del tipo:
Error: no suitable installation target found for package ...
allora è necessario eseguire questi ulteriori passi:
0) uscire da PPM
1) edit il file nomemodulo.ppd
2) cambiare <ARCHITECTURE NAME="MSWin32-x86-multi-thread" /> in 
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
3) cambiare <CODEBASE 
HREF="MSWin32-x86-multi-thread/Win32-Lanman.tar.gz" /> in <CODEBASE 
HREF="MSWin32-x86-multi-thread-5.8/Win32-Lanman.tar.gz" />
4) rinominare la directory MSWin32-x86-multi-thread in 
MSWin32-x86-multi-thread-5.8
5) installare come detto per la versione 3.x.x

dell'installazione?
CPAN fa, anche in Windows, tutto quello che riesce a fare. Cioè tenta anche
di installare. Che ci riesca o meno è un altra faccenda. E che il modulo
installato funzioni o no ancora un'altra.
Se anche tutto funziona, hai poi comunque un'installazione "mista", in cui
ti sarà più complicato capire che cosa c'è e che cosa non c'è e che cosa è
o non è aggiornato.
Se il modulo è disponibile in ppm per qualche altro target, e tu SAI che
deve andar bene per forza, così com'è, anche nella versione di perl che hai
tu (perché, per esempio, è tutto in perl puro), puoi prelevare lo .zip del
ppm, modificare il .ppd perché fra le architetture ci sia anche la tua e
installare da locale.
Non è molto chiaro, lo so, ma d'altronde se non hai capito forse è meglio.
Comunque così io sono riuscito ad installare alcuni moduli che, chissà
perché, ActiveState si ostina a non rendere disponibili per perl 5.8.
Ciao.