I found DBI works without "install"!!!
This might be very interesting for the rental server user.
I used the DBD::CSV as my DBD, very simple but very small choice for rental
server use.
I compile the "DBI" and "SQL::Statement" and "Text::CSV_XS" which are needed
to use DBD::CSV at Solaris8 on my old Sparc machine at home.
I have typed "make" and "make test" but have not typed "make install", so
the *.so modules are not installed into the target folder. I recognized it
certainly by typing "find / -name *.so".
Then I locate the next files at next folders of my sparc.
------------------------------------------------
at ./
                test.cgi            ...this is a cgi program using DBI.
                mydb                ...this is a CSV DB file.
                DBI.pm
                DBI.so
                Statement.so
                CSV_XS.so
----------------------
at ./DBD
                CSV.pm
                File.pm
----------------------
at ./DBI
                DBD.pm
----------------------
at ./SQL
                Eval.pm
                Statement.pm
----------------------
at ./SQL/Statement
                Hash.pm
----------------------
at ./Text
                CSV_XS.pm
------------------------------------------------
And, It has worked well by both by console and by web browser at my home
LAN!!!
There has no problem until here. I have very good result at my home sprac.

But, the problem is...
When I uploaded the files on to the my rental server which are running by
Solaris7, It's my very sorrow, I encountered the internal error message.

I used the next perl code to capture the actual error.
-----------------------------------------------
unshift(@INC,  "./");
$FORMULA = "use DBI;";
print "FORMULA--><B>$FORMULA</B><BR>\n";
eval $FORMULA;
if ($@ eq ""){
 print "OK<BR>\n";
}else{
 print "error---> $@<BR>\n";
}
-----------------------------------------------
It seemed to me that the @INC must have ./ at it's first value.
And the actual error message seems like next.
-----------------------------------------------
error---> Can't load './DBI.so' for module DBI: ld.so.1:
/usr/local/bin/perl: fatal: relocation error: file ./DBI.so: symbol
Perl_safemalloc: referenced symbol not found at
/usr/local/lib/perl5/5.00503/sun4-solaris/DynaLoader.pm line 169.

 at DBI.pm line 183
BEGIN failed--compilation aborted at DBI.pm line 183.
BEGIN failed--compilation aborted at (eval 1) line 1.
-----------------------------------------------
It seems to me that this error was relating with the version or some setting
of Solairs8 of my sparc and Solaris7 of my rental server, because the
version of perl it self is completely same 5.00503 and original @INC has
completely same folders.

If it won't work at rental server this information must be meaningless.
Please help me or think together!!!

H.Shiba from Japan

Reply via email to