incubator-lucy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <mar...@rectangular.com>
Subject Re: [lucy-user] [ANNOUNCE] Apache Lucy (incubating) 0.2.0 released
Date Sat, 03 Sep 2011 23:47:47 GMT
On Sun, Sep 04, 2011 at 12:54:57AM +0300, Octavian Rasnita wrote:
> I have tried to compile the trunk version with VC6, but it gave the
> following error on the perl Build phase:
> 
> Generating script 'src\CFCBindAliases.ccs'
> cl -nologo -c @"src\CFCBindAliases.ccs" -Fo"src\CFCBindAliases.obj" "src\CFCBindAliases.c"
> CFCBindAliases.c
> src\CFCBindAliases.c(129) : error C2374: 'i' : redefinition; multiple initialization
> src\CFCBindAliases.c(120) : see declaration of 'i'

Interesting.  This is actually a Perl problem, in that it is Perl code which
has failed to supply the correct compiler flags.  Here's the relevant section
from trunk/clownfish/buildlib/Clownfish/Build.pm:

    # Compile as C++ under MSVC.  Turn off stupid warnings, too.
    if ( $self->config('cc') =~ /^cl\b/ ) {
        $extra_ccflags .= '/TP -D_CRT_SECURE_NO_WARNINGS ';
    }

Had that worked as expected, the compiler command would have looked like this:

    cl -nologo /TP -D_CRT_SECURE_NO_WARNINGS -c @"src\CFCBindAliases.ccs" -Fo"src\CFCBindAliases.obj"
"src\CFCBindAliases.c"

I don't understand why it didn't work.  Before asking you to try trunk, I
verified that it worked under ActivePerl in conjunction with MSVC 2010; MSVC
2010 is just as incapable of compiling that source file as Visual Studio 6
without C++ mode enabled.

I wonder what $self->config('cc') returns in your install[1].  Try inserting the
following line in that file...

     # Compile as C++ under MSVC.  Turn off stupid warnings, too.
+    warn "'" .  $self->config('cc') . "'";
     if ( $self->config('cc') =~ /^cl\b/ ) {
         $extra_ccflags .= '/TP -D_CRT_SECURE_NO_WARNINGS ';
     }

... and then try the following.

    cd lucytrunk\clownfish
    perl Build.PL

What do you get?

Or maybe the problem is the communication between trunk/perl/Build.PL and
trunk/clownfish/Build.PL?  Are you doing anything special to spec Visual Studio
6, which we're not passing successfully to the secondary Build.PL?

Marvin Humphrey

[1] Technically, "$self" is the wrong variable name here; it's being invoked as
    a package method.  However, that does not seem to cause problems on my
    systems.


Mime
View raw message