Having a need to do high-precision calculations in both Linux and Windows, I've ported cln and ginac to Windows, and I thought it'd be appropriate to share the results. (I've been using cln for a couple of years now, and I'm deeply impressed with it. I haven't yet gotten far into ginac, but it's something that I'd also like to support.) I have: 1) A 47MB zip file, containing - the gcc compiler, ported under mingw, along with the gmp and cln libraries - the notepad++ editor - a batch file that allows notepad++ to be used as a simple ide 2) A 69MB zip file containing all of the above, plus the ginac libraries. 3) A rather detailed summary of the process used to assemble the above. When unzipped, the resulting code can be used on any Windows machine without the need for installation or presence of cygwin (it will even run directly from a CD). This will make cln and ginac accessible to a wider audience, which is why I thought it'd be a good idea to share it. It makes sense to have these files hosted on the official ginac/cln site. Any suggestions about who I should contact to make arrangements? Thanks! Mike Miller
Hello, On Mon, Aug 24, 2009 at 05:11:15PM -0400, Michael Miller wrote:
Having a need to do high-precision calculations in both Linux and Windows, I've ported cln and ginac to Windows,
Porting is the process of adapting software so it can run on a hardware, OS, compiler, etc different from one for which it was originally designed. CLN (as of 1.3.x) builds (with GNU compiler) and runs on Windows just fine, so porting CLN (and GiNaC) to Windows is a no-op. Perhaps you mean 'built'?
and I thought it'd be appropriate to share the results.
It's also a good idea to check if some else already done it (hint: see http://www.ginac.de/Download.html)
I have:
1) A 47MB zip file, containing - the gcc compiler, ported under mingw, along with the gmp and cln libraries - the notepad++ editor - a batch file that allows notepad++ to be used as a simple ide
Downloading 40+ Mb just to get CLN (or GiNaC) installed might be inconvenient (think about slow network connection, etc). Also quite a number of (Windows) users have MinGW installed (or can download it from a fast(er) mirror). So I don't think it's a good idea to ship compiler (and IDE) along with CLN (and/or GiNaC). Best regards, Alexei
What you have done is wonderful - I'm simply providing another option. In particular, what I'm suggesting 1) may be easier for Windows users (they simply download the file, unzip it, and then they're ready to go). 2) provides a portable environment (the unzipped files can be copied to a CD or a thumbdrive and then used on any Windows computer, without installation). I agree that there are many users for which your option is better than mine, but I also believe that the reverse is true. Why not allow them the choice? Mike Miller Alexei Sheplyakov wrote:
and I thought it'd be appropriate to share the results.
It's also a good idea to check if some else already done it (hint: see http://www.ginac.de/Download.html)
I have:
1) A 47MB zip file, containing - the gcc compiler, ported under mingw, along with the gmp and cln libraries - the notepad++ editor - a batch file that allows notepad++ to be used as a simple ide
Downloading 40+ Mb just to get CLN (or GiNaC) installed might be inconvenient (think about slow network connection, etc). Also quite a number of (Windows) users have MinGW installed (or can download it from a fast(er) mirror). So I don't think it's a good idea to ship compiler (and IDE) along with CLN (and/or GiNaC).
Hi Michael, You wrote:
Having a need to do high-precision calculations in both Linux and Windows, I've ported cln and ginac to Windows, and I thought it'd be appropriate to share the results. (I've been using cln for a couple of years now, and I'm deeply impressed with it. I haven't yet gotten far into ginac, but it's something that I'd also like to support.)
It's good to hear that the problems on Windows are mostly resolved, now! You wrote:
What you have done is wonderful - I'm simply providing another option. In particular, what I'm suggesting
1) may be easier for Windows users (they simply download the file, unzip it, and then they're ready to go).
2) provides a portable environment (the unzipped files can be copied to a CD or a thumbdrive and then used on any Windows computer, without installation).
I agree that there are many users for which your option is better than mine, but I also believe that the reverse is true. Why not allow them the choice?
Of course, patches for CLN proper that help users build it are most welcome, as they would certainly be useful for the audience of future releases, too. But the way I'm reading your email is that there was no need to patch anything, right? If you want to share your files so other Windows users might benefit from what you have done, I suggest to upload them at some web server of yours and send us the URL, so I can include it at <http://www.ginac.de/Download.html>. It might also be approriate to mention how your work differs from Alexei's, though. I, at least, don't see the difference (apart from library versions). Best wishes -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
Richard B. Kreckel wrote:
Of course, patches for CLN proper that help users build it are most welcome, as they would certainly be useful for the audience of future releases, too. But the way I'm reading your email is that there was no need to patch anything, right?
That is correct; I did not need to patch anything to get cln to compile under MinGW. I do have a question, though. In my previous version (gmp-4.2.4 & cln-1.2.2), the three largest files produced were: 6924998 ./mingw/lib/debug/libstdc++.a 5667670 ./mingw/lib/libcln.a 4019200 ./mingw/libexec/gcc/mingw32/3.4.5/cc1plus.exe Currently (gmp-4.3.1 & cln-1.3.0), the three largest files produced are: 131718308 ./mingw/lib/libcln.a 6924998 ./mingw/lib/debug/libstdc++.a 4019200 ./mingw/libexec/gcc/mingw32/3.4.5/cc1plus.exe Note that libcln.a has gone from 5MB to 131MB. Is that to be expected? (In both cases, I compiled cln using the generic ./configure, make, make check, make install.) Mike Miller
Hi! Michael Miller wrote:
Note that libcln.a has gone from 5MB to 131MB. Is that to be expected? (In both cases, I compiled cln using the generic ./configure, make, make check, make install.)
Commit 447a682441a04d2ec95f9f5d1be456d43c88a6ef by Alexei Sheplyakov changed the default compiler optimization flags. Also, the sizes look grossly distorted due to full debug information. Anyway, I've never seen that code sizes are correlated with speed of execution, so I've given up looking at them. -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>
Hi, On Wed, Aug 26, 2009 at 02:28:22PM -0400, Michael Miller wrote:
That is correct; I did not need to patch anything to get cln to compile under MinGW. I do have a question, though.
In my previous version (gmp-4.2.4 & cln-1.2.2), the three largest files produced were: 6924998 ./mingw/lib/debug/libstdc++.a 5667670 ./mingw/lib/libcln.a 4019200 ./mingw/libexec/gcc/mingw32/3.4.5/cc1plus.exe
Currently (gmp-4.3.1 & cln-1.3.0), the three largest files produced are: 131718308 ./mingw/lib/libcln.a 6924998 ./mingw/lib/debug/libstdc++.a 4019200 ./mingw/libexec/gcc/mingw32/3.4.5/cc1plus.exe
Note that libcln.a has gone from 5MB to 131MB. Is that to be expected?
Yes. The library contains debugging info now, and is compiled with different optimization flags (-O2 instead of -O). If you don't need debugging information you can either discard it strip /path/to/libcln.a or set proper compiler flags when configuring CLN, i.e. CFLAGS='-O2' CXXFLAGS='-O2' ./configure Best regards, Alexei
participants (3)
-
Alexei Sheplyakov
-
Michael Miller
-
Richard B. Kreckel