Newsgroup: it.comp.lang.perl
Titolo: problema con modulo DB_File

Salve a tutti,
    Ho acquistato un server dedicato per installare un software da
interfacciare al sito che utilizzo per la mia attività commerciale. A parte
questo, fino a poco tempo fa ho utilizzato un account in hosting presso una
società italiana ed avevo installato il forum iKonBoard (
www.ikonboard.com
)
che funzionava correttamente. Ora su questo server, con Linux RH 7.2, il
software non funziona. Con un file cgi di test risulta che il modulo perl
"DB_File" non è installato e l'ho fatto presente al tecnico che lavora per
la società che ospita tale server che mi ha risposto invece che il modulo è
installato, ma che il forum ne ricerca una versione più vecchia!
Visto che mi sembra abbastanza in dubbio la cosa e che pago molto per avere
questo servizio, vorrei sapere come poter controllare con accesso telnet, se
tale modulo è installato correttamente o meno.
Grazie 1000

è inconsueto, però può succedere che nuove versioni di moduli cambino
qualcosa per cui il codice dei vecchi programmi non funziona più. Per il
modulo Berkeley DB non so se si sia verificato: per controllare guarda qui:
http://search.cpan.org/perldoc?DB_File
In ogni caso, una utilissima indicazione te la da il perl stesso. Cosa dice
esattamente? Perché se è qualcosa tipo:
Can't locate DB_File.pm in @INC (@INC contains: blablabla .) at 
file.pl
 line
1.
allora non è colpa della versione, ma del fatto che il modulo proprio non
esiste in @INC.
 Comunqeu se vuoi aiuto incolla in un post le lamentele di perl, e vedremo
di scoprire di più.
--
perl -MLWP::Simple -e "getprint(' 
http://perl.4pro.net
 ')"


Grazie 1000 per l'aiuto
Di seguito riporto il messaggio relativo al file di test "iBtest.cgi":
In testa c'e' un messaggio relativo ad un file che non trova, l'ho segnalato
al tecnico, ma dice che č normale, solo che sul precedente hosting non lo
segnalava e lo script funzionava correttamente!
Software error:
Can't load '/usr/lib/perl5/5.6.0/i386-linux/auto/DB_File/DB_File.so' for
module DB_File: 
libdb-3.1.so
: cannot open shared object file: No such file
or directory at /usr/lib/perl5/5.6.0/i386-linux/XSLoader.pm line 73. at
/usr/lib/perl5/5.6.0/i386-linux/DB_File.pm line 235
Ikonboard Path and Environment Test
This script checks your paths and environment variables and prints the
results based on its best information available.
This server is running perl version: 5.006.
CGI Version: 2.56
Has DB_File Perl module installed?No
Has CGI Perl module installed?Yes
Has DBI Perl module installed?No
Has DBD-Mysql Perl module installed?No
Results:
You do not have the db_file perl module installed on this server. You will
not be able to run Ikonboard.
Environment:
$ENV{CHARSET_HTTP_METHOD}:http://
$ENV{QUERY_STRING}:
$ENV{HTTP_ACCEPT_LANGUAGE}:it
$ENV{SERVER_PROTOCOL}:HTTP/1.1
$ENV{HTTP_CONNECTION}:Keep-Alive
$ENV{CHARSET_SERVER_PORT}:80
$ENV{HTTP_USER_AGENT}:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
$ENV{HTTP_ACCEPT}:*/*
$ENV{GATEWAY_INTERFACE}:CGI/1.1
$ENV{SERVER_SOFTWARE}:Apache/1.3.14 Ben-SSL/1.41 (Unix) mod_throttle/2.11
mod_perl/1.24_01 PHP/4.0.3pl1 FrontPage/
4.0.4.3
 rus/PL30.0
$ENV{SCRIPT_NAME}:/cgi-bin/iBtest.cgi
$ENV{HTTP_ACCEPT_ENCODING}:gzip, deflate
$ENV{REQUEST_URI}:/cgi-bin/iBtest.cgi
$ENV{UNIQUE_ID}:PeogYNQZtaQAABn45Xg
$ENV{REQUEST_METHOD}:GET
$ENV{PATH}:/bin:/usr/bin:/usr/local/bin
$ENV{SERVER_PORT}:80
Include Path:
/usr/lib/perl5/5.6.0/i386-linux
/usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i386-linux
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl

 /usr/lib/perl5/5.6.0/i386-linux/DB_File.pm line 235
Beh... fai leggere questo al cosiddetto "tecnico", perché potrebbe essere
che il DB_File in questione non sia installato correttamente: questo è un
errore generato da XSLoader.pm (line 73) chiamato da stesso DB_File.pm (line
235), che non trova un file shared.
Facci sapere gli sviluppi.


> Beh... fai leggere questo al cosiddetto "tecnico"
Grazie ancora, ho già inoltrato la comunicazione al tecnico, oggi stesso mi
accerterò della sua risposta anche se già so che sarà al solito cunfusa e
senza un dato oggettivo a cui arrivare. Sarebbe il massimo se potessi, da
accesso telnet, per esempio utilizzando qualche script di testing, provare
in modo tangibile che vi sono dei problemi sul server. Non c'e' un modo come
per esempio, nel caso del PHP, con il comando "phpinfo", per sapere quali
moduli sono effettivamente installati e funzionanti in Perl?

>

 moduli sono effettivamente installati e funzionanti in Perl?
Ci sono diversi metodi ma un CGI che fa questo lo trovi qui:
http://www.scriptsolutions.com/programs/free/perldiver/
-- 
$_=q,6;-16;-1;-8;0;7;-13;-12;-9;-3;13#4A75737420616E6F74686572,,($_,$b)=
split?#?;@b=split?;?;map{$c.=$_,$d.=chr$b[$e++]+ord}split??,pack'H24',$b
;chop$d,print$c.chr(32).$d

 <br>
con
Is the DB_File installed on this server to allow DBM's to be used?
<b>$has_dbm</b><br>
DB_File require error: $DB_File_error
<br>
e vedrai lo stesso errore stampato nella pagina. ;-)
Direi decisamente che un errore generato da un semplice require DB_File è
sintomo inequivocabile che la libreria non è correttamente installata.
Se hai problemi col tuo hosting e ti serve un hosting MOLTO serio, anche se
caruccio, indicato per aziende che hanno necessità di completa affidabilità
e competenza nell'assistenza, potresti dare uno sguardo qui, e vedere
caratteristiche e tariffe di rivenditore. Qui hai praticamente tutto,
incluso subdomains, telnet, ftp accounts, anonimous ftp, mod_rewirte
utilizzabile da .htaccess, parecchi script one-click install, possibilità di
usare CPAN, e soprattutto OTTIMA assistenza.
http://www.4pro.net/unix.html
Se ti può aiutare a risolvere i problemi di cui sopra, fammi sapere.


>
E sul secondo invece ad entrambi YES. (è necessario che almeno la prima riga
risulti "YES" per poter installare lo script)
Da quello che risulta con lo script "perldiver.cgi", non mi pare di notare
grosse differenze, ma purtroppo io non me ne intendo. Ho notato che comunque
per entrambi, il modulo "DB_File", non risulta, ma l'account in hosting
risponde bene allo script "perl_test.cgi", mentre il server dedicato no!
Di seguito vi riporto entrambi gli url dove potrete voi stessi verificare e
gentilmente darmi qualche consiglio!
Account in hosting:
http://151.39.217.190/cgi-bin/perl_test.cgi
http://151.39.217.190/cgi-bin/perldiver.cgi
Server dedicato:
http://212.25.182.30/cgi-bin/perl_test.cgi
http://212.25.182.30/cgi-bin/perldiver.cgi
Vi ringrazio per l'aiuto.

>
A questo punto credo che sia palese il fatto che ci sia un problema e che
non dipenda dalla versione del modulo! Darò questo file al tecnico se non
risolverà la situazione provvederò a disdire il contratto e ad appoggiarmi
ad un'altra società. Grazie anche per l'url, se sarò costretto a disdire il
contratto lo prenderò sicuramente in considerazione.

 contratto lo prenderò sicuramente in considerazione.
Se poi ti serve, mandami una e-mail, e vedrò per le tariffe che ti posso
applicare.
