From: Dilbert on
On 16 mai, 12:36, Dilbert <dilbert1...(a)gmail.com> wrote:
> 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'

> On 16 mai, 11:00, sisyphus <sisyphus...(a)gmail.com> wrote:
> > 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.

I installed Strawberry Perl 5.12, 64 bits (
http://strawberry-perl.googlecode.com/files/strawberry-perl-5.12.0.1.msi
) on my Windows Vista and it worked:

================================================
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:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils
\xsubpp -typemap C:\strawberry\perl\lib\ExtUtils\typemap CSV_XS.xs >
CSV_XS.xsc
&& C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "mv" --
CSV_XS.xsc CSV_XS.c
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -
DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-
bitfie
lds -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"0.73\" -
DXS_VERSION=\"0.73\" "-IC:\strawberry\perl\lib\CORE" CSV_XS.c
Running Mkbootstrap for Text::CSV_XS ()
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644
CSV_XS.bs
C:\strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"Text::CSV_XS\", 'DLBASE' => 'CSV_XS',
'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' =>
[]);"
dlltool --def CSV_XS.def --output-exp dll.exp
g++ -o blib\arch\auto\Text\CSV_XS\CSV_XS.dll -Wl,--base-file -
Wl,dll.base -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c
\lib" CSV_XS
..o -Wl,--image-base,0x1b000000 C:\strawberry\perl\lib\CORE
\libperl512.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -
lcomdlg32 -ladvapi32
-lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -
lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp
dlltool --def CSV_XS.def --base-file dll.base --output-exp dll.exp
g++ -o blib\arch\auto\Text\CSV_XS\CSV_XS.dll -mdll -s -L"C:\strawberry
\perl\lib\CORE" -L"C:\strawberry\c\lib" CSV_XS.o -Wl,--image-base,
0x1b00000
0 C:\strawberry\perl\lib\CORE\libperl512.a -lmoldname -lkernel32 -
luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -
loleaut32
-lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
-lcomctl32 dll.exp
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 755
blib\arch\auto\Text\CSV_XS\CSV_XS.dll
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "cp" --
CSV_XS.bs blib\arch\auto\Text\CSV_XS\CSV_XS.bs
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644
blib\arch\auto\Text\CSV_XS\CSV_XS.bs
C:\strawberry\perl\bin\perl.exe "-Iblib\arch" "-Iblib\lib" CSV_XS.PL
CSV_XS

C:\Users\CK\Documents\PerlModules\Text-CSV_XS\Text-CSV_XS-0.73>dmake
test
C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00_pod.t ........ skipped: Test::Pod 1.00 required for testing POD
[ ... ]
t/81_subclass.t ... ok
All tests successful.
Files=22, Tests=12055, 5 wallclock secs ( 1.51 usr + 0.17 sys =
1.69 CPU)
Result: PASS
================================================

Basically, problem solved, however I still insist in getting MinGW
running with Activestate Perl, so I did the following:

I removed "C:\strawberry\perl\site\bin;C:\strawberry\perl\bin" from
the path (and carefully left "C:\strawberry\c\bin" in there, so to
have the MinGW compiler still available), then I added "C:\Perl64\site
\bin;C:\Perl64\bin" to the path to re-instate Activestate Perl

So basically I replaced Strawberry Perl by ActiveState Perl (but left
the MinGW64 part in the path).

I also made sure that the two patches (to lib/ExtUtils/MM_Win32.pm and
to lib/ActivePerl/Config.pm as provided by sisyphus) were re-instated.

Fortunately, when I now run "dmake", I get past the error ("gcc.exe:
CreateProcess: No such file or directory")...

....but there is now another error ("C:\Perl64\bin\perl512.dll: file
not recognized: File format not recognized")

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:/STRAWB~1/c/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -
DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -
DUSE_SITECUSTOMIZE -DPERL_IMPLI
CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -
DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -s -O2 -
DVERSION=\"0.7
3\" -DXS_VERSION=\"0.73\" "-IC:\Perl64\lib\CORE" CSV_XS.c
Running Mkbootstrap for Text::CSV_XS ()
C:\Perl64\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 CSV_XS.bs
C:\Perl64\bin\perl.exe -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"Text::CSV_XS\", 'DLBASE' => 'CSV_XS',
'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' =>
[]);"
Set up gcc environment - 4.4.3
dlltool --def CSV_XS.def --output-exp dll.exp

C:\STRAWB~1\c\bin\g++.exe -o blib\arch\auto\Text\CSV_XS\CSV_XS.dll -
Wl,--base-file -Wl,dll.base -s -mdll -L"C:\Perl64\lib\CORE" CSV_XS.o -
Wl,--image-base,0x1b000000

C:\Perl64\bin\perl512.dll -lkernel32 -luser32 -lgdi32 -lwinspool -
lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -
lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -
lmsvcrt dll.exp

C:\Perl64\bin\perl512.dll: file not recognized: File format not
recognized
collect2: ld returned 1 exit status
dmake: Error code 129, while making 'blib\arch\auto\Text\CSV_XS
\CSV_XS.dll'
From: Ben Morrow on

Quoth Dilbert <dilbert1999(a)gmail.com>:
>
> 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.
>
<snip>
>
> 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 -
^^^^^^^^^^^^^^^^^^^^^^^^^^
Is this a 'spaces in the path' or 'path too long' problem? Can you
install the compiler somewhere like c:\mingw64 and try again?

Ben

From: sln on
On Sun, 16 May 2010 21:36:07 +0100, Ben Morrow <ben(a)morrow.me.uk> wrote:

>
>Quoth Dilbert <dilbert1999(a)gmail.com>:
>>
>> 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.
>>
><snip>
>>
>> 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 -
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>Is this a 'spaces in the path' or 'path too long' problem? Can you
>install the compiler somewhere like c:\mingw64 and try again?
>

Has anyone actually benchmarked 64-bit over 32 in processing Perl
mechanics?

What are the performance delta's on each function?

-sln
From: sln on
On Sun, 16 May 2010 18:43:48 -0700, sln(a)netherlands.com wrote:

>On Sun, 16 May 2010 21:36:07 +0100, Ben Morrow <ben(a)morrow.me.uk> wrote:
>
>>
>>Quoth Dilbert <dilbert1999(a)gmail.com>:
>>>
>>> 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.
>>>
>><snip>
>>>
>>> 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 -
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>>Is this a 'spaces in the path' or 'path too long' problem? Can you
>>install the compiler somewhere like c:\mingw64 and try again?
>>
>
>Has anyone actually benchmarked 64-bit over 32 in processing Perl
>mechanics?
>
>What are the performance delta's on each function?
>

Back in the day, I guess the ibm370 was 128 bit.
Can Perl be written for risc processors? But Perl gets cornerred
in the OS implementation details. That will eventually be the death
of it. But thats not Perl fault, it trys to please too many, too
much.

-sln
From: Peter J. Holzer on
On 2010-05-17 01:47, sln(a)netherlands.com <sln(a)netherlands.com> wrote:
> Back in the day, I guess the ibm370 was 128 bit.

32 bit. Current versions of this architecture (now called z series,
unless they've changed the name again) are 64 bit.


> Can Perl be written for risc processors?

What do you mean by "Can Perl be written"? Neither Perl code nor the
perl interpreter need to be specially "written" for RISC processors. The
perl interpreter is written in reasonably portable C and compiles fine
on RISC processors (which aren't that similar, btw: A SPARC processor is
quite different from an Alpha).

> But Perl gets cornerred in the OS implementation details. That will
> eventually be the death of it. But thats not Perl fault, it trys to
> please too many, too much.

-v?

hp