Oh wait, not so fast. When I do svn commit after autoreconf -i on MinGW32 I get:
M ltmain.sh M config.in M yasm/configure M configure M aclocal.m4 Why on earth does it modify all those files? It looks like the version of autotools on MinGW32 does completely different stuff to the version on Linux. But this *completely* defeats the purpose of it being a cross-platform build system!! Bill. On 26 September 2012 18:29, Bill Hart <goodwillh...@googlemail.com> wrote: > So if I check non-versioned files after make distclean when checked > out directly from repo, I just get: > > ? tests\fft\Makefile > > But if I first do autoreconf -i, then I get > > ? tests\fft\Makefile > ? yasm\YASM-VERSION-FILE > ? yasm\YASM-VERSION.h > ? yasm\autom4te.cache > ? autom4te.cache > > So it looks like the first is not cleaned up when it should be, which > is a separate issue. > > And the last file must be the one responsible for fixing the issue we > are having. > > Anyone know what this file is for? Should we just commit it to the repo? > > Bill. > > On 26 September 2012 18:24, Bill Hart <goodwillh...@googlemail.com> wrote: >> No, the problem comes back if I check out directly from the repo. >> >> Clearly autoreconf -i is altering some non-versioned files which are >> required for it to build on MinGW32. And those files must be listed >> below. >> >> We are closer to solving this mystery though! >> >> Bill. >> >> On 26 September 2012 18:07, Bill Hart <goodwillh...@googlemail.com> wrote: >>> And much to my surprise, running autoreconf -i actually fixes the >>> problem with the latest revision. >>> >>> I've committed the changes to the repo (the only file that changed was >>> configure). >>> >>> However, I now note that make distclean does not clean the following files: >>> >>> ? autom4te.cache >>> ? yasm/autom4te.cache >>> ? tests/fft/Makefile >>> ? mpn/preinv_divrem_1.c >>> >>> So that has to be added to the list of things to fix. I'm a bit >>> surprised autotools doesn't figure these out for itself. >>> >>> I hope that those cache files are not the reason for it working after >>> autoreconf -i. I'll have to check into that. >>> >>> Bill. >>> >>> On 26 September 2012 17:35, Bill Hart <goodwillh...@googlemail.com> wrote: >>>> On 26 September 2012 17:34, Bill Hart <goodwillh...@googlemail.com> wrote: >>>>> No, that didn't work. As usual, config.h is unpopulated. However, >>>>> oddly enough, the error message I got was the same as what Pavel got >>>>> before autoreconf. >>>>> >>>>> So we've confirmed that revision 3947 from trunk works with these >>>> >>>> Sorry, I mean 3778 works with those steps. >>>> >>>>> steps and the latest revision does not work without them. >>>>> >>>>> I will try replicating Pavel's steps exactly (which shouldn't be >>>>> needed) to see what happens. >>>>> >>>>> Bill. >>>>> >>>>> On 26 September 2012 17:23, Bill Hart <goodwillh...@googlemail.com> wrote: >>>>>> Thanks for giving this a try. >>>>>> >>>>>> Two things you may have to do: >>>>>> >>>>>> * turn off your antivirus, especially if configure causes a problem >>>>>> with the generated program a.exe >>>>>> * run mingw shell as administrator >>>>>> >>>>>> I also had exactly the same problem as you. I think it is due to >>>>>> problems with config.h not being populated. >>>>>> >>>>>> However, what you subsequently wrote gave me an idea. I was not aware >>>>>> that autoreconf actually worked with mpir. The reason is that it runs >>>>>> libtoolize, which replaces the libtool with a broken one (this has >>>>>> always been a problem with mpir). So I decided to run the other >>>>>> programs that autoreconf runs, and I noticed that aclocal gives us a >>>>>> diff. >>>>>> >>>>>> Just trying that now with the latest svn revision. >>>>>> >>>>>> Bill. >>>>>> >>>>>> On 26 September 2012 03:54, Pavel Holoborodko <pa...@holoborodko.com> >>>>>> wrote: >>>>>>> My environment: >>>>>>> 1. Windows 7 Ultimate x64. >>>>>>> 2. Latest MinGW32 with gcc 4.7.0 >>>>>>> (installed from official site: >>>>>>> http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download) >>>>>>> >>>>>>> I've downloaded 3778 revision from the SVN (tagged as MPIR 2.5) >>>>>>> >>>>>>> ./configure --prefix=/mingw --host=i686-pc-mingw32 --enable-gmpcompat >>>>>>> make clean >>>>>>> make >>>>>>> >>>>>>> .... >>>>>>> libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. >>>>>>> -D__GMP_WITHIN_GMP -I.. -DOPERATION_divisible_p -m32 -O2 >>>>>>> -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c >>>>>>> divisible_p.c -o >>>>>>> divisible_p.o >>>>>>> divisible_p.c: In function '__gmpn_divisible_p': >>>>>>> divisible_p.c:76:3: error: 'TMP_DECL' undeclared (first use in this >>>>>>> function) >>>>>>> divisible_p.c:76:3: note: each undeclared identifier is reported only >>>>>>> once >>>>>>> for each function it appears in >>>>>>> divisible_p.c:141:3: error: 'TMP_MARK' undeclared (first use in this >>>>>>> function) >>>>>>> divisible_p.c:143:3: warning: implicit declaration of function >>>>>>> 'TMP_ALLOC' >>>>>>> [-Wimplicit-function-declaration] >>>>>>> divisible_p.c:154:4: error: 'TMP_FREE' undeclared (first use in this >>>>>>> function) >>>>>>> make[2]: *** [divisible_p.lo] Error 1 >>>>>>> make[2]: Leaving directory `/u/Development/trunk/libs/mp-mingw/mpir/mpn' >>>>>>> make[1]: *** [all-recursive] Error 1 >>>>>>> make[1]: Leaving directory `/u/Development/trunk/libs/mp-mingw/mpir' >>>>>>> make: *** [all] Error 2 >>>>>>> >>>>>>> Generated configure.h is in attachment. >>>>>>> >>>>>>> Let me know how I can help you in fixing this problem. >>>>>>> >>>>>>> Pavel Holoborodko >>>>>>> -- >>>>>>> Multiprecision Computing Toolbox for MATLAB >>>>>>> http://www.advanpix.com >>>>>>> >>>>>>> >>>>>>> On Wed, Sep 26, 2012 at 1:52 AM, Bill Hart <goodwillh...@googlemail.com> >>>>>>> wrote: >>>>>>>> >>>>>>>> On 25 September 2012 17:02, Bill Hart <goodwillh...@googlemail.com> >>>>>>>> wrote: >>>>>>>> > I would *really* appreciate some help with the Mingw32 issue. What we >>>>>>>> > need to do is bisect the repo (svn trunk) and rebuild mpir until we >>>>>>>> > find out which commit caused mingw32 to stop working. It might only >>>>>>>> > be >>>>>>>> > necessary to run configure and check to see if config.h has been >>>>>>>> > populated correctly with all the HAVE_NATIVE flags, which would save >>>>>>>> > a >>>>>>>> > lot of time. >>>>>>>> >>>>>>>> Below is the relevant information from a previous post by Jason which >>>>>>>> explains what goes wrong. It has always been a problem on MinGW64, but >>>>>>>> seems to be a problem now on MinGW32. >>>>>>>> >>>>>>>> At any rate, all that would be required is to build mpir from svn >>>>>>>> trunk starting with the revision corresponding to mpir-2.5.1 (where it >>>>>>>> presumably last worked on MinGW32), i.e. revision 3850 and find which >>>>>>>> commit before revision 3949 causes the config.h file to not be >>>>>>>> properly populated as explained by Jason below. >>>>>>>> >>>>>>>> Any volunteers? >>>>>>>> >>>>>>>> --------------- >>>>>>>> >>>>>>>> I figured out what going on here , basically configure is failing to >>>>>>>> populate config.h with the required >>>>>>>> #define HAVE_NATIVE_mpn_addmul_2 1 >>>>>>>> and all the others , it has always done this on mingw64 but because of >>>>>>>> the way the C file redc_2 uses addmul_2 it now causes a problem.A >>>>>>>> quick fix is to delete the lines in the mpn/generic/redc_2.c file >>>>>>>> where it trys to redefine addmul_2 >>>>>>>> >>>>>>>> I don't know why configure fails to populate config.h , it manages to >>>>>>>> do the sym links >>>>>>>> >>>>>>>> ---------------- >>>>>>>> >>>>>>>> Bill. >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups >>>>>>>> "mpir-devel" group. >>>>>>>> To post to this group, send email to mpir-devel@googlegroups.com. >>>>>>>> To unsubscribe from this group, send email to >>>>>>>> mpir-devel+unsubscr...@googlegroups.com. >>>>>>>> For more options, visit this group at >>>>>>>> http://groups.google.com/group/mpir-devel?hl=en. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups >>>>>>> "mpir-devel" group. >>>>>>> To post to this group, send email to mpir-devel@googlegroups.com. >>>>>>> To unsubscribe from this group, send email to >>>>>>> mpir-devel+unsubscr...@googlegroups.com. >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/mpir-devel?hl=en. -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-devel@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.