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


in reply to Re^3: DBD::ODBC install can't find boot_DBI
in thread DBD::ODBC install can't find boot_DBI

I get:

Binary file ./blib/arch/auto/DBI/DBI.xs.dll matches ./DBI.c:XS_EXTERNAL(boot_DBI); /* prototype to pass -Wmissing-prototyp +es */ ./DBI.c:XS_EXTERNAL(boot_DBI) ./DBI.def: boot_DBI Binary file ./DBI.o matches Binary file ./dll.exp matches
on both machines.

The two machines extract the files and compile in a different order, but it appears to be the same files and same compile commands. The only difference I see before the failed test is that one machine refers to dmake as C:\STRAWB~1\c\bin\dmake.exe, while the other refers to it as C:\Strawberry\c\bin\dmake.EXE.

Replies are listed 'Best First'.
Re^5: DBD::ODBC install can't find boot_DBI
by soonix (Canon) on Oct 09, 2017 at 14:53 UTC
    The only difference I see before the failed test is that one machine refers to dmake as C:\STRAWB~1\c\bin\dmake.exe, while the other refers to it as C:\Strawberry\c\bin\dmake.EXE.
    This looks like one is using CMD.EXE and the other COMMAND.COM - what are the values of the COMSPEC environment variable?
      Both machines return C:\Windows\system32\cmd.exe.

        Further to ++soonix's good questions: Are you in the 64-bit cmd.exe on both machines? You can check Task Manager, which shows cmd.exe *32 for the 32-bit cmd.exe, and just cmd.exe for the 64-bit version. Inside cmd.exe, you can also check (see here for details): run set, and look at especially the PROCESSOR_ARCHITECTURE and PROCESSOR_ARCHITEW6432: the first should be AMD64 or similar in a 64-bit cmd.exe, and x86 in a 32-bit cmd.exe; the second is only defined in 32-bit cmd.exe, and should be AMD64.

        How this will help fix the problem, I am not sure... but it might point to where the difference lies.

        Mysterious.

        Perhaps perl is invoked on one computer using a .BAT file, and on on the other using a .CMD?

        If you open a command prompt, and enter DIR C:\ - does it show "Program Files" and "Program Files (x86)", or "PROGRA~1" and "PROGRA~2"?

        and: is the PATH the same on both machines?

Re^5: DBD::ODBC install can't find boot_DBI
by Anonymous Monk on Oct 12, 2017 at 00:42 UTC

    The two machines extract the files and compile in a different order, but it appears to be the same files and same compile commands. The only difference I see before the failed test is that one machine refers to dmake as C:\STRAWB~1\c\bin\dmake.exe, while the other refers to it as C:\Strawberry\c\bin\dmake.EXE.

    Hi,

    A shortpath versus a longpath wouldn't/shouldn't make a difference if they're pointing to the same place

    Yeah "appears to be" sounds very much like "doesn't work" ( vague) but

    its windows, a debugger might provide more info

    If it works on your version of windows (probably doesn't), try depends.exe Ctrl+O perl.exe , F7 ...foo.pl to see a LoadLibrary trace, might have more info

    or from commandline depends.exe /c /f:1 /pb /ot:temp.txt ...perl.exe foo.pl

    Or try the same thing (windbg) with WinDbg