Re: gcc for building Perl on WinXP
Hi Rob, Just getting to it now. (I know Chris has already established that the pthreads suport builds fine using his small patch to pthread.h. I'm building PDL-2.4.9_009, also with pthreads support as provided by 2), above - and also with Chris's amendment to pthread.h.) First thing I noticed with this Strawberry distro is that, as with most (all ?) Strawberry distros, there's no gfortran compiler. This means that the Slatec and Minuit parts of PDL won't get built. That's old news, and not all that critical - but I thought I should mention it anyway ;-) I know about that :) Apart from: http://strawberryperl.com/package/kmx/p5.14.2.1-RC/strawberry-perl-5.14.2.1-portable-32bit-beta-1.zip http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_pthreads-2.9.0-bin_2001.zip We have also prepared other PDL handy stuff - like: http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-gfortran4.4.7-pre_2001.zip http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_gsl-1.15-bin_2004.zip http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_fftw-2.1.5-bin_20110506.zip It is only about decision how fat should strawberry perl be. Anyway you can unzip them into one directory and have a go. Apart from that, all looks good Unrelated to PDL, but the latest mpfr library (version 3.1.0) should build with TLS (Thread Local Storage) by default and straight out of the box. The version of the mpfr library that ships with Strawberry (version 3.0.1) was not built with TLS - which probably means that you didn't ask for it (--enable-TLS) when building the library. Mind you, I haven't checked that --enable-TLS will work for mpfr-3.0.1 on Windows, but 3.1.0 certainly provided TLS for me ... and without my asking.) No big deal - just thought I'd mention. On threaded perls, that TLS capability can be handy for Math::MPFR. Thanks for this notice, I will try to use --enable-TLS by the next mpfr-3.1+ rebuild (according ./configure --help it seems not to be available in 3.0.1). I noticed, too, that the mpc library that ships with Strawberry hasn't been built to accommodate the complex.h types (double _Complex and long double _Complex). From a perl point of view, this hardly matters at all because there's no way to natively pass these types to or from perl. I did slap together a Math::Complex_C module that wraps the complex.h types and functions, and thereby provides a gateway to passing these types to Math::MPC, but I doubt that anyone makes use of this capability anyway. Besides, Math::Complex_C can sometimes fail a test or two, generally because of compiler bugs (mainly in the form of incorrectly implemented functions). To enable this should I pass some extra option to mpc configure/make? -- kmx
Re: gcc for building Perl on WinXP
- Original Message - From: kmx Apart from: http://strawberryperl.com/package/kmx/p5.14.2.1-RC/strawberry-perl-5.14.2.1-portable-32bit-beta-1.zip http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_pthreads-2.9.0-bin_2001.zip We have also prepared other PDL handy stuff - like: http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-gfortran4.4.7-pre_2001.zip http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_gsl-1.15-bin_2004.zip http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_fftw-2.1.5-bin_20110506.zip It is only about decision how fat should strawberry perl be. Yes - and making those additional drop-in zips available is probably a fair compromise. I don't think I've ever seen anyone other than me raise this matter, so demand for this support can't be all that high :-) I'll grab and install those additional bits and try them out next time I build PDL with Strawberry. (I'm sure they're fine - there's absolutely no reason to expect otherwise.) On threaded perls, that TLS capability can be handy for Math::MPFR. Thanks for this notice, I will try to use --enable-TLS by the next mpfr-3.1+ rebuild (according ./configure --help it seems not to be available in 3.0.1). With 3.1+ TLS should be built in without any need for being requested. If it doesn't happen, it means that the compiler has been found to *not* support TLS - but both my mingw64.sf 4.7.0 cross-compiler and mingw.org 4.5.2 compiler do provide the necessary bits. Mingw.org's 3.4.5 compiler apparently did not. So, I'm guessing (and it is only a guess) that the Strawberry compilers will provide TLS as well. If it gives you trouble you can, of course, still --disable-TLS. I *think* the 3.1.0 release notes implied that the --enable-TLS option was valid for the 3.0* versions of the mpfr library, but I never tried it out and I could be wrong. I wasn't even expecting 3.1.0 to build with TLS support, and was pleasantly surprised when it did :-) I noticed, too, that the mpc library that ships with Strawberry hasn't been built to accommodate the complex.h types (double _Complex and long double _Complex). To enable this should I pass some extra option to mpc configure/make? No - the problem is a bug in mpc.h. The expectation is that if a there's a suitable complex.h available, then the symbol _COMPLEX_H will be defined, but this is wrong since many complex.h versions (including mingw) don't define that symbol. I hacked my compiler's complex.h to define that symbol, and that worked fine - but many would consider that to be the *wrong* hack. Here's the offending piece of code in mpc.h: /* Check if complex.h is included */ #if defined (_COMPLEX_H) # define _MPC_H_HAVE_COMPLEX 1 #endif I guess you might prefer to change *it* instead of altering your compiler's complex.h. The fix on the svn repo has mpc.h check that _Complex_I is defined, so changing the first line of the above code to #if defined(_Complex_I) should work for you. In any case, there should be no such issue with the next release of mpc. Cheers, Rob
Re: gcc for building Perl on WinXP
Hi, My own efforts to support building Perl + wxWidgets have resulted in http://sourceforge.net/projects/perlmingw/files/ It is a build of 4.6.2 with pthreads and includes gfortran and libquadmath. It seems to build PDL from git without problems. The bundled Config_MinGWFP ( set PERL5OPT=-MConfig_MinGWFP ) allows use with ActivePerl. One thing I'm unqualified to test: fortran io was reported to be very poor in 4.6.1 but a fix is claimed for 4.6.2 release - so for users of gfortran it would be worth investigating io performance vs a gcc 4.5.x build. Note that apparently the io problems with 4.6.1 are so bad it should not take too much to detect. Building Perl on Win XP 32 bit is now OK. Libraries built with recent ( 18 months) sezero builds of mingw-w64 should be ABI compatible and not require recompilation. The compiler toolchain itself is a native build using MSYS. The full build system and a single 'build everything' script are available. I'll be producing a pre-built library pack containing my common dependencies ( zlib, openssl, libpq, libmysql, libgd ) shortly. Personally I'm not precious about 'ownership' of the 'project' or pretty much anything else other than that the compilers must; support Win XP and above, compile Perl, compile wxWidgets/wxPerl. So if anyone fancies sharing ownership and support .. :) Regards Mark On 07/11/2011 22:28, kmx wrote: Yes, dmake clean did the trick. Thanks. -- kmx On 7.11.2011 22:32, Chris Marshall wrote: I just realized what might have happened. You'll need to do a dmake clean and then a complete build from scratch to ensure that old copies of the various files are not being used (some of these are generated at the configure stage). On Mon, Nov 7, 2011 at 4:20 PM, Chris Marshalldevel.chm...@gmail.com wrote: Are you sure this is the latest PDL git from sf.net? The error here looks like something that has already been fixed as of CPAN developers release 2.4.9_008 according to the PDL Release_Notes. --Chris On Mon, Nov 7, 2011 at 4:07 PM, kmxk...@atlas.cz wrote: Chris, that sounds great, however my attempt ended up with: C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap Core.xs Core.xsc C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv -- Core.xsc Core.c Could not find a typemap for C type 'PDL_Long *' in Core.xs -- kmx On 7.11.2011 20:40, Chris Marshall wrote: I just pushed a new PDL git with a fix for the perl vs POSIX threads namespace/implementation collision. You should be able to build with the unedited pthread.h now --Chris On Sun, Nov 6, 2011 at 5:58 PM, chmdevel.chm...@gmail.com wrote: dmake test passed all except the known problem with t/pthreadBarf.t. Also, I think we can fix the breakage in pthread.h by doing the undef in our pdlmagic file that is including pthread.h. Cheers, Chris On 11/6/2011 5:40 PM, chm wrote: I got it to work with the following: Add after the POSIX Threads comment block in pthread.h: #ifdef PTHREAD_CREATE_JOINABLE #undef PTHREAD_CREATE_JOINABLE #endif in order to remedy the fact that perl has added a macro with the same value. If the pthread one is not already defined then the perl one is---but this breaks the w32 pthreads include file. Then set the parameters in perldl.conf to WITH_POSIX_THREADS = 1, POSIX_THREADS_INC = undef, # '-I/usr/pthread/include' POSIX_THREADS_LIBS = '-lpthread', # '-L/usr/pthread -lpthreadGC2' It is building away as I type. Will let you know how dmake test comes out --Chris On 11/6/2011 4:31 PM, chm wrote: Hi kmx- The detection for the pthread library is currently broken. To build PDL with pthreads you'll need to explicitly set the values of WITH_POSIX_THREADS, POSIX_THREADS_INC, and POSIX_THREADS_LIBS where the comment indicate what worked for my strawberry perl install was: WITH_POSIX_THREADS = undef, POSIX_THREADS_LIBS = '-LC:/chm/strawberry/pthreads/lib -lpthreadGC2', POSIX_THREADS_INC = '-IC:/chm/strawberry/pthreads/include', and the C:/chm/strawberry/pthreads contained the pthreads install location. I'm actually working on the detection code this evening so that if a pthread library is in the correct location it would be detected and used. I'll give your library a build try this evening if I can. Cheers, Chris On 11/6/2011 4:14 PM, kmx wrote: Chris and/or Rob, could you please try the following: 1/ take http://strawberryperl.com/package/kmx/p5.14.2.1-RC/strawberry-perl-5.14.2.1-portable-32bit-beta-1.zip 2/ take http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_pthreads-2.9.0-bin_2001.zip (unzip into the same dir as 1/) 3/ try to build PDL with pthreads support My quick test failed during PDL installation (but it was really a quick shot) Any feedback welcome -- kmx On 3.11.2011 14:13, Chris Marshall wrote: We've tested the PDL pthread support with POSIX Threads (pthreads) for
Re: gcc for building Perl on WinXP
Are you sure this is the latest PDL git from sf.net? The error here looks like something that has already been fixed as of CPAN developers release 2.4.9_008 according to the PDL Release_Notes. --Chris On Mon, Nov 7, 2011 at 4:07 PM, kmx k...@atlas.cz wrote: Chris, that sounds great, however my attempt ended up with: C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap Core.xs Core.xsc C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv -- Core.xsc Core.c Could not find a typemap for C type 'PDL_Long *' in Core.xs -- kmx On 7.11.2011 20:40, Chris Marshall wrote: I just pushed a new PDL git with a fix for the perl vs POSIX threads namespace/implementation collision. You should be able to build with the unedited pthread.h now --Chris On Sun, Nov 6, 2011 at 5:58 PM, chmdevel.chm...@gmail.com wrote: dmake test passed all except the known problem with t/pthreadBarf.t. Also, I think we can fix the breakage in pthread.h by doing the undef in our pdlmagic file that is including pthread.h. Cheers, Chris On 11/6/2011 5:40 PM, chm wrote: I got it to work with the following: Add after the POSIX Threads comment block in pthread.h: #ifdef PTHREAD_CREATE_JOINABLE #undef PTHREAD_CREATE_JOINABLE #endif in order to remedy the fact that perl has added a macro with the same value. If the pthread one is not already defined then the perl one is---but this breaks the w32 pthreads include file. Then set the parameters in perldl.conf to WITH_POSIX_THREADS = 1, POSIX_THREADS_INC = undef, # '-I/usr/pthread/include' POSIX_THREADS_LIBS = '-lpthread', # '-L/usr/pthread -lpthreadGC2' It is building away as I type. Will let you know how dmake test comes out --Chris On 11/6/2011 4:31 PM, chm wrote: Hi kmx- The detection for the pthread library is currently broken. To build PDL with pthreads you'll need to explicitly set the values of WITH_POSIX_THREADS, POSIX_THREADS_INC, and POSIX_THREADS_LIBS where the comment indicate what worked for my strawberry perl install was: WITH_POSIX_THREADS = undef, POSIX_THREADS_LIBS = '-LC:/chm/strawberry/pthreads/lib -lpthreadGC2', POSIX_THREADS_INC = '-IC:/chm/strawberry/pthreads/include', and the C:/chm/strawberry/pthreads contained the pthreads install location. I'm actually working on the detection code this evening so that if a pthread library is in the correct location it would be detected and used. I'll give your library a build try this evening if I can. Cheers, Chris On 11/6/2011 4:14 PM, kmx wrote: Chris and/or Rob, could you please try the following: 1/ take http://strawberryperl.com/package/kmx/p5.14.2.1-RC/strawberry-perl-5.14.2.1-portable-32bit-beta-1.zip 2/ take http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_pthreads-2.9.0-bin_2001.zip (unzip into the same dir as 1/) 3/ try to build PDL with pthreads support My quick test failed during PDL installation (but it was really a quick shot) Any feedback welcome -- kmx On 3.11.2011 14:13, Chris Marshall wrote: We've tested the PDL pthread support with POSIX Threads (pthreads) for Win32 at http://sourceware.org/pthreads-win32/ . It is nice because it allows PDL computations to make use of multicore processors for calculations. Always nice to see those factors of 2X, 4X, 6X, or more in speedup --Chris On Wed, Nov 2, 2011 at 9:30 PM, Sisyphussisyph...@optusnet.com.au wrote: - Original Message - From: kmx As for the future gcc-4.6.2 toolchain there is also an interesting question about including pthreads or winpthreads support as PDL is AFAIK somohow able to handle threads this way (not sure if this is valid for Win32) Yes, pthreads works with PDL on Win32. There's a crash in one of PDL's pthread test scripts that needs to be sorted out, but the basic functionality seems to be fine. Cheers, Rob - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1411 / Virus Database: 2092/4000 - Release Date: 11/06/11
Re: gcc for building Perl on WinXP
Yes, dmake clean did the trick. Thanks. -- kmx On 7.11.2011 22:32, Chris Marshall wrote: I just realized what might have happened. You'll need to do a dmake clean and then a complete build from scratch to ensure that old copies of the various files are not being used (some of these are generated at the configure stage). On Mon, Nov 7, 2011 at 4:20 PM, Chris Marshalldevel.chm...@gmail.com wrote: Are you sure this is the latest PDL git from sf.net? The error here looks like something that has already been fixed as of CPAN developers release 2.4.9_008 according to the PDL Release_Notes. --Chris On Mon, Nov 7, 2011 at 4:07 PM, kmxk...@atlas.cz wrote: Chris, that sounds great, however my attempt ended up with: C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap Core.xs Core.xsc C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv -- Core.xsc Core.c Could not find a typemap for C type 'PDL_Long *' in Core.xs -- kmx On 7.11.2011 20:40, Chris Marshall wrote: I just pushed a new PDL git with a fix for the perl vs POSIX threads namespace/implementation collision. You should be able to build with the unedited pthread.h now --Chris On Sun, Nov 6, 2011 at 5:58 PM, chmdevel.chm...@gmail.comwrote: dmake test passed all except the known problem with t/pthreadBarf.t. Also, I think we can fix the breakage in pthread.h by doing the undef in our pdlmagic file that is including pthread.h. Cheers, Chris On 11/6/2011 5:40 PM, chm wrote: I got it to work with the following: Add after the POSIX Threads comment block in pthread.h: #ifdef PTHREAD_CREATE_JOINABLE #undef PTHREAD_CREATE_JOINABLE #endif in order to remedy the fact that perl has added a macro with the same value. If the pthread one is not already defined then the perl one is---but this breaks the w32 pthreads include file. Then set the parameters in perldl.conf to WITH_POSIX_THREADS =1, POSIX_THREADS_INC =undef, # '-I/usr/pthread/include' POSIX_THREADS_LIBS ='-lpthread', # '-L/usr/pthread -lpthreadGC2' It is building away as I type. Will let you know how dmake test comes out --Chris On 11/6/2011 4:31 PM, chm wrote: Hi kmx- The detection for the pthread library is currently broken. To build PDL with pthreads you'll need to explicitly set the values of WITH_POSIX_THREADS, POSIX_THREADS_INC, and POSIX_THREADS_LIBS where the comment indicate what worked for my strawberry perl install was: WITH_POSIX_THREADS =undef, POSIX_THREADS_LIBS ='-LC:/chm/strawberry/pthreads/lib -lpthreadGC2', POSIX_THREADS_INC ='-IC:/chm/strawberry/pthreads/include', and the C:/chm/strawberry/pthreads contained the pthreads install location. I'm actually working on the detection code this evening so that if a pthread library is in the correct location it would be detected and used. I'll give your library a build try this evening if I can. Cheers, Chris On 11/6/2011 4:14 PM, kmx wrote: Chris and/or Rob, could you please try the following: 1/ take http://strawberryperl.com/package/kmx/p5.14.2.1-RC/strawberry-perl-5.14.2.1-portable-32bit-beta-1.zip 2/ take http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_pthreads-2.9.0-bin_2001.zip (unzip into the same dir as 1/) 3/ try to build PDL with pthreads support My quick test failed during PDL installation (but it was really a quick shot) Any feedback welcome -- kmx On 3.11.2011 14:13, Chris Marshall wrote: We've tested the PDL pthread support with POSIX Threads (pthreads) for Win32 at http://sourceware.org/pthreads-win32/ . It is nice because it allows PDL computations to make use of multicore processors for calculations. Always nice to see those factors of 2X, 4X, 6X, or more in speedup --Chris On Wed, Nov 2, 2011 at 9:30 PM, Sisyphussisyph...@optusnet.com.au wrote: - Original Message - From: kmx As for the future gcc-4.6.2 toolchain there is also an interesting question about including pthreads or winpthreads support as PDL is AFAIK somohow able to handle threads this way (not sure if this is valid for Win32) Yes, pthreads works with PDL on Win32. There's a crash in one of PDL's pthread test scripts that needs to be sorted out, but the basic functionality seems to be fine. Cheers, Rob - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1411 / Virus Database: 2092/4000 - Release Date: 11/06/11
Re: gcc for building Perl on WinXP
Chris and/or Rob, could you please try the following: 1/ take http://strawberryperl.com/package/kmx/p5.14.2.1-RC/strawberry-perl-5.14.2.1-portable-32bit-beta-1.zip 2/ take http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_pthreads-2.9.0-bin_2001.zip (unzip into the same dir as 1/) 3/ try to build PDL with pthreads support My quick test failed during PDL installation (but it was really a quick shot) Any feedback welcome -- kmx On 3.11.2011 14:13, Chris Marshall wrote: We've tested the PDL pthread support with POSIX Threads (pthreads) for Win32 at http://sourceware.org/pthreads-win32/ . It is nice because it allows PDL computations to make use of multicore processors for calculations. Always nice to see those factors of 2X, 4X, 6X, or more in speedup --Chris On Wed, Nov 2, 2011 at 9:30 PM, Sisyphussisyph...@optusnet.com.au wrote: - Original Message - From: kmx As for the future gcc-4.6.2 toolchain there is also an interesting question about including pthreads or winpthreads support as PDL is AFAIK somohow able to handle threads this way (not sure if this is valid for Win32) Yes, pthreads works with PDL on Win32. There's a crash in one of PDL's pthread test scripts that needs to be sorted out, but the basic functionality seems to be fine. Cheers, Rob
Re: gcc for building Perl on WinXP
Hi kmx- The detection for the pthread library is currently broken. To build PDL with pthreads you'll need to explicitly set the values of WITH_POSIX_THREADS, POSIX_THREADS_INC, and POSIX_THREADS_LIBS where the comment indicate what worked for my strawberry perl install was: WITH_POSIX_THREADS = undef, POSIX_THREADS_LIBS = '-LC:/chm/strawberry/pthreads/lib -lpthreadGC2', POSIX_THREADS_INC = '-IC:/chm/strawberry/pthreads/include', and the C:/chm/strawberry/pthreads contained the pthreads install location. I'm actually working on the detection code this evening so that if a pthread library is in the correct location it would be detected and used. I'll give your library a build try this evening if I can. Cheers, Chris On 11/6/2011 4:14 PM, kmx wrote: Chris and/or Rob, could you please try the following: 1/ take http://strawberryperl.com/package/kmx/p5.14.2.1-RC/strawberry-perl-5.14.2.1-portable-32bit-beta-1.zip 2/ take http://strawberryperl.com/package/kmx/32_libs/5.14-extras/32bit_pthreads-2.9.0-bin_2001.zip (unzip into the same dir as 1/) 3/ try to build PDL with pthreads support My quick test failed during PDL installation (but it was really a quick shot) Any feedback welcome -- kmx On 3.11.2011 14:13, Chris Marshall wrote: We've tested the PDL pthread support with POSIX Threads (pthreads) for Win32 at http://sourceware.org/pthreads-win32/ . It is nice because it allows PDL computations to make use of multicore processors for calculations. Always nice to see those factors of 2X, 4X, 6X, or more in speedup --Chris On Wed, Nov 2, 2011 at 9:30 PM, Sisyphussisyph...@optusnet.com.au wrote: - Original Message - From: kmx As for the future gcc-4.6.2 toolchain there is also an interesting question about including pthreads or winpthreads support as PDL is AFAIK somohow able to handle threads this way (not sure if this is valid for Win32) Yes, pthreads works with PDL on Win32. There's a crash in one of PDL's pthread test scripts that needs to be sorted out, but the basic functionality seems to be fine. Cheers, Rob - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1411 / Virus Database: 2092/4000 - Release Date: 11/06/11
Re: gcc for building Perl on WinXP
We've tested the PDL pthread support with POSIX Threads (pthreads) for Win32 at http://sourceware.org/pthreads-win32/ . It is nice because it allows PDL computations to make use of multicore processors for calculations. Always nice to see those factors of 2X, 4X, 6X, or more in speedup --Chris On Wed, Nov 2, 2011 at 9:30 PM, Sisyphus sisyph...@optusnet.com.au wrote: - Original Message - From: kmx As for the future gcc-4.6.2 toolchain there is also an interesting question about including pthreads or winpthreads support as PDL is AFAIK somohow able to handle threads this way (not sure if this is valid for Win32) Yes, pthreads works with PDL on Win32. There's a crash in one of PDL's pthread test scripts that needs to be sorted out, but the basic functionality seems to be fine. Cheers, Rob
Re: gcc for building Perl on WinXP
It would really simplify things for win32 PDL if an easy, 1-click addition for gfortran were available. We're spending a lot of development time working around the lack of a fortran compiler on win32 perls. Since gcc includes one, it is more of a packaging and distribution issue than one of existence. Cheers, Chris On Sun, Oct 30, 2011 at 3:52 PM, Karel Miko karel.m...@hotmail.com wrote: In preparing the next Strawberry release you've no doubt noticed that mingw-w64 32bit version cannot build a working Perl after gcc version 4.4.3 on Windows XP. Yes, in fact it was during the last week when we have found out (with help of BinGOs and Ranguard via IRC) that gcc-4.4.7 and 4.6.1 (not only with mingw-w64 runtime but also with mingw.org's runtime) produce perl binaries that crash on Windows XP. For strawberry perl 5.14.2.0 we have decided to use: - on 32 bit version gcc-4.4.3 (with slightly old mingw-w64 runtime) http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-20100123-kmx-v3.zip - on 64 bit version gcc-4.4.7(prereleae) (with mingw-w64 runtime 1.0.1) http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-gcc4.4.7(pre)_20111014.zip Commit 180422 to the 4.6 branch of gcc fixes the problem - I've cross compiled my own 32bit 4.6.2 release (the tagged 4.6.2 release includes this fix) which compiles a working Perl 5.14.2 on Windows XP. Many thanks , this is a valuable piece of information for me as I was in doubts where to start reporting/discussing the issue, now it is clear. For my own use, I need to move to 4.6.2 as 4.4.7 cannot compile wxWidgets 2.9.x branch. As a side benefit I also get an up to date v2 mingw-w64 crt. I'll be publishing source, patches and build instructions at http://perlmingw.sourceforge.net/ (plus, of course, the compiled releases). The patches are just the minimum necessary from sezero build and TDM GCC builds to get a working dist. Just a thought, but it might be nice if we had a sort of 'standard' gcc for Perl on Windows. Why not. As for my opinion concerning gcc toolchain included in strawberry perl: - we would strongly prefer to use mingw-w64 (not mingw.org) runtime for both 32/64bit - we have no special preference as for the gcc version (but versions like gcc-X.Y.0 are perhaps too in development for us) - we need gcc toolchain supporting gccroot/include and gccroot/lib directories in search paths (without explicit -I or -L options) - we would appreciate gcc toolchain with frotran (maybe a kind of addon or extra package) as it comes handy to PDL guys using strawberry Anyhow, I think you could just backport the fix to the current 4.4.7 branch. But, for what it is worth, Strawberry users will be unable to compile wxWidgets 2.9.x branches (without some patching at least) OK, I take it as your gcc upgrade request - we will probably aim at gcc-4.6.2 + mingw-w64 runtime (v2 or latest v2RC) However, currently the release candidates for strawberry 5.14.2.0 are IMHO too good to let them fall on the floor. I think that the updated gcc-toolchain cannot be expected sonner than in 5.14.2.1 (don't ask me when as our release schedule is slightly demolished - as you have probably noticed) BTW for all that might be interested - latest RC's are available at: http://strawberryperl.com/package/kmx/p5.14.2.0-RC/ -- kmx
Re: gcc for building Perl on WinXP
For the strawberry perl we have both gcc + fortran packs 32bit: http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-gcc4.4.7-pre_2001.zip http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-gfortran4.4.7-pre_2001.zip 64bit: http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-gcc4.4.7-pre_2001.zip http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-gfortran4.4.7-pre_2001.zip src code + build scripts: http://strawberryperl.com/package/kmx/gcctoolchain_src/mingw64-src-gcc4.4.7-pre_2001.tar But it is still old gcc-4.4.7 (with backported 4.6.2-rev180422 fix to avoid WinXP crashes) that does not handle well wxWidgets as Mark stated below. As for the future gcc-4.6.2 toolchain there is also an interesting question about including pthreads or winpthreads support as PDL is AFAIK somohow able to handle threads this way (not sure if this is valid for Win32) -- kmx On 2.11.2011 17:46, Chris Marshall wrote: It would really simplify things for win32 PDL if an easy, 1-click addition for gfortran were available. We're spending a lot of development time working around the lack of a fortran compiler on win32 perls. Since gcc includes one, it is more of a packaging and distribution issue than one of existence. Cheers, Chris On Sun, Oct 30, 2011 at 3:52 PM, Karel Mikokarel.m...@hotmail.com wrote: In preparing the next Strawberry release you've no doubt noticed that mingw-w64 32bit version cannot build a working Perl after gcc version 4.4.3 on Windows XP. Yes, in fact it was during the last week when we have found out (with help of BinGOs and Ranguard via IRC) that gcc-4.4.7 and 4.6.1 (not only with mingw-w64 runtime but also with mingw.org's runtime) produce perl binaries that crash on Windows XP. For strawberry perl 5.14.2.0 we have decided to use: - on 32 bit version gcc-4.4.3 (with slightly old mingw-w64 runtime) http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-20100123-kmx-v3.zip - on 64 bit version gcc-4.4.7(prereleae) (with mingw-w64 runtime 1.0.1) http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-gcc4.4.7(pre)_20111014.zip Commit 180422 to the 4.6 branch of gcc fixes the problem - I've cross compiled my own 32bit 4.6.2 release (the tagged 4.6.2 release includes this fix) which compiles a working Perl 5.14.2 on Windows XP. Many thanks , this is a valuable piece of information for me as I was in doubts where to start reporting/discussing the issue, now it is clear. For my own use, I need to move to 4.6.2 as 4.4.7 cannot compile wxWidgets 2.9.x branch. As a side benefit I also get an up to date v2 mingw-w64 crt. I'll be publishing source, patches and build instructions at http://perlmingw.sourceforge.net/ (plus, of course, the compiled releases). The patches are just the minimum necessary from sezero build and TDM GCC builds to get a working dist. Just a thought, but it might be nice if we had a sort of 'standard' gcc for Perl on Windows. Why not. As for my opinion concerning gcc toolchain included in strawberry perl: - we would strongly prefer to use mingw-w64 (not mingw.org) runtime for both 32/64bit - we have no special preference as for the gcc version (but versions like gcc-X.Y.0 are perhaps too in development for us) - we need gcc toolchain supportinggccroot/include andgccroot/lib directories in search paths (without explicit -I or -L options) - we would appreciate gcc toolchain with frotran (maybe a kind of addon or extra package) as it comes handy to PDL guys using strawberry Anyhow, I think you could just backport the fix to the current 4.4.7 branch. But, for what it is worth, Strawberry users will be unable to compile wxWidgets 2.9.x branches (without some patching at least) OK, I take it as your gcc upgrade request - we will probably aim at gcc-4.6.2 + mingw-w64 runtime (v2 or latest v2RC) However, currently the release candidates for strawberry 5.14.2.0 are IMHO too good to let them fall on the floor. I think that the updated gcc-toolchain cannot be expected sonner than in 5.14.2.1 (don't ask me when as our release schedule is slightly demolished - as you have probably noticed) BTW for all that might be interested - latest RC's are available at: http://strawberryperl.com/package/kmx/p5.14.2.0-RC/ -- kmx
Re: gcc for building Perl on WinXP
- Original Message - From: Mark Dootson mark.doot...@znix.com To: Chris Marshall devel.chm...@gmail.com Cc: Karel Miko karel.m...@hotmail.com; win32-vanilla@perl.org Sent: Wednesday, November 2, 2011 7:04 PM Subject: Re: gcc for building Perl on WinXP Hi, At mingw-w64 Oskan Sezer (sezero) has updated his release of gcc 4.5.4 including latest patches. [snip] I do not see gcc-4.5.4 at gcc.gnu.org . The latest gcc-4.5.X I see is gcc-4.5.3. Does such a release really exist ? Thanks, Sergei.
Re: gcc for building Perl on WinXP
It is the 32bit version of mingw-w64. Source at http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/sezero_4.5_2001/ The native 32 bit compiler is mingw-w32-bin_i686-mingw_2001_sezero.zip The bundled compiler toolchains that come with Strawberry Perl are based on http://mingw-w64.sourceforge.net/ Hope it helps Mark On 02/11/2011 17:41, Sergei Steshenko wrote: - Original Message - From: Mark Dootsonmark.doot...@znix.com To: Chris Marshalldevel.chm...@gmail.com Cc: Karel Mikokarel.m...@hotmail.com; win32-vanilla@perl.org Sent: Wednesday, November 2, 2011 7:04 PM Subject: Re: gcc for building Perl on WinXP Hi, At mingw-w64 Oskan Sezer (sezero) has updated his release of gcc 4.5.4 including latest patches. [snip] I do not see gcc-4.5.4 at gcc.gnu.org . The latest gcc-4.5.X I see is gcc-4.5.3. Does such a release really exist ? Thanks, Sergei.
Re: gcc for building Perl on WinXP
Visiting http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/sezero_4.5_2001/ I see gcc: 4.5.4-prerelease (svn r.180676 with patches), so the prerelease part solves the mystery. Regards, Sergei. - Original Message - From: Mark Dootson mark.doot...@znix.com To: Sergei Steshenko sergst...@yahoo.com Cc: win32-vanilla@perl.org win32-vanilla@perl.org Sent: Wednesday, November 2, 2011 8:08 PM Subject: Re: gcc for building Perl on WinXP It is the 32bit version of mingw-w64. Source at http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/sezero_4.5_2001/ The native 32 bit compiler is mingw-w32-bin_i686-mingw_2001_sezero.zip The bundled compiler toolchains that come with Strawberry Perl are based on http://mingw-w64.sourceforge.net/ Hope it helps Mark On 02/11/2011 17:41, Sergei Steshenko wrote: - Original Message - From: Mark Dootsonmark.doot...@znix.com To: Chris Marshalldevel.chm...@gmail.com Cc: Karel Mikokarel.m...@hotmail.com; win32-vanilla@perl.org Sent: Wednesday, November 2, 2011 7:04 PM Subject: Re: gcc for building Perl on WinXP Hi, At mingw-w64 Oskan Sezer (sezero) has updated his release of gcc 4.5.4 including latest patches. [snip] I do not see gcc-4.5.4 at gcc.gnu.org . The latest gcc-4.5.X I see is gcc-4.5.3. Does such a release really exist ? Thanks, Sergei.
Re: gcc for building Perl on WinXP
Mark, As you probably know strawberry perl is using sezero's gcc toolchain build since approx April 2010. We use nearly exactly the original sezero's gcc 4.4.x toolchain - there are basically 2 things we have changed 1/ sezero's gcc builds ignore gccroot/include dir when searching for *.h files which is not good as we put a lot of stuff into c:\strawberry\c\include - fortunately the fix is just a little change to build scripts not to gcc code (more details at http://sourceforge.net/tracker/?func=detailaid=2886331group_id=202880atid=983354) 2/ we have one more header: glext/glxext.h Upgrading strawberry perl to sezero's gcc-4.5.x (which works well with latest wxWidget, right?) is feasible as Ozkan has done a really great job (carefully selected patches, nicely prepared, easily to rebuild). The only thing as regards strawberry perl is that we need to rebuild with gcc-4.5.x also all external libraries (20-30 packages). That's the point where I am in doubts whether to go 4.4.x 4.5.x or directly 4.4.x 4.6.x The biggest (the only) disadvantage of gcc-4.6.x is that Ozkan have currently no plans making gcc-4.6.x build (I have asked him a couple of days ago) - so with gcc-4.6.x we loose all comfort we have now with his gcc-4.4.x/4.5.x builds -- kmx On 2.11.2011 18:04, Mark Dootson wrote: Hi, At mingw-w64 Oskan Sezer (sezero) has updated his release of gcc 4.5.4 including latest patches. This solves my wxWidgets (c++) issues ( and general c++ exception problems for many other things I expect). It should also solve the Windows XP CRT issue which caused strawberry to stick with gcc 4.4.3 for Win32 - I haven't tested on XP yet (Oskan only updated it today) but I've tested the relevant patch for other builds so it should work fine. It comes with gfortran. No expectations of Oskan of course, but given Oskan's record of updating his releases and ease of using his source patches + buildscripts yourself if you wish, this looks like a favourite base for a Perl gcc dist. Mark On 02/11/2011 16:46, Chris Marshall wrote: It would really simplify things for win32 PDL if an easy, 1-click addition for gfortran were available. We're spending a lot of development time working around the lack of a fortran compiler on win32 perls. Since gcc includes one, it is more of a packaging and distribution issue than one of existence. Cheers, Chris On Sun, Oct 30, 2011 at 3:52 PM, Karel Mikokarel.m...@hotmail.com wrote: In preparing the next Strawberry release you've no doubt noticed that mingw-w64 32bit version cannot build a working Perl after gcc version 4.4.3 on Windows XP. Yes, in fact it was during the last week when we have found out (with help of BinGOs and Ranguard via IRC) that gcc-4.4.7 and 4.6.1 (not only with mingw-w64 runtime but also with mingw.org's runtime) produce perl binaries that crash on Windows XP. For strawberry perl 5.14.2.0 we have decided to use: - on 32 bit version gcc-4.4.3 (with slightly old mingw-w64 runtime) http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-20100123-kmx-v3.zip - on 64 bit version gcc-4.4.7(prereleae) (with mingw-w64 runtime 1.0.1) http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-gcc4.4.7(pre)_20111014.zip Commit 180422 to the 4.6 branch of gcc fixes the problem - I've cross compiled my own 32bit 4.6.2 release (the tagged 4.6.2 release includes this fix) which compiles a working Perl 5.14.2 on Windows XP. Many thanks , this is a valuable piece of information for me as I was in doubts where to start reporting/discussing the issue, now it is clear. For my own use, I need to move to 4.6.2 as 4.4.7 cannot compile wxWidgets 2.9.x branch. As a side benefit I also get an up to date v2 mingw-w64 crt. I'll be publishing source, patches and build instructions at http://perlmingw.sourceforge.net/ (plus, of course, the compiled releases). The patches are just the minimum necessary from sezero build and TDM GCC builds to get a working dist. Just a thought, but it might be nice if we had a sort of 'standard' gcc for Perl on Windows. Why not. As for my opinion concerning gcc toolchain included in strawberry perl: - we would strongly prefer to use mingw-w64 (not mingw.org) runtime for both 32/64bit - we have no special preference as for the gcc version (but versions like gcc-X.Y.0 are perhaps too in development for us) - we need gcc toolchain supportinggccroot/include andgccroot/lib directories in search paths (without explicit -I or -L options) - we would appreciate gcc toolchain with frotran (maybe a kind of addon or extra package) as it comes handy to PDL guys using strawberry Anyhow, I think you could just backport the fix to the current 4.4.7 branch. But, for what it is worth, Strawberry users will be unable to compile wxWidgets 2.9.x branches (without some patching at least) OK, I take it as your gcc upgrade request - we will probably aim at gcc-4.6.2 +
Re: gcc for building Perl on WinXP
- Original Message - From: kmx As for the future gcc-4.6.2 toolchain there is also an interesting question about including pthreads or winpthreads support as PDL is AFAIK somohow able to handle threads this way (not sure if this is valid for Win32) Yes, pthreads works with PDL on Win32. There's a crash in one of PDL's pthread test scripts that needs to be sorted out, but the basic functionality seems to be fine. Cheers, Rob
Re: gcc for building Perl on WinXP
In preparing the next Strawberry release you've no doubt noticed that mingw-w64 32bit version cannot build a working Perl after gcc version 4.4.3 on Windows XP. Yes, in fact it was during the last week when we have found out (with help of BinGOs and Ranguard via IRC) that gcc-4.4.7 and 4.6.1 (not only with mingw-w64 runtime but also with mingw.org's runtime) produce perl binaries that crash on Windows XP. For strawberry perl 5.14.2.0 we have decided to use: - on 32 bit version gcc-4.4.3 (with slightly old mingw-w64 runtime) http://strawberryperl.com/package/kmx/32_gcctoolchain/mingw64-w32-20100123-kmx-v3.zip - on 64 bit version gcc-4.4.7(prereleae) (with mingw-w64 runtime 1.0.1) http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-gcc4.4.7(pre)_20111014.zip Commit 180422 to the 4.6 branch of gcc fixes the problem - I've cross compiled my own 32bit 4.6.2 release (the tagged 4.6.2 release includes this fix) which compiles a working Perl 5.14.2 on Windows XP. Many thanks , this is a valuable piece of information for me as I was in doubts where to start reporting/discussing the issue, now it is clear. For my own use, I need to move to 4.6.2 as 4.4.7 cannot compile wxWidgets 2.9.x branch. As a side benefit I also get an up to date v2 mingw-w64 crt. I'll be publishing source, patches and build instructions at http://perlmingw.sourceforge.net/ (plus, of course, the compiled releases). The patches are just the minimum necessary from sezero build and TDM GCC builds to get a working dist. Just a thought, but it might be nice if we had a sort of 'standard' gcc for Perl on Windows. Why not. As for my opinion concerning gcc toolchain included in strawberry perl: - we would strongly prefer to use mingw-w64 (not mingw.org) runtime for both 32/64bit - we have no special preference as for the gcc version (but versions like gcc-X.Y.0 are perhaps too in development for us) - we need gcc toolchain supporting gccroot/include and gccroot/lib directories in search paths (without explicit -I or -L options) - we would appreciate gcc toolchain with frotran (maybe a kind of addon or extra package) as it comes handy to PDL guys using strawberry Anyhow, I think you could just backport the fix to the current 4.4.7 branch. But, for what it is worth, Strawberry users will be unable to compile wxWidgets 2.9.x branches (without some patching at least) OK, I take it as your gcc upgrade request - we will probably aim at gcc-4.6.2 + mingw-w64 runtime (v2 or latest v2RC) However, currently the release candidates for strawberry 5.14.2.0 are IMHO too good to let them fall on the floor. I think that the updated gcc-toolchain cannot be expected sonner than in 5.14.2.1 (don't ask me when as our release schedule is slightly demolished - as you have probably noticed) BTW for all that might be interested - latest RC's are available at: http://strawberryperl.com/package/kmx/p5.14.2.0-RC/ -- kmx