http://qs321.pair.com?node_id=543471

DigitalKitty has asked for the wisdom of the Perl Monks concerning the following question:

Hi all.

I just finished installing the Express Edition of Oracle 10g along with dbd::oracle (ppm) on a winXP machine. When I tried to test the install by typing: perl -e "use dbd::oracle", I immediately saw a pop-up box that read:

"The procedure entry point Perl_Glockhook_ptr could not be located in the dynamic link library perl58.dll"

Any help would be appreciated.

Thanks,

~Katie

*Update: Included link to Oracle DB page.
  • Comment on Perplexing error message with Oracle 10g Express Edition.

Replies are listed 'Best First'.
Re: Perplexing error message with Oracle 10g Express Edition.
by PodMaster (Abbot) on Apr 15, 2006 at 05:21 UTC
    Did you search?

    Which version of perl do you have?

    Where did you install the binaries from?

    Its a binary compatibility problem. Perl-5.8.x has broken compatibility a couple of times, and whomever created your DBI/Oracle binaries (ppd), did so with a perl which is not compatible with yours.

    Offhand, compatibility was broken in 5.8.1, 5.8.7.

    The solution is to reinstall a DBI and DBD::Oracle compatible with your version of perl, or upgrade your perl.

    update: It appears this incompatibility are due to ActiveState's modifications (ActivePerl build 816).

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      Hi PodMaster.

      I consulted Google but I wasn't able to find anything which solved the problem. My current setup is:

      • WinXP
      • Perl 5.8.7 (ActiveState binary build 813)


      Thanks for the help,

      ~Katie

      *Update: After upgrading to ActivePerl 5.8.8 (Build: 817) and DBI to 1.50, the previous problem has been eliminated.
Re: Perplexing error message with Oracle 10g Express Edition.
by mpeg4codec (Pilgrim) on Apr 15, 2006 at 16:49 UTC
    This doesn't really answer your question, but you can include modules on the command line by using the -M flag. For instance:

    perl -MDBD::oracle

    If nothing happens, the include worked. If you get errors, the include obviously did not work. If you don't want to have to hit ctrl-c to get out of it, run this:

    perl -MDBD::oracle -e undef