Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: DBD::ODBC install can't find boot_DBI

by DanEllison (Scribe)
on Oct 07, 2017 at 00:31 UTC ( [id://1200870]=note: print w/replies, xml ) Need Help??


in reply to DBD::ODBC install can't find boot_DBI

I went back and re-installed DBI and the problem appears to be originating there. I also have another system which should be the same setup where I am already using DBI and DBD::ODBC with no issue. I've gone back and compare versions and even run the DBI install on that box as well. Makefiles and compiler options look the same. Here is where I see the first differene during the install:

... "C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e cp -- dbilogs +trip blib\script\dbilogstrip pl2bat.bat blib\script\dbilogstrip TIMB/DBI-1.637.tar.gz C:\STRAWB~1\c\bin\dmake.exe -- OK Running make test "C:\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::H +arness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\l +ib', 'blib\arch')" t/*.t # --- Perl 5.020003 on MSWin32-x64-multi-thread # Failed test 'use DBI;' # at t/01basics.t line 43. # Tried to use 'DBI'. # Error: Can't find 'boot_DBI' symbol in C:\STRAWB~1\cpan\build\D +BI-1.637-3\blib\arch/auto/DBI/DBI.xs.dll # at C:\STRAWB~1\cpan\build\DBI-1.637-3\blib\lib/DBI.pm line 284. # BEGIN failed--compilation aborted at C:\STRAWB~1\cpan\build\DBI-1.63 +7-3\blib\lib/DBI.pm line 284. # Compilation failed in require at t/01basics.t line 43. # BEGIN failed--compilation aborted at t/01basics.t line 43. Bareword "SQL_GUID" not allowed while "strict subs" in use at t/01basi +cs.t line 54. Bareword "SQL_WLONGVARCHAR" not allowed while "strict subs" in use at +t/01basics.t line 55. Bareword "SQL_WVARCHAR" not allowed while "strict subs" in use at t/01 +basics.t line 56. ...

On the machine that doesn't have any problems, I get this "Error: Can't find 'boot_DBI', nor the Bareword warnings. The tests run successfully.

Replies are listed 'Best First'.
Re^2: DBD::ODBC install can't find boot_DBI
by syphilis (Archbishop) on Oct 07, 2017 at 23:43 UTC
    On the machine that doesn't have any problems ...

    Let me see if I've got this right.

    On both machines you can run:
    perl -MDBI=":sql_types" -le "print 1;"

    and, on both machines, the following outputs 1.637:
    perl -MDBI=":sql_types" -le "print $DBI::VERSION;"

    But you can run the following command only on the machine that doesn't have any problems:
    perl -MDBI=":sql_types" -le "print SQL_GUID;"

    I think Strawberry-5.20.3 shipped with version 1.634 of DBI (at least that's the version I have), and I think you'll still have that version installed in vendor/lib.
    I would try reverting to that version - which you could do by renaming site/lib/DBI.pm to site/lib/DBI.pm_hide and site/lib/auto/DBI/DBI.xs.dll to site/lib/auto/DBI/DBI.xs.dll_hide.
    If that fixes the problem (with the last of those one-liners) on the problem machine then it might give us something to work on.

    Just rename those 2 files to their original names when you wish to revert back to using 1.637.

    Cheers,
    Rob

      Couldn't print the version on the failed box. I had run a force install of DBI earlier, so besides renaming those files, I had to restore some files under vendor. But once I did that, then I was able to print the version.

      Then I went and tried to upgrade DBD::ODBC, but got a similar failure, Can't find boot_DBD__ODBC. I didn't force this, so didn't need to back anything out.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1200870]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (9)
As of 2024-04-16 11:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found