Ifeffit and gfortran (was: iffefit compile on BlueWhite64)
Hi Chachi, all I believe I have a source kit that will build correctly for you using gfortran. I've tested on three different generations of Fedora/Redhat linux systems, one with only g77, one with only gfortran, and one with both, and the installation now works on all of them. Please try http://cars9.uchicago.edu/~ifeffit/src/ifeffit-1.2.10_rc1.tar.gz With this tar ball, you will need to install pgplot: tar xvzf ifeffit-1.2.10_rc1.tar.gz cd ifeffit-1.2.10 sh PGPLOT_install ./configure make make install (doing the two 'install steps' with sufficient privilege). Again, you need to install PGPLOT with the provided script. Both the PGPLOT and Ifeffit installations will use gfortran if available, and g77 if gfortran is not available. I think it would not be too difficult to attempt to use Intel's ifort compiler or g95, though I do not know that it's needed-- all linux distribution come with gcc so have easy-to-use packages for gfortran (and, for "legacy", g77). I did get horae-065 and the python wrappers to build with no trouble (once the Tk modules were installed) on all systems, though I haven't done much more than trivial testing. Since I tested only on a few linux boxes, I'd be interested in hearing reports for other systems. I'll wait a few days (or more) to hear reports before uploading this as ifeffit-1.2.10. --Matt
Hi Matt, Sitting here at Elettra during a run, I downloaded the rc1 of ifeffit10 on my MacBook Pro (intel cpu) and found that the gfortran compiler had trouble with one of the sources: rand.f and attempted a build using gfortran 4.2.1 and found that the make crashed due to an overflow in a constant in rand.f. The same makefile worked fine with the intel compiler. If I get time later this week, I will try and build the latest version of ifeffit and horae using the intel compiler on the MacBook Pro I have here. gfortran -g -O2 -fPIC -c misc_rand.f misc_rand.f:111.36: parameter(umask = -2147483648) ! most significant w-r bits 1 Error: Integer too big for its kind at (1) make[3]: *** [misc_rand.o] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive-am] Error 2 Ciao, Paul On Aug 22, 2007, at 10:56 PM, Matt Newville wrote:
Hi Chachi, all
I believe I have a source kit that will build correctly for you using gfortran. I've tested on three different generations of Fedora/Redhat linux systems, one with only g77, one with only gfortran, and one with both, and the installation now works on all of them.
Please try http://cars9.uchicago.edu/~ifeffit/src/ifeffit-1.2.10_rc1.tar.gz
With this tar ball, you will need to install pgplot: tar xvzf ifeffit-1.2.10_rc1.tar.gz cd ifeffit-1.2.10 sh PGPLOT_install ./configure make make install
(doing the two 'install steps' with sufficient privilege). Again, you need to install PGPLOT with the provided script. Both the PGPLOT and Ifeffit installations will use gfortran if available, and g77 if gfortran is not available. I think it would not be too difficult to attempt to use Intel's ifort compiler or g95, though I do not know that it's needed-- all linux distribution come with gcc so have easy-to-use packages for gfortran (and, for "legacy", g77).
I did get horae-065 and the python wrappers to build with no trouble (once the Tk modules were installed) on all systems, though I haven't done much more than trivial testing.
Since I tested only on a few linux boxes, I'd be interested in hearing reports for other systems.
I'll wait a few days (or more) to hear reports before uploading this as ifeffit-1.2.10.
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Paul Fons Team Leader Nano-Optics Research Team paul-fons@aist.go.jp Center for Applied Near-Field Optics National Institute of Advanced Industrial Technology Tsukuba Central 4, Higashi 1-1-1 Tsukuba, Ibaraki Japan 305-8562 tel. +81-298-61-5635 fax. +81-298-61-2939 The following lines are in a Japanese font 〒305-8562 茨城県つくば市つくば中央東 1-1-1 産業技術総合研究所 近接場光応用工学研究センター 近接場光基礎研究チーム チーム長 ポール・フォンス
Hi All, We have been building IFEFFIT 1.2.9 using Matt's configure script. Maybe misc_rand.f is depr Here's what I did to build things. I have no idea if the resulting binaries/libraries work correctly, although there were no obvious problems when running the tests included in the sources. $ export IFEFF="/Users/kmcivor/Projects/ifeffit" $ env F77=gfortran CFLAGS="-O2 -arch i386 -arch ppc" \ LDFLAGS="-L${IFEFF}/build/lib" \ CXXFLAGS="-O2 -arch i386 -arch ppc" \ FLIBS="-L/usr/local/lib -lgfortran" \ FFLAGS="-O2 -arch i386 -arch ppc -fno-range-check" \ ./configure --prefix=${IFEFF}/build --disable-dependency-tracking \ --with-termcap-link=-ltermcap --with-arraysize=huge \ --with-pgplot=${IFEFF}/build/lib --with-pgplot-link=-lpgplot We haven't fully tested this version, yet. Jeff On Aug 23, 2007, at 6:54 AM, paul fons wrote:
Hi Matt, Sitting here at Elettra during a run, I downloaded the rc1 of ifeffit10 on my MacBook Pro (intel cpu) and found that the gfortran compiler had trouble with one of the sources: rand.f and attempted a build using gfortran 4.2.1 and found that the make crashed due to an overflow in a constant in rand.f. The same makefile worked fine with the intel compiler. If I get time later this week, I will try and build the latest version of ifeffit and horae using the intel compiler on the MacBook Pro I have here.
gfortran -g -O2 -fPIC -c misc_rand.f misc_rand.f:111.36:
parameter(umask = -2147483648) ! most significant w-r bits 1 Error: Integer too big for its kind at (1) make[3]: *** [misc_rand.o] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive-am] Error 2
Ciao, Paul
On Aug 22, 2007, at 10:56 PM, Matt Newville wrote:
Hi Chachi, all
I believe I have a source kit that will build correctly for you using gfortran. I've tested on three different generations of Fedora/ Redhat linux systems, one with only g77, one with only gfortran, and one with both, and the installation now works on all of them.
Please try http://cars9.uchicago.edu/~ifeffit/src/ifeffit-1.2.10_rc1.tar.gz
With this tar ball, you will need to install pgplot: tar xvzf ifeffit-1.2.10_rc1.tar.gz cd ifeffit-1.2.10 sh PGPLOT_install ./configure make make install
(doing the two 'install steps' with sufficient privilege). Again, you need to install PGPLOT with the provided script. Both the PGPLOT and Ifeffit installations will use gfortran if available, and g77 if gfortran is not available. I think it would not be too difficult to attempt to use Intel's ifort compiler or g95, though I do not know that it's needed-- all linux distribution come with gcc so have easy-to-use packages for gfortran (and, for "legacy", g77).
I did get horae-065 and the python wrappers to build with no trouble (once the Tk modules were installed) on all systems, though I haven't done much more than trivial testing.
Since I tested only on a few linux boxes, I'd be interested in hearing reports for other systems.
I'll wait a few days (or more) to hear reports before uploading this as ifeffit-1.2.10.
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Paul Fons Team Leader Nano-Optics Research Team paul-fons@aist.go.jp
Center for Applied Near-Field Optics National Institute of Advanced Industrial Technology Tsukuba Central 4, Higashi 1-1-1 Tsukuba, Ibaraki Japan 305-8562
tel. +81-298-61-5635 fax. +81-298-61-2939
The following lines are in a Japanese font 〒305-8562 茨城県つくば市つくば中央東 1-1-1 産業技術総合研究所 近接場光応用工学研究センター 近接場光基礎研究チーム チーム長 ポール・フォンス
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Hi Paul,
On 8/23/07, paul fons
gfortran -g -O2 -fPIC -c misc_rand.f misc_rand.f:111.36:
parameter(umask = -2147483648) ! most significant w-r bits 1 Error: Integer too big for its kind at (1)
Thanks for the report. This compiled for me on linux, using gfortran 4.1.1 and 4.1.2, and obviously works in g77. I do see a reference that -2**31 is no longer a valid integer _constant_ in gfortran, but that it can be (oddly enough), a valid integer _value_. Weird. I don't have an installation of gfortran 4.2 easily available. Would you be willing to try this change? Comment out the parameter(umask ...) line, and simply set umask at the beginning of the executable statements ****************************************************************************************** misc_rand.f lines 110,111,112 should read: parameter(mata = -1727483681) ! constant vector a c parameter(umask = -2147483648) ! most significant w-r bits parameter(lmask = 2147483647) ! least significant r bits misc_rand.f lines 129,130,131,132 should read: c mag01(x) = x * mata for x=0,1 c umask = -2147483648 ! most significant w-r bits if(mti.ge.n) then ****************************************************************************************** That seems like it would be the easiest fix to me. Thanks, --Matt
Buona Mattina Matt, I tried moving the def of umask to the main body of misc_rand as an executable statement and the same problem with overflow occurred (at least the compiler is consistent) gfortran -g -O2 -fPIC -c misc_rand.f misc_rand.f:130.26: umask = -2147483648 ! most significant w-r bits 1 Error: Integer too big for its kind at (1) make[3]: *** [misc_rand.o] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive-am] Error 2 Paul On Aug 23, 2007, at 6:40 PM, Matt Newville wrote:
Hi Paul,
On 8/23/07, paul fons
wrote: gfortran -g -O2 -fPIC -c misc_rand.f misc_rand.f:111.36:
parameter(umask = -2147483648) ! most significant w-r bits 1 Error: Integer too big for its kind at (1)
Thanks for the report. This compiled for me on linux, using gfortran 4.1.1 and 4.1.2, and obviously works in g77. I do see a reference that -2**31 is no longer a valid integer _constant_ in gfortran, but that it can be (oddly enough), a valid integer _value_. Weird.
I don't have an installation of gfortran 4.2 easily available. Would you be willing to try this change? Comment out the parameter(umask ...) line, and simply set umask at the beginning of the executable statements
********************************************************************** ******************** misc_rand.f lines 110,111,112 should read:
parameter(mata = -1727483681) ! constant vector a c parameter(umask = -2147483648) ! most significant w-r bits parameter(lmask = 2147483647) ! least significant r bits
misc_rand.f lines 129,130,131,132 should read:
c mag01(x) = x * mata for x=0,1 c umask = -2147483648 ! most significant w-r bits if(mti.ge.n) then ********************************************************************** ********************
That seems like it would be the easiest fix to me.
Thanks,
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Paul Fons Team Leader Nano-Optics Research Team paul-fons@aist.go.jp Center for Applied Near-Field Optics National Institute of Advanced Industrial Technology Tsukuba Central 4, Higashi 1-1-1 Tsukuba, Ibaraki Japan 305-8562 tel. +81-298-61-5635 fax. +81-298-61-2939 The following lines are in a Japanese font 〒305-8562 茨城県つくば市つくば中央東 1-1-1 産業技術総合研究所 近接場光応用工学研究センター 近接場光基礎研究チーム チーム長 ポール・フォンス
Hi Paul, Hmm, sorry about that. And sorry I don't have a system with gfortran 4.2 on it right now. If you're up for trying stuff, I noticed this point when googling for combinations of "Mersenne", "gfortran", "fortran90", and "2**31": -2**31 appears to be an invalid F90 (or F95?) 4byte integer constant, but not an invalid value! It's hard to describe this as anything but weird. You might try: umask = -lmask - 1 or variations on this: basically forcing an evaluation that leads to -2**31 -- perhaps this?? umask = -2**30 umask = 2*umask Again, if you're up for it, these are the sorts of things I would try. Thanks, --Matt
HI Folks, There have been a couple bug reports for the ifeffit-1.2.10_rc1.tar.gz, both for using the new PGPLOT_install script and using gfortran. For Unix-like users, I now have and am using a svn source code repository for ifeffit. To get the latest development version of the code, use: svn checkout http://cars9.uchicago.edu/svn/ifeffit/trunk ifeffit_src and then you can build from that source tree The current version (svn Revision 12) is also available as http://cars9.uchicago.edu/~ifeffit/src/ifeffit-1.2.10_rc2.tar.gz If you're interested in committing to this tree, let me know. Cheers, --Matt
participants (3)
-
Jeff Terry
-
Matt Newville
-
paul fons