Skip Menu |

This queue is for tickets about the Tk CPAN distribution.

Report information
The Basics
Id: 39400
Status: stalled
Priority: 0/
Queue: Tk

People
Owner: Nobody in particular
Requestors: marc.girod [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 804.028
Fixed in: (no value)



Subject: Compile error at installation on ActivePerl 5.10
The compilation ends in: cl -c -I.. -I../pTk/mTk/xlib -I. -Ibitmaps -I../pTk/mTk/xlib -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DPERLDLL -MD -Zi -DNDEBUG -O1 -DVERSION=\"804.028\" -DXS_VERSION=\"804.028\" "-IC:\Perl\lib\CORE" imgBMP.c imgBMP.c h:\tmp\tk-804.028\ptk\Lang.h(33) : warning C4117: macro name '__FUNCTION__' is reserved, '#define' ignored h:\tmp\tk-804.028\ptk\img.h(21) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\cl.EXE"' : return code '0x2' This is perl, v5.10.0 built for MSWin32-x86-multi-thread (with 3 registered patches, see perl -V for more detail)
From: marc.girod [...] gmail.com
System: Microsoft Windows 2000 5.00.2195 Service Pack 4
From: marc.girod [...] gmail.com
I get the same error: Cannot open include file: 'windows.h' while building another perl module. Searching for the file, I find it, under Cygwin: C:\cygwin\usr\include\w32api I try now to install Tk onto a perl outside Cygwin. Could there be that there is a clash? I did unset the CYGWIN environment varaiable (after noticing some possible impact on chmod, from man perlport)
On Fri Sep 19 05:54:33 2008, mgirod wrote: Show quoted text
> I get the same error: Cannot open include file: 'windows.h' > while building another perl module. > Searching for the file, I find it, under Cygwin: > C:\cygwin\usr\include\w32api > I try now to install Tk onto a perl outside Cygwin. > Could there be that there is a clash? > I did unset the CYGWIN environment varaiable > (after noticing some possible impact on chmod, from man perlport)
windows.h has to be part of MSVC. Maybe its installation is incomplete? Regards, Slaven
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 08:17:15 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Hi Slaven, On Fri, Sep 19, 2008 at 11:22 PM, Slaven_Rezic via RT <bug-Tk@rt.cpan.org> wrote: Show quoted text
> windows.h has to be part of MSVC. Maybe its installation is incomplete?
I have only the Express edition of Visual Studio, the one you can download for free: http://www.microsoft.com/express/ In addition, on this w2k pc, I could only install the 2005 edition, not the latest 2008 one, which I have on my Vista laptop. There seems to be no windows.h there. Marc
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 08:23:46 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Hi again Slaven, On Sat, Sep 20, 2008 at 8:17 AM, Marc Girod <marc.girod@gmail.com> wrote: Show quoted text
> There seems to be no windows.h there.
Where should it be? I did a full scan on the w2k. Now I am on the Vista laptop, and I just checked that there is no windows.h in: C:\Program Files\Microsoft Visual Studio 9.0\VC\include Where else could it be? Thanks, Marc
On Sat Sep 20 03:24:01 2008, mgirod wrote: Show quoted text
> Hi again Slaven, > > On Sat, Sep 20, 2008 at 8:17 AM, Marc Girod <marc.girod@gmail.com> wrote: >
> > There seems to be no windows.h there.
> > Where should it be? > I did a full scan on the w2k. > Now I am on the Vista laptop, and I just checked > that there is no windows.h in: > > C:\Program Files\Microsoft Visual Studio 9.0\VC\include > > Where else could it be? >
The missing windows.h seems to be a known problem. At least I see a couple of hits in Google: http://www.google.com/search?q=windows.h+express+visual+microsoft&start=0&start=0&ie=utf-8&oe=utf-8&client=mozilla&rls=org.mozilla:en-US:unofficial Regards, Slaven
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 09:12:48 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Thanks Slaven, On Sat, Sep 20, 2008 at 8:25 AM, Slaven_Rezic via RT <bug-Tk@rt.cpan.org> wrote: Show quoted text
> The missing windows.h seems to be a known problem. At least I see a > couple of hits in Google:
Indeed. I try to download on both platforms. I am confused to have let you google for me... The __FUNCTION__ redefinition, I can ignore? Thanks, Marc
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 15:27:29 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Hi Slaven, On Sat, Sep 20, 2008 at 9:12 AM, Marc Girod <marc.girod@gmail.com> wrote: Show quoted text
> Indeed. I try to download on both platforms.
I takes an eternity, sorry for that. Especially on the w2k pc, since I need to build there through our VPN... On Vista, I get the same errors I had first with w2k, and which do not relate to windows.h: chmod fails, but silently, so that it is the following open call which fails: Cannot open tk.t:Permission denied at mkVFunc line 276. This will happen for ~30 files in the same function. Does this relates to my having CYGWIN installed? There is something about chmod behaviour being different if cygwin is found, in perlport. I unset CYGWIN for now, and possibly chmod all the files by hand, as I did on w2k... Thanks, Marc
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 17:00:12 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
On Sat, Sep 20, 2008 at 3:27 PM, Marc Girod <marc.girod@gmail.com> wrote: Show quoted text
> I unset CYGWIN for now, and possibly chmod all the files by hand, > as I did on w2k...
Successfully installed on Vista, Express VC 2008, SDK 2008. On w2k Express VC 2005, SDK 2005, perl Makefile.PL is still pending, but perl/Make::Maker reported that it didn't find the libraries (e.g. kernel32.lib). I guess make will fail, probably on the includes. I set inc and lib, but I'll try next to use CCCDLFLAGS... Any other suggestion? Thanks, Marc
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 19:26:53 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Hi Slaven, On Sat, Sep 20, 2008 at 5:00 PM, Marc Girod <marc.girod@gmail.com> wrote: Show quoted text
> I set inc and lib, but I'll try next to use CCCDLFLAGS...
I did set it, but in the makefiles directly... as well as -libpath, and -i for the rc lines. But now, I get into the following warnings (more earlier...)/error: ... tkGlue.c(5261) : warning C4002: too many actual parameters for macro 'pregcomp' tkGlue.c(5261) : warning C4047: 'function' : 'const U32' differs in levels of indirection from 'char *' tkGlue.c(5261) : warning C4024: 'Perl_pregcomp' : different types for formal and actual parameter 3 tkGlue.c(5399) : error C2039: 'startp' : is not a member of 'regexp' c:\perl\lib\core\regexp.h(69) : see declaration of 'regexp' tkGlue.c(5399) : error C2039: 'endp' : is not a member of 'regexp' c:\perl\lib\core\regexp.h(69) : see declaration of 'regexp' tkGlue.c(5401) : error C2039: 'startp' : is not a member of 'regexp' c:\perl\lib\core\regexp.h(69) : see declaration of 'regexp' tkGlue.c(5402) : error C2039: 'endp' : is not a member of 'regexp' c:\perl\lib\core\regexp.h(69) : see declaration of 'regexp' NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\cl.EXE"' : return code '0x2' Any insight on how to pass through it? Thanks, Marc
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 19:30:06 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Sorry, one obvious missing bit... On Sat, Sep 20, 2008 at 7:26 PM, Marc Girod <marc.girod@gmail.com> wrote: Show quoted text
> c:\perl\lib\core\regexp.h(69) : see declaration of 'regexp'
... Show quoted text
> Any insight on how to pass through it?
typedef struct regexp { /* what engine created this regexp? */ const struct regexp_engine* engine; struct regexp* mother_re; /* what re is this a lightweight copy of? */ /* Information about the match that the perl core uses to manage things */ U32 extflags; /* Flags used both externally and internally */ I32 minlen; /* mininum possible length of string to match */ I32 minlenret; /* mininum possible length of $& */ U32 gofs; /* chars left of pos that we search from */ struct reg_substr_data *substrs; /* substring data about strings that must appear in the final match, used for optimisations */ U32 nparens; /* number of capture buffers */ /* private engine specific data */ U32 intflags; /* Engine Specific Internal flags */ void *pprivate; /* Data private to the regex engine which created this object. */ /* Data about the last/current match. These are modified during matching*/ U32 lastparen; /* last open paren matched */ U32 lastcloseparen; /* last close paren matched */ regexp_paren_pair *swap; /* Swap copy of *offs */ regexp_paren_pair *offs; /* Array of offsets for (@-) and (@+) */ char *subbeg; /* saved or original string so \digit works forever. */ SV_SAVED_COPY /* If non-NULL, SV which is COW from original */ I32 sublen; /* Length of string pointed by subbeg */ /* Information about the match that isn't often used */ I32 prelen; /* length of precomp */ const char *precomp; /* pre-compilation regular expression */ /* wrapped can't be const char*, as it is returned by sv_2pv_flags */ char *wrapped; /* wrapped version of the pattern */ I32 wraplen; /* length of wrapped */ I32 seen_evals; /* number of eval groups in the pattern - for security checks */ HV *paren_names; /* Optional hash of paren names */ /* Refcount of this regexp */ I32 refcnt; /* Refcount of this regexp */ } regexp;
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 19:35:51 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
On Sat, Sep 20, 2008 at 7:30 PM, Marc Girod <marc.girod@gmail.com> wrote: Show quoted text
> Sorry, one obvious missing bit...
In the same file (regexp.h), I find this: typedef struct regexp_paren_pair { I32 start; I32 end; } regexp_paren_pair; This is perl, v5.10.0 built for MSWin32-x86-multi-thread (with 3 registered patches, see perl -V for more detail) This is almost the same version I have on my Vista. 2 more patches there. Marc
On Sat Sep 20 14:36:01 2008, mgirod wrote: Show quoted text
> On Sat, Sep 20, 2008 at 7:30 PM, Marc Girod <marc.girod@gmail.com> wrote: >
> > Sorry, one obvious missing bit...
> > In the same file (regexp.h), I find this: > > typedef struct regexp_paren_pair { > I32 start; > I32 end; > } regexp_paren_pair; > > > This is perl, v5.10.0 built for MSWin32-x86-multi-thread > (with 3 registered patches, see perl -V for more detail) > > This is almost the same version I have on my Vista. > 2 more patches there.
Can you retry from a freshly extracted Tk directory (that is, do not try make clean or make distclean, as both are somewhat unreliable in the Tk distribution, but with a really fresh Tk)? I suspect that in the configuration phase the regexp model check failed (probably due to the missing windows.h etc.) and that the old 5.8.8 regexp model was used afterwards. Regards, Slaven
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sat, 20 Sep 2008 23:53:03 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
On Sat, Sep 20, 2008 at 8:08 PM, Slaven_Rezic via RT <bug-Tk@rt.cpan.org> wrote: Show quoted text
> Can you retry from a freshly extracted Tk directory (that is, do not try > make clean or make distclean, as both are somewhat unreliable in the Tk > distribution, but with a really fresh Tk)? I suspect that in the > configuration phase the regexp model check failed (probably due to the > missing windows.h etc.) and that the old 5.8.8 regexp model was used > afterwards.
Sure, I can. But unless I figure how to tell Make::Makefile where to look for windows.h, it will produce the same results: as I told, I only fixed the makefiles afterwards, i.e. too late... Well, I have the working example of Vista. It is probably easier to debug Makefile.PL there, to see what should happen... Thanks, Marc
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Sun, 21 Sep 2008 14:03:50 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Hi Slaven, On Sat, Sep 20, 2008 at 11:53 PM, Marc Girod <marc.girod@gmail.com> wrote: Show quoted text
> Sure, I can.
Well, I failed so far. I used : perl Makefile.PL verbose to look at the value of some variables, and I could indeed influence them with the environment and on the command line: C:\work\Tk-804.028>echo %lib% C:\PROGRA~1\MIC977~1\Lib;C:\Progra~1\MICROS~4\VC\lib This helpped "perl Makefile.PL" finding the libraries. But whatever I tried on the command line, INC, CCFLAGS, CCCDLFLAGS, nothing affected the Makefiles produced... So, for now, I am still stuck with the same error, after fixing the makefiles by hand (4 variables, plus the rc command lines). Marc
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: 22 Sep 2008 22:18:48 +0200
To: bug-Tk [...] rt.cpan.org
From: Slaven Rezic <slaven [...] rezic.de>
"Marc Girod via RT" <bug-Tk@rt.cpan.org> writes: Show quoted text
> Queue: Tk > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=39400 > > > Hi Slaven, > > On Sat, Sep 20, 2008 at 11:53 PM, Marc Girod <marc.girod@gmail.com> wrote: >
> > Sure, I can.
> > Well, I failed so far. > I used : perl Makefile.PL verbose > to look at the value of some variables, > and I could indeed influence them with the environment and on the command line: > > C:\work\Tk-804.028>echo %lib% > C:\PROGRA~1\MIC977~1\Lib;C:\Progra~1\MICROS~4\VC\lib > > This helpped "perl Makefile.PL" finding the libraries. > But whatever I tried on the command line, INC, CCFLAGS, CCCDLFLAGS, > nothing affected the Makefiles produced... > > So, for now, I am still stuck with the same error, > after fixing the makefiles by hand > (4 variables, plus the rc command lines). >
It seems that (unlike in other Makemaker-based distributions) most command line options are lost somewhere in the recursive Makefile-building process. Maybe in your situation it's best to manipulate perl's Config.pm directly and insert the correct values for ccflags, ldflags etc. The advantage is that other perl distributions with XS parts will benefit from these values. The disadvantage is that you're changing a core part of your perl distribution... on my system, all the configuration values are stored in the file Config_heavy.pl next to Config.pm Regards, Slaven -- Slaven Rezic - slaven <at> rezic <dot> de tktimex - time recording tool http://sourceforge.net/projects/ptktools/
Subject: Re: [rt.cpan.org #39400] Compile error at installation on ActivePerl 5.10
Date: Mon, 22 Sep 2008 21:42:21 +0100
To: bug-Tk [...] rt.cpan.org
From: "Marc Girod" <marc.girod [...] gmail.com>
Thanks, On Mon, Sep 22, 2008 at 9:23 PM, slaven@rezic.de via RT <bug-Tk@rt.cpan.org> wrote: Show quoted text
> Maybe in your situation it's best to manipulate perl's Config.pm > directly and insert the correct values for ccflags, ldflags etc. > The advantage is that other perl distributions with XS parts will > benefit from these values. The disadvantage is that you're changing a > core part of your perl distribution... on my system, all the > configuration values are stored in the file Config_heavy.pl next to > Config.pm
I'll have to come back to this later. I got stuck by the fact Config was used from the BEGIN clause, and the result read-only because of the tie. I think I'll try to play with a dummy script of mine overcoming these restrictions. But I kind of need to do this at week-ends, and the next 3 ones will not be free... Thanks again, Marc