Are you sure about the line number 3242 ?

Sorry - it hadn't occurred to me that Pg.c was (as Tux has just pointed out) a generated file.

The problem arises because of the declaration of static int errno; in Pg.h. (This declaration is made only on Windows.)
I would first try removing that declaration (line 14) from Pg.h and then rebuild DBD::Pg afresh.
Here's a simple demo of the problem:

UPDATE: In this demo script, I originally declared foo() as SV * foo().
I have now corrected that declaration to void foo().
use strict; use warnings; use Inline C => <<'END_OF_C'; static int errno; void foo() { printf("errno: %d\n", errno); } END_OF_C foo();
On Windows, running that perl script with my Platform SDK compiler (14.00.40310.41), I get:
Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. --snip-- cl -c -I"C:/_32/pscrpt/inline" -nologo -GF -W3 -MD -Zi -DNDEBUG +-Ox -GL -fp:precise -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVA +TIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONT +EXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -MD -Zi -DNDEBUG -Ox -GL -fp:pre +cise -DVERSION=\"0.00\" -DXS_VERSION=\"0.00\" "-IC:\_64\ap1600\l +ib\CORE" try_pl_3645.c try_pl_3645.c try_pl_3645.c(210) : error C2129: static function 'int *_errno(void)' +declared but not defined C:\_64\Platform_SDK\Include\crt\errno.h(54) : see declaration +of '_errno' NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. A problem was encountered while attempting to compile and install your + Inline C code. The command that failed was: C:\_64\PLATFO~1\Bin\nmake.exe > out.make 2>&1 The build directory was: C:\_32\pscrpt\inline\_Inline\build\try_pl_3645 To debug the problem, cd to the build directory, and inspect the outpu +t files. at try.pl line 12. ...propagated at C:/_64/ap1600/site/lib/Inline/C.pm line 772. BEGIN failed--compilation aborted at try.pl line 12.
I get the same problem with mingw (gcc) compilers - with slightly different error messages.

There's only the one instance of "errno" in the entire DBD::Pg source, so I'm guessing there's no harm in removing that one and only instance at line 14 of Pg.h.
Or am I missing something ?

Cheers,
Rob

In reply to Re^3: problem installing DBD::Pg by syphilis
in thread problem installing DBD::Pg by expo1967

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.