"Martin Evans" <martin.ev...@easysoft.com> wrote in message 
news:4c19cffc.5010...@easysoft.com...
> Bob McGowan wrote:
>> On 06/16/2010 01:54 PM, Martin J. Evans wrote:
>>> On 16/06/2010 20:22, Bob McGowan wrote:
>>>> On 06/16/2010 05:14 AM, Martin Evans wrote:
>>>>
>>>>> Benjamin Mark wrote:
>>>>>
>>>>>> "Bob McGowan"<bob_mcgo...@symantec.com>  wrote in message
>>>>>> news:4c110b04.60...@symantec.com...
>>>>>>
>>>>>>> On 06/09/2010 08:43 AM, Benjamin Mark wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> I wan't to install the DBD::Oracle package on Ubuntu 8.04 LTS.
>>>>>>>> I've installed a Oracle 10gR2 database (not the client) which is
>>>>>>>> running
>>>>>>>> well.
>>>>>>>>
>>>>>>>> Everytime I wan't to install the package I got the message:
>>>>>>>>
>>>>>>>> #####################################################################
>>>>>>>> Removing previously used
>>>>>>>> /home/administrator/.cpan/build/DBD-Oracle-1.24
>>>>>>>>
>>>> <<--Deleted on purpose-->>
>>>>
>>>>
>>>>>> thx for your answer. Yes the oracle 10g is on the same machine.
>>>>>> But for any reason the installer/compiler can't see the right 
>>>>>> libraries
>>>>>> packages but the path is definetivly the right one.
>>>>>> In the maintime I've succeeded to the tell the user the right
>>>>>> environment
>>>>>> variables but the installer still has problems.
>>>>>>
>>>>>> #####################################################################
>>>>>>    CPAN.pm: Going to build P/PY/PYTHIAN/DBD-Oracle-1.24b.tar.gz
>>>>>>
>>>>>> Argument "6.30_01" isn't numeric in subroutine entry at Makefile.PL
>>>>>> line 10
>>>>>>          main::BEGIN() called at
>>>>>> /usr/share/perl/5.8/ExtUtils/MakeMaker.pm
>>>>>> line 10
>>>>>>          eval {...} called at
>>>>>> /usr/share/perl/5.8/ExtUtils/MakeMaker.pm line
>>>>>> 10
>>>>>> Using DBI 1.601 (for perl 5.008008 on i486-linux-gnu-thread-multi)
>>>>>> installed
>>>>>> in /usr/lib/perl5/auto/DBI/
>>>>>> Argument "6.30_01" isn't numeric in numeric ge (>=) at Makefile.PL
>>>>>> line 61.
>>>>>>
>>>>>> Configuring DBD::Oracle for perl 5.008008 on linux
>>>>>> (i486-linux-gnu-thread-multi)
>>>>>>
>>>>>> Remember to actually *READ* the README file! Especially if you have 
>>>>>> any
>>>>>> problems.
>>>>>>
>>>>>>    The ORACLE_HOME environment variable value
>>>>>> (/home/oracle/product/10gR2) is
>>>>>> not valid.
>>>>>>
>>>> <<--Deleted on purpose-->>
>>>>
>>>>
>>>>>>
>>>>> I find the easiest way to get DBD::Oracle working is this:
>>>>>
>>>>> o get Oracle InstantClient for your platform
>>>>> o unzip it somewhere (perhaps inside /home/oracle on your machine)
>>>>> o make sure all dirs and files in the instantclient dir are readable 
>>>>> by
>>>>> the users and installers
>>>>> o set LD_LIBRARY_PATH to point at instant client dir
>>>>>    e.g., export LD_LIBRARY_PATH=/home/oracle/instantclient_11_1/
>>>>> o download DBD::Oracle, untar it and change into created dir
>>>>> o run perl Makefile.PL, make, make test sudo make install
>>>>>
>>>>> Hope this helps.
>>>>>
>>>>> Martin
>>>>>
>>>> Martin, the point of the OP is that the standard sequence you describe
>>>> isn't working for him.
>>>>
>>>> Ben, there are several things in the earlier part of the error messages
>>>> that don't make sense.  For example, 'Argument "6.30_01" isn't numeric
>>>> ...' shouldn't be happening, so far as I can tell.  The underscore is a
>>>> "readability" thing, for humans, and Perl strips it (whether the string
>>>> is quoted or not), so that "6.30_01" ends up being "6.3001".  I tested
>>>> this in debug mode and can state this with 100% confidence (besides, 
>>>> the
>>>> docs say the same thing ;).
>>>>
>>>>
>>> With great respect I don't agree with this. If you have E:M 6.30_01 you
>>> do get this warning - it is scattered all over the smoke testers
>>> results. I don't think this has anything at all to do with the failure
>>> to build and that is why I ignored it.
>>
>> Perhaps I'm not seeing/noticing something that you are?  All I see in
>> the error message provided by the OP is "6.30_01", there is no "E:M"
>> mentioned.
>
>
> Argument "6.30_01" isn't numeric in subroutine entry at Makefile.PL line
> 10  main::BEGIN() called at /usr/share/perl/5.8/ExtUtils/MakeMaker.pm
> line 10 eval {...} called at /usr/share/perl/5.8/ExtUtils/MakeMaker.pm
> line 10
>
> Line 10 of Makefile.PL is:
>
> use ExtUtils::MakeMaker 5.16, qw(&WriteMakefile $Verbose);
>
> and the Ben's version of E::M is 6.30_01 (note the _01) usually causes
> this. However, I must admit it usually causes it at line 61 like this:
>
> Argument "6.56_01" isn't numeric in numeric ge (>=) at Makefile.PL line
> 61 which is:
>
> if ($ExtUtils::MakeMaker::VERSION >= 5.43) {
>
> and now that I look at it again I am surprised it barfed at line 10. I
> saw the E::M version warning and ignored it out of hand assuming it was
> the usual one from line 61. I'd guess this may be to do with his older
> Perl 5.8.8.
>
>> What is this and where does it come from?  I agree, it would certainly
>> change the tests, if present, I'm just not seeing it.
>>
>> And I goofed badly in my comment to you.  The OP is following the
>> "standard procedure" for building *without* the Instantclient.
>
> I realise that but given that no one had diagnosed his problem I
> suggested using Instant Client which in my opinion is much easier to use
> and has less pitfalls with file permissions, ORACLE_HOME etc.
>
>>>> In my experience, things like this are often the result of "cascading"
>>>> errors, that is to say, something is wrong, somewhere else, that causes
>>>> these to happen.
>>>>
>>>> So, look at your ORACLE_HOME value.  The message above says it is not
>>>> valid.  Fix that first, then maybe the other issues will go away.
>>>>
>>>>
>>> Here again, we have no evidence that the method I provided fails when
>>> ORACLE_HOME is not set as ORACLE_HOME does not NEED to be set when using
>>> instant client.
>>
>> Agreed, ORACLE_HOME is not relevant in the Instantclient case.
>>
>> But it is for the case where you are *not* using Instantclient.  But
>> more may be missing, see below ...
>>
>>>> Some thoughts on why it might not be valid:
>>>>
>>>> 1.  The directory permissions and/or file permissions don't allow the
>>>> user doing the build to read anything.  So, you might want to run a
>>>> 'chmod' on directories and files.  I suggest using 'find' and 'xargs' 
>>>> so
>>>> you can separate directories from files.  From the top level of the
>>>> *Oracle install*, as root or the user who actually owns the Oracle 
>>>> files
>>>> and directories (for my install, that was 'oracle'):
>>>>
>>>>    find . -type f | xargs chmod go+r # add read for all to all files.
>>>>    find . -type d | xargs chmod go+rx # add read/search for all on all
>>>>                                       # directories
>>>>
>
> This of course is a possible reason but this is exactly why I suggest
> InstantClient as you can unzip it anywhere without fiddling with your
> main Oracle installation and risking breaking it. Plus you can install
> it as any user in your home directory if you like.
>
>>>> 2.  The path is in fact not correct.  This could be due to a directory
>>>> name having white space in it, or to having a value that is too short 
>>>> or
>>>> too long (too few or too many directory levels).
>>>>
>>>> Doing an 'ls $ORACLE_HOME', you should see names like:  bin css dbs 
>>>> demo
>>>> jdk network precomp ...
>>>>
>>>> If you don't see them, your ORACLE_HOME is not set correctly.  Figure
>>>> out where the above named items are and 'pwd' gives to correct value
>>>> to use.
>
> True but the original report said:
>
> Your LD_LIBRARY_PATH env var is set to ''
> The ORACLE_HOME environment variable is not set and I couldn't guess
>
> and Ben said:
>
> "The ORACLE_HOME and LD_LIBRARY_PATH is set for user administrator (root
> priviliges) and oracle user."
>
> Much more likely is ORACLE_HOME is set but not exported:
>
> $ ORACLE_HOME=/home/martin/instantclient_11_1/
> $ ls $ORACLE_HOME
> adrci         genezi      libclntsh.so       libnnz11.so
> libociei.so      libsqlplusic.so  ojdbc5.jar  sdk      SQLPLUS_README
> BASIC_README  glogin.sql  libclntsh.so.11.1  libocci.so.11.1
> libocijdbc11.so  libsqlplus.so    ojdbc6.jar  sqlplus
>
> $ perl -le 'print "ORACLE_HOME=$ENV{ORACLE_HOME}\n";'
> ORACLE_HOME=
>
>>>> 3.  Finally, just to be sure, your 'LD_LIBRARY_PATH' would be
>>>> "$ORACLE_HOME/lib".
>>>>
>>>> But, it's so much easier to do this if you'd just use Instantclient, as
>>>> Martin and others have suggested.  There are specific instructions in
>>>> the README* files on how to set up the environment variables to take
>>>> advantage of this package.
>>>>
>
>
>>> The OP admitted he had not installed an Oracle client which is why I
>>> suggested installing InstantClient - I've done this loads of times on
>>> many machines and know it works. Plus the OP is installing from the cpan
>>> shell which introduces a load of differences. I don't like that output
>>> saying ORACLE_HOME is not set as in fact it does not NEED to be set for
>>> instant client. Admittedly, there is something strange going on with the
>>> OP's output but we don't really know what was installed and available.
>>> Install Instant Client and re-run and if it fails report the problems
>>> and we'll take it from there.
>>
>> I'm sorry, I had missed making the connection that the user had only
>> installed the server, even though it is very clearly stated.
>>
>> I've used the Instantclient since it first became available.  And, when
>> it wasn't, I would install both parts so I'd have "my own" setup for
>> testing.
>>
>> So it's very likely there's not enough of Oracle available in the OP's
>> setup to build properly.
>
> quite likely or ORACLE_HOME is not exported.
>
> It is worth remembering running with -d argument to Makefile.PL gives
> more info:
>
> perl Makefile.PL -d
>
> however, I think Ben was installing via the CPAN shell.
>
>> Whatever the cause, since I've never seen the problem and can't
>> duplicate it, I was using what experience I have to try and guide my
>> suggestions.
>>
>> The fact that the error does say the OP's ORACLE_HOME is invalid,
>> indicates he hasn't gotten the environment configured correctly, and I
>> would suggest fixing the "highest" level errors first, just in case they
>> are contributing in some way.  Whether they are or not, they muddy the
>> waters and make it harder, I think, to troubleshoot the problem.
>>
>> And, ultimately, if he'd follow the suggestion we both made and use the
>> Instantclient, things would probably be easier all around.
>>
>>> I am constantly suprised at the number of these posts as I've never had
>>> any real problems (over years and many oracle versions and on many
>>> platforms) - perhaps someone ought to start compiling a list of these
>>> issues to feedback to John.
>>>
>>> Martin
>>>
>>
>>
>
> I hope you get it sorted out Ben.
>
> Martin
> -- 
> Martin J. Evans
> Easysoft Limited
> http://www.easysoft.com

Hi,

Thx for your help. I will have look if the "export" command is used in the 
profile file of the user.

The next step would be to use the instant client.

I keep you informed.

Ben


Reply via email to