massey |
10/15/2007 03:56PM (Read 8876 times)
|
|
|
Status: offline
Registered: 02/10/2006
Posts: 162
|
I'm trying to install the external package rvsao on my Intel mac.
However, when I go to do the mkpkg there is a program
"writetemp.f" that won't compile:In subroutine `tmpwrf':
writetemp.f:139:
if (.not.(debug .eq. .true.)) goto 130
1 2 3
Use .EQV./.NEQV. instead of .EQ./.NE. at (2) for LOGICAL operands at (1) and (3)
writetemp.f:153:
if (.not.(debug .eq. .true.)) goto 140
1 2 3
Use .EQV./.NEQV. instead of .EQ./.NE. at (2) for LOGICAL operands at (1) and (3)Now, the thing driving me crazy is I can't even FIND writetemp.f.
I mean, it looks like a fortran program based on the extension, but
it is not in the rvsao tree. Any suggestions would be appreciated...thanks,
phil
|
|
|
|
fitz |
10/15/2007 03:56PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
Hi Phil,The writetmp.f file is actually the result of compiling the SPP file rvsao$Makespec/writetmp.x. The errors are in the tmp_write_iraf() procedure on two lines that read:[code:1:03a50ea714]if (debug == TRUE) {[/code:1:03a50ea714]Just change these to "if (debug) {" and all should be right with the world. You'll have to contact SAO to request they make a more permanent fix in future versions, Cheers,
-Mike
|
|
|
|
sirmarcos |
10/15/2007 03:56PM
|
|
|
Status: offline
Registered: 12/05/2005
Posts: 32
|
That's odd. I had compiled rvsao 2.5.0 on my intel mac some time ago without any problems and I just compiled 2.5.9 without incident as well. I could put the binaries up somewhere easily enough if you like.Have you done the usual things, check that irafarch is properly defined, and that you did the mkpkg macintel command before mkpkg update?hmmm, and what version of gcc/xcode are you using? (gcc_select without any arguments should tell you, I was using 4.0.1.)I'm going to update my .pkg installer here in a bit, since I know have the newer binaries compiled.
The re-born Mac IRAF web site:
http://macsingularity.org
|
|
|
|
massey |
10/15/2007 03:56PM
|
|
|
Status: offline
Registered: 02/10/2006
Posts: 162
|
Mike---Thanks. There's an analogus problem in another routine: if (tschop == FALSE && czr > 4.0) {What should this be?thanks,
phil
|
|
|
|
fitz |
10/15/2007 03:56PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
[code:1:4963795148]if (!tschop[i] && czr[i] > 4.0) { [/code:1:4963795148]-Mike
|
|
|
|
sirmarcos |
10/15/2007 03:56PM
|
|
|
Status: offline
Registered: 12/05/2005
Posts: 32
|
I have the some bad lines in the source code (the if DEBUG == YES lines anyway) that I compiled but I don't know why it's compiling for me without any trouble and not Phil. I can only assume compiler differences. Are you unable to compile the rvsao without modifying it first as well Mike?
The re-born Mac IRAF web site:
http://macsingularity.org
|
|
|
|
JCab |
10/15/2007 03:56PM
|
|
|
Status: offline
Registered: 08/02/2006
Posts: 12
|
I had this problem with rvsao, it turned out to be the g77 compiler (its being too finicky about the logicals). You can get around it by adding the "-fugly-logint" flag to your g77 compile statements. I tried to get clever (or stupid, you can decide) and decided to create an 'f77' script that when called (by very old FORTRAN makefiles, which don't know about g77) would issue this g77 command with the proper flag automatically. I posted my script to my blog in July. Its available at at:http://iparrizar.mnstate.edu/~juan/urania/2007/07/19/f77-script-for-macos/I hope this helps. I went with this solution because several of the SAO IRAF packages were giving me problems until I did this.
|
|
|
|
fitz |
10/15/2007 03:56PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
Thanks for the post about the needed compiler flag. FWIW if you use 'g77' all the time and need this flag it can be set for all compilations either in the user environment (e.g. your .cshrc file) using:[code:1:5759f3bc82]
setenv XC_F77 g77
setenv XC_FFLAGS "-fugly-logint"
[/code:1:5759f3bc82]or for problematic packages you can edit the 'mkpkg.inc' file for the package (normally in the pkg$lib directory but in the case of RVSAO it's in the main rvsao$ dir) to add "-/fugly-int" to the 'XFLAGS' definition. The '/' tells the XC compiler to pass the flag thru to the underlying compiler unchanged, but note this sometimes causes problems or warning if say G77 knows the flag but GCC doesn't (i.e. the XFLAGS are passed to all sources being compiled, you'll need the XC_FFLAGS trick to pass only to fortran code).-Mike
|
|
|
|