Prev: FAQ 8.21 Where do I get the include files to do ioctl() or syscall()?
Next: perl format statement, how do I begin a line with a hash mark?
From: Ben Morrow on 15 May 2010 10:53 Quoth Dilbert <dilbert1999(a)gmail.com>: > On 15 mai, 13:37, Ben Morrow <b...(a)morrow.me.uk> wrote: > > Quoth Dilbert <dilbert1...(a)gmail.com>: > > > I have tried the command vcvarsall with "amd64", "x64", "ia64", > > > "x86_amd64" and with "x86_ia64", but no success: > > > > > ++ C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>vcvarsall > > > amd64 > > > ++ The specified configuration type is missing. �The tools for the > > > ++ configuration might not be installed. > > > Well, not surprising at all, because the corresponding sub directories > > > ("bin\amd64", "bin\ia64", "bin\x86_amd64" and "bin\x86_ia64") simply > > > do not exist: > > > > It looks like you've either downloaded the wrong package, > > I have downloaded it from > http://msdn.microsoft.com/fr-fr/express/aa975050.aspx > > is this the correct package ? > is this the latest package? Unless you have a good reason not to, I'd always download the English versions. I've no idea if it is the case here, but in the past some MS products have had language-specific versions which were missing features. The English version of VC9 can be downloaded from http://www.microsoft.com/express/Downloads/ . This isn't the latest version, but that isn't important: what matters is that it matches the version used to build your Perl, especially with recent MS compilers which have a nasty habit of introducing incompatible versions of libc all the time. I don't know which compiler AS use for their 64bit builds: I thought it was VC7, but I don't have a 64bit Win32 machine on hand to check. The free download of VC7 was called 'Visual C++ 2003 Express Edition', and may or may not still be available; search microsoft.com. FWIW, all of this mess is why I gave up on ActivePerl a while ago. I'd recommend getting http://strawberryperl.com/download/strawberry-perl-5.12.0.1-64bit-v2.msi which includes the correct compiler as part of the install. Ben
From: Dilbert on 15 May 2010 13:32 On 15 mai, 16:53, Ben Morrow <b...(a)morrow.me.uk> wrote: > Quoth Dilbert <dilbert1...(a)gmail.com>: > > On 15 mai, 13:37, Ben Morrow <b...(a)morrow.me.uk> wrote: > > > Quoth Dilbert <dilbert1...(a)gmail.com>: > > > > I have tried the command vcvarsall with "amd64", "x64", "ia64", > > > > "x86_amd64" and with "x86_ia64", but no success: > > > > > ++ C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>vcvarsall > > > > amd64 > > > > ++ The specified configuration type is missing. The tools for the > > > > ++ configuration might not be installed. > > > > Well, not surprising at all, because the corresponding sub directories > > > > ("bin\amd64", "bin\ia64", "bin\x86_amd64" and "bin\x86_ia64") simply > > > > do not exist: > > > > It looks like you've either downloaded the wrong package, > > > I have downloaded it from > >http://msdn.microsoft.com/fr-fr/express/aa975050.aspx > > > is this the correct package ? > > is this the latest package? > > Unless you have a good reason not to, I'd always download the English > versions. I've no idea if it is the case here, but in the past some MS > products have had language-specific versions which were missing > features. > > The English version of VC9 can be downloaded from > http://www.microsoft.com/express/Downloads/. I uninstalled the French version (took me an hour or so) Then I downloaded and installed the English version from http://www.microsoft.com/express/Downloads/ (the install went straight ahead, there was no possibility to choose between 32 bits or 64 bits) To my disappointment, the English version is also 32 bits only: C:\>cl /? Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. Also, the same situation with C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>vcvarsall amd64 ==>The specified configuration type is missing. The tools for the configuration might not be installed. ==> the corresponding sub directories ("bin\amd64", "bin\ia64", "bin \x86_amd64" and "bin\x86_ia64") simply do not exist > This isn't the latest > version, but that isn't important: what matters is that it matches the > version used to build your Perl, especially with recent MS compilers > which have a nasty habit of introducing incompatible versions of libc > all the time. I don't know which compiler AS use for their 64bit builds: > I thought it was VC7, but I don't have a 64bit Win32 machine on hand to > check. The free download of VC7 was called 'Visual C++ 2003 Express > Edition', and may or may not still be available; search microsoft.com. > > FWIW, all of this mess is why I gave up on ActivePerl a while ago. I'd > recommend getting > http://strawberryperl.com/download/strawberry-perl-5.12.0.1-64bit-v2.msi > which includes the correct compiler as part of the install. I agree. The recent experience with getting a C-compiler for Perl is what tipped my scale today from Activestate to Strawberry. Thanks for your help.
From: Dilbert on 15 May 2010 16:18 On 15 mai, 09:56, sisyphus <sisyphus...(a)gmail.com> wrote: > On May 15, 3:41 am, Dilbert <dilbert1...(a)gmail.com> wrote: > > Whatever the outcome of my battle with MS VC++ will be, I will be > > relieved when "ppm install MinGW" works on 64 bit Windows. > > According to Jan Dubois, that probably won't be for a couple of months > (at least). ActivePerl 5.12.0 needs some patching before it will work > with the MinGW64 compilers. I have patches that enable this (included > below)- they're a bit of a hack, and quite possibly *not* the way that > ActiveState will deal with the issues. But they've been working fine > for me, and you're welcome to give them a try. (I'd be interested to > hear of any problems you strike if you do use them - feel free to > email me at my CPAN address.) [...Can't find your CPAN address...] > For the MinGW64 compiler, you go tohttp://sourceforge.net/projects/mingw-w64/files > , as you've already discovered. Under "Toolchains targetting Win64" > grab either one of the "personal builds" or one of the "automated > builds" that has been built for win64 mingw (not for linux or cygwin) > - and make sure it's a 64-bit build (as they're also providing a 32- > bit compiler). The "automated builds" are a cross-compiler with the > names of the executables prefixed with "x86_64-w64-mingw32-" (ie > "x86_64-w64-mingw32-gcc.exe", etc.), so it might be simpler if you > choose the "sezero_20100428" build ("mingw-w64-bin_x86_64- > mingw_20100428_sezero.zip"). My patches accommodate both types of > build. > > Then just unzip and add the bin folder to the path. > > Patch to lib/ExtUtils/MM_Win32.pm (ActivePerl build 1200): > [...] > Patch to lib/ActivePerl/Config.pm (ActivePerl build 1200): > [...] I have downloaded and unzipped "mingw-w64-bin_x86_64- mingw_20100515_sezero.zip" (that's "...20100515..." and not "... 20100428...") from http://sourceforge.net/projects/mingw-w64/files. Then I added the "mingw64\bin" directory to the path. Now, C:\>perl -V:make reports C:\Users\CK\Documents\PerlModules\Text-CSV_XS\Text-CSV_XS-0.73>perl - V:make Set up gcc environment - 4.4.5 20100513 (prerelease) [svn/rev.159365 - mingw-w64/oz] make='dmake'; But there is no dmake.exe anywhere on my Windows Vista 64 bits. ==> I quickly google for "dmake" and I find ==> http://www.oooforum.org/forum/viewtopic.phtml?t=241 ==> if you are using windows use this use this link ==> http://www.cpan.org/authors/id/GSAR/dmake-4.1pl1-win32.zip So I download and unzip "dmake-4.1pl1-win32.zip" (it's a 32 bit app, but that doesn't matter) and add the directory "dmake-4.1pl1- win32" (that's where dmake.exe lives) to the path (also, please be aware that "dmake.exe" relies on a file "startup\startup.mk", so you make sure that this exists) I also applied the two patches: - to lib/ExtUtils/MM_Win32.pm - to lib/ActivePerl/Config.pm Now I want to download and make Text::CSV_XS, but unfortunately there is an error "gcc.exe: CreateProcess: No such file or directory" C:\Users\CK\Documents\PerlModules\Text-CSV_XS\Text-CSV_XS-0.73>dmake cp CSV_XS.pm blib\lib\Text\CSV_XS.pm C:\Perl64\bin\perl.exe C:\Perl64\lib\ExtUtils\xsubpp -typemap C: \Perl64\lib\ExtUtils\typemap CSV_XS.xs > CSV_XS.xsc && C:\Perl64\bin\ perl.exe -MExtUtils::Command -e "mv" -- CSV_XS.xsc CSV_XS.c C:/Users/CK/DOCUME~1/PROGRA~2/MINGW6~1/gcc.exe -c -DNDEBUG - DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIV E -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS - DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasin g -mms-bitfields -O2 -DVERSION=\"0.73\" -DXS_VERSION=\"0.73\" "-IC:\Perl64\lib\CORE" CSV_XS.c gcc.exe: CreateProcess: No such file or directory dmake.exe: Error code 1, while making 'CSV_XS.o'
From: sisyphus on 16 May 2010 05:00 On May 16, 6:18 am, Dilbert <dilbert1...(a)gmail.com> wrote: > On 15 mai, 09:56, sisyphus <sisyphus...(a)gmail.com> wrote: > C:/Users/CK/DOCUME~1/PROGRA~2/MINGW6~1/gcc.exe -c -DNDEBUG - > DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIV > E -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS - > DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasin > g -mms-bitfields -O2 -DVERSION=\"0.73\" -DXS_VERSION=\"0.73\" > "-IC:\Perl64\lib\CORE" CSV_XS.c > gcc.exe: CreateProcess: No such file or directory > dmake.exe: Error code 1, while making 'CSV_XS.o' Odd - I've just downloaded that exact same compiler, and it works fine for me with ActivePerl. I've just used it to build Text::CSV_XS-0.73. I don't think I've overlooked anything in my instructions (apart from the need to have dmake - but you're ahead of me on that, anyway :-) The solitary "-O2" in the failing command is a bit of a puzzle - the patch should have changed that to an "-s -O2", but I don't think that's what's causing the failure. Anyway, if you're happy with Strawberry Perl (and there's no reason you oughtn't be) then that's the simplest route to travel. It gives you a compiler built by the same person (and same toolchain) as the 20100515_sezero zip you downloaded - but Strawberry has gcc-4.4.3, not the gcc-4.4.5 that's currently on offer. Cheers, Rob
From: Dilbert on 16 May 2010 06:36
On 16 mai, 11:00, sisyphus <sisyphus...(a)gmail.com> wrote: > On May 16, 6:18 am, Dilbert <dilbert1...(a)gmail.com> wrote: > > > On 15 mai, 09:56, sisyphus <sisyphus...(a)gmail.com> wrote: > > C:/Users/CK/DOCUME~1/PROGRA~2/MINGW6~1/gcc.exe -c -DNDEBUG - > > DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIV > > E -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS - > > DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasin > > g -mms-bitfields -O2 -DVERSION=\"0.73\" -DXS_VERSION=\"0.73\" > > "-IC:\Perl64\lib\CORE" CSV_XS.c > > gcc.exe: CreateProcess: No such file or directory > > dmake.exe: Error code 1, while making 'CSV_XS.o' > > Odd - I've just downloaded that exact same compiler, and it works fine > for me with ActivePerl. I've just used it to build Text::CSV_XS-0.73. > I don't think I've overlooked anything in my instructions (apart from > the need to have dmake - but you're ahead of me on that, anyway :-) > > The solitary "-O2" in the failing command is a bit of a puzzle - the > patch should have changed that to an "-s -O2" That's my fault, because I accidently patched the wrong file. That's fixed now: C:\Users\CK\Documents\PerlModules\Text-CSV_XS\Text-CSV_XS-0.73>dmake Skip blib\lib\Text\CSV_XS.pm (unchanged) C:/Users/CK/DOCUME~1/PROGRA~2/MINGW6~1/gcc.exe -c -DNDEBUG - DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIV E -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS - DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasin g -mms-bitfields -s -O2 -DVERSION=\"0.73\" -DXS_VERSION= \"0.73\" "-IC:\Perl64\lib\CORE" CSV_XS.c gcc.exe: CreateProcess: No such file or directory dmake.exe: Error code 1, while making 'CSV_XS.o' > but I don't think > that's what's causing the failure. You're right, that's not causing the failure. > Anyway, if you're happy with Strawberry Perl (and there's no reason > you oughtn't be) then that's the simplest route to travel. It gives > you a compiler built by the same person (and same toolchain) as the > 20100515_sezero zip you downloaded - but Strawberry has gcc-4.4.3, not > the gcc-4.4.5 that's currently on offer. I will install Strawberry Perl 5.12, 64 bits on my Windows Vista and see if that works for me. |