Note that there are some explanatory texts on larger screens.

plurals
  1. POBuilding Perl/C module using Microsoft VC (cl.exe) 2010 (10.0) Express and ActivePerl 5.12.4/32
    primarykey
    data
    text
    <p>I'm facing this build problem using the configuration mentioned in the title. The Perl module I'm trying to build is <code>MongoDB::Connection</code>. I'm building via the CPAN shell, or manually like this:</p> <pre><code>C:\Opt\Perl512.32\bin\perl.exe Makefile.PL nmake </code></pre> <p>The command line for <code>cl.exe</code> is:</p> <pre><code>cl -c -I. -MD -Zi -DNDEBUG -DVERSION=\"0.43\" -DXS_VERSION=\"0.43\" ^ /Foxs/BSON.obj "-IC:\Opt\Perl512.32\lib\CORE" xs\BSON.c </code></pre> <p>Here are the error codes and their frequencies:</p> <pre><code> 6 C2040 'operator' : 'identifier1' differs in levels of indirection from 'identifier2' 32 C2059 syntax error : 'token' 7 C2081 'identifier' : name in formal parameter list illegal 54 C2143 syntax error : missing 'token1' before 'token2' 2 C2371 'identifier' : redefinition; different basic types </code></pre> <p>It looks to me like all these errors are symptoms of a failure in the preprocessing stage.</p> <p>I won't paste the entire output here, but the beginning is:</p> <pre><code>c:\opt\perl512.32\lib\core\win32.h(368) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' c:\opt\perl512.32\lib\core\win32.h(368) : error C2081: 'Stat_t': Name in der formalen Parameterliste ist ungültig c:\opt\perl512.32\lib\core\win32.h(368) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' c:\opt\perl512.32\lib\core\win32.h(368) : error C2059: Syntaxfehler: ')' c:\opt\perl512.32\lib\core\win32.h(369) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' c:\opt\perl512.32\lib\core\win32.h(369) : error C2081: 'STRLEN': Name in der formalen Parameterliste ist ungültig </code></pre> <p>So given the clue <code>Stat_t</code>, I tried to track down the issue.</p> <pre><code>ack Stat_t c:\opt\perl512.32\lib\core\ </code></pre> <p>So <code>Stat_t</code> is defined in <code>CORE\dosish.h</code> and <code>CORE\unixish.h</code>. Both are conditionally included from <code>CORE\perl.h</code>. Which is included from the file I'm trying to compile. So it <em>should</em> work.</p> <ul> <li><strong>What can I do to track the issue down?</strong></li> <li><strong>What's causing this failure?</strong></li> </ul> <p>There are some similar errors floating about the net. Here a Google search for you:</p> <p><a href="http://www.google.com?q=perl+win32.h+c2059+c2143+c2081+c2371" rel="nofollow">http://www.google.com?q=perl+win32.h+c2059+c2143+c2081+c2371</a></p> <p>Thanks.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload