On 2014-02-11 09:41-0800 Alan W. Irwin wrote: > On 2014-02-11 14:10-0000 Arjen Markus wrote: > >> Hi Alan, >> >>> -----Original Message----- >>> From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca] >>> >>> Remember, although epa_build is configured with CMake, that is just a >>> convenient >>> but rather thin layer over the configure and build done by a project's >>> native build >>> system. In the swig case, that native build system is autotools, and the >>> configuration >>> is done with a "configure" >>> script that is set up by autotools. That script is where the above flags >>> are coming >>> from. However, those flags gave me absolutely no trouble for the swig >>> build on >>> MinGW/MSYS/Wine. >>> >>> I hope that explanation helps. >>> >> >> That does indeed help. I was simply looking in the wrong place. >> >> However, if it works for you, then is it possible you have a different >> version of GCC? >> Mine is (output from "gcc -v"): >> >> Using built-in specs. >> COLLECT_GCC=c:\mingw\bin\gcc.exe >> COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/lto-wrapper.exe >> Target: mingw32 >> Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32 >> --build=mingw32 --without-pic --enable-shared --enable-static --with-gnu-ld >> --enable-lto --enable-libssp --disable-multilib >> --enable-languages=c,c++,fortran,objc,obj-c++,ada --disable-sjlj-exceptions >> --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug >> --enable-version-specific-runtime-libs >> --with-gmp=/usr/src/pkg/gmp-5.1.2-1-mingw32-src/bld >> --with-mpc=/usr/src/pkg/mpc-1.0.1-1-mingw32-src/bld --with-mpfr= >> --with-system-zlib --with-gnu-as --enable-decimal-float=yes --enable-libgomp >> --enable-threads --with-libiconv-prefix=/mingw32 >> --with-libintl-prefix=/mingw --disable-bootstrap LDFLAGS=-s >> CFLAGS=-D_USE_32BIT_TIME_T >> Thread model: win32 >> gcc version 4.8.1 (GCC) >> > > I used gcc-4.7.2 (see the description of my test in README.release). > So that _could_ be a source of a possible difference between us, but > that seems fairly unlikely to me. > > However, in your previous post you did seem able to prove that > MinGW was definitely producing 32-bit results for your present > environment. And you went on to say > >> Okay, sofar that analysis. Now I will try your receipe. > > Does that mean you have gone ahead with the epa_build comprehensive > test? If so, what are those results?
Hi Arjen: Never mind. I have reread what you said, and I think I understand it better now. You assumed my new recipe might help out with the swig build issue, but in fact the new recipe only introduces some convenience options for the -DBUILD_THE_BUILDTOOLS=OFF case so should have no effect for the -DBUILD_THE_BUILDTOOLS=ON case (which is used for the swig build). Furthermore, I assumed you were testing a new configuration of your MinGW-4.8.1 compiler, but in fact I now believe you were testing the old configuration that generated the build errors for swig. So basically your tests have proved the swig build issue you have found some time ago was for a 32-bit platform and therefore could not have anything to do with possible 64-bit issues. So now I have done what I should have done long ago which was to do a google search for your swig build error message: unknown type name 'off64_t' The first hit is http://sourceforge.net/p/mingw/bugs/2104/ which is classified as a duplicate of http://sourceforge.net/p/mingw/bugs/2046/. The comments on bug 2046 are interesting. There appears to be no fundamental MinGW 4.8.1 bug here except possibly the need to implement a more user-friendly way to deal with detected violations of compiler standards by the package being compiled (in this case swig) when standards compliancy is being checked by compiling the code with a standards-compliant flag such as -ansi (or -std=c99). Finally there is this quote: <quote> FWIW, I also consider it to be a build system bug, when any such conformity checking option is unconditionally applied to a release build; they are intended primarily for developers, to allow them to check for non-conforming usage in their code, so that it may be compiled by the widest possible range of compilers. They are not intended to create obstacles for users of more capable compilers. </quote> So from the MinGW developer perspective, the -ansi flag introduced by the autotools-based build system used to build swig is a fundamental bug for that build system. And I must say I agree. Just because -ansi produced no errors for some compiler the swig developers checked (say MinGW-4.7.2) does not mean an even stricter compiler (such as MinGW-4.8.1) might find something else that was not ansi compliant. And I particularly agree with the last sentence of the quote above! So I think the fundamental solution here is for epa_build to patch the swig autotools build system so it does not generate the -ansi flag. And assuming that works for us, we should send that patch to the swig bug tracker. To me it is really important goal that you are able to replicate my MinGW/MSYS success since that test result would provide MinGW/MSYS users (who have probably never heard of Wine) a lot more confidence in this release. So normally I would be tempted to extend the release date by "as long as it takes" to do the above before the release. But I also realize you are up against another deadline this weekend and will be unavailable to work on PLplot some time after that so that is why I am going to put off the above fundamental fix until after the present release. IMPORTANT: So unless something extraordinary develops I plan to make this release something like 24 hours from now (e.g., near 2014-02-12T12:00-08:00 or 2014-02-12T20:00-00:00). Nevertheless if you have any time in the next 24 hours to work on PLplot, that still gives you an opportunity to meet the important goal of getting a comprehensive noninteractive test done with epa_build on your MinGW/MSYS platform before the release. From the above discussion the key would be for you to also use MinGW-4.7.x for your test which makes your test platform substantially more similar to mine and which from my experience is not as strict about checking code compliance when the -ansi compiler flag is used. So assuming MinGW-4.7.x is already installed on your computer (or assuming you can install it), please go ahead and try to get that comprehensive test done in time so I can put those MinGW-4.7.x results in README.release for this release. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel