Re: Help setting up appveyor for Windows continuous integration testing

2016-04-25 Thread David Mertens
Hello Rob,

Thanks for all of this work! I'll go through all of this at various points
throughout the week, so I may send a couple of follow-up emails later.

Thanks!
David

On Sun, Apr 24, 2016 at 8:05 PM,  wrote:

> From: David Mertens
> Sent: Monday, April 25, 2016 7:16 AM
> To: perl-xs@perl.org
> Subject: Help setting up appveyor for Windows continuous integration
> testing
> Hello everyone,
>
> The specific tcc error (given at
>> https://ci.appveyor.com/project/run4flat/c-blocks/build/1.0.17#L47) is:
>>
>>  C:/STRAWB~1/perl/lib/CORE/perl.h:2708: error: ';' expected (got
>> "perl_os_thread")
>>
>
> What does line 2708  of perl.h contain ?
> I get a very similar type of error when building C-Blocks-0.03 on Windows
> (perl-5.16, mingw.org build of gcc-4.7.0):
>
> Building C-Blocks
> Creating lib/C/Blocks/PerlAPI.xs
> In file included from perl_h_QSJqVkp1.c:15:
> In file included from C:/Mingw/perl516/lib/CORE/perl.h:610:
> C:/MinGW/include/sys/types.h:27: error: ';' expected (got "__time32_t")
>
> where line 27 is:
>
> typedef __int32 __time32_t;
>
> My first thought was that perl might be doing something incompatible with
> the __int32 symbol, as there's no problem with a C program that #includes
> sys/types.h.
> But #including sys/types.h into an Inline::C script is also fine, so I
> think it's unlikely that perl is the culprit
>
> Moving on  I don't get that error when I switch to perl-522, which
> uses the gcc-4.9.2 compiler provided by mingw-w64 project (different
> vendor).
> Indeed, this compiler doesn't typedef __int32 at all.
>
> However, with this combo, the C-Blocks-0.03 build fails with:
>
> Building C-Blocks
> Creating lib/C/Blocks/PerlAPI.xs
> In file included from perl_h_Xd9p6ge7.c:15:
> In file included from C:/MinGW/perl522_64int/lib/CORE/perl.h:699:
> In file included from
> C:/_32/gcc-straw-492/i686-w64-mingw32/include/sys/types.h:13:
> In file included from
> C:/_32/gcc-straw-492/i686-w64-mingw32/include/crtdefs.h:10:
> In file included from
> C:/_32/gcc-straw-492/i686-w64-mingw32/include/_mingw.h:275:
> C:/_32/gcc-straw-492/i686-w64-mingw32/include/vadefs.h:35: error: #error
> VARARGS not implemented for this compiler
> Unable to serialize the header file
>
> The error implies that the symbol  __WIDL__ has not been defined.
> It looks to me (not entirely certain) that __WIDL__ is normally *not*
> defined for me.
>
> Does anybody know what's going on?
>>
>
> Not me.
> Note that these errors are being obtained just running "cpan -i
> C::Blocks". Appveyor is not involved (unless, of course, it's being called
> in as part of the cpan build).
>
> One other odd thing:
> I had to set the CPATH environment variable to the location of winsock2.h
> - otherwise that header could not be located.
> In both C and Inline::C scripts that header is in the default search path
> - and gets #included fine.
>
> Here's the error:
>
> Building C-Blocks
> Creating lib/C/Blocks/PerlAPI.xs
> In file included from perl_h_Yryks05Z.c:15:
> In file included from C:/MinGW/perl522_64int/lib/CORE/perl.h:3060:
> In file included from C:/MinGW/perl522_64int/lib/CORE/win32thread.h:4:
> C:/MinGW/perl522_64int/lib/CORE/win32.h:131: warning: WIN32_LEAN_AND_MEAN
> redefined
> In file included from perl_h_Yryks05Z.c:15:
> In file included from C:/MinGW/perl522_64int/lib/CORE/perl.h:3060:
> In file included from C:/MinGW/perl522_64int/lib/CORE/win32thread.h:4:
> In file included from C:/MinGW/perl522_64int/lib/CORE/win32.h:419:
> C:/MinGW/perl522_64int/lib/CORE/sys/socket.h:21: error: include file
> 'winsock2.h' not found
> Unable to serialize the header file
> lib/C/Blocks/PerlAPI.xs.PL failed at
> C:/MinGW/perl522_64int/site/lib/Module/Build/Base.pm line 2930.
>
> I just noticed that setting CPATH also removes the "WIN32_LEAN_AND_MEAN"
> redefinition warning.
> Also, win32.h #includes windows.h - and I *think* (could check if it's
> important) that should be enough to get winsock2.h #included.
> Something is not quite right.
>
> Cheers,
> Rob
>



-- 
 "Debugging is twice as hard as writing the code in the first place.
  Therefore, if you write the code as cleverly as possible, you are,
  by definition, not smart enough to debug it." -- Brian Kernighan


Re: Seeking more help figuring out test failures

2016-04-25 Thread Shlomi Fish
Hi David,

On Sun, 24 Apr 2016 18:57:25 -0400
David Mertens  wrote:

> Hello everyone,
> 
> My work with Alien::TinyCCx gives errors on appveyor (
> https://ci.appveyor.com/project/run4flat/alien-tinyccx/build/1.0.7). I
> cannot reproduce these errors on my own setup. If you have a Windows
> machine, I would appreciate if you could try to run the test suite for
> Alien::TinyCCx. (I just pushed v0.08 to CPAN, but you can also get it from
> github at https://github.com/run4flat/Alien-TinyCCx). If you can reproduce
> the errors seen on appveyor, I'd like to know about your setup.
> 

I am getting these test failures on a Windows 7 x86-64 Professional
VirtualBox VM with strawberry perl 5.22.1.3:

http://www.shlomifish.org/Files/files/images/alien-tinyccx.png

Getting to the point where I was able to run this was time consuming because it
involved installing many updates (VBox guest additions, Windows Update,
Strawberry Perl, etc.). I hate Windows.

Regards,

Shlomi Fish

> Thanks!
> David
> 



-- 
-
Shlomi Fish   http://www.shlomifish.org/
Parody of "The Fountainhead" - http://shlom.in/towtf

   Botje: “you can’t kill Botje” isn’t Newton’s first law.
   It’s not even the 5th.
—  http://www.shlomifish.org/humour/fortunes/sharp-perl.html

Please reply to list if it's a mailing list post - http://shlom.in/reply .