ADL Build Breakage with gfortran 4.4.6

Issues related to installation of ADL
Post Reply
pe_meade_dpe
Posts: 13
Joined: Tue Feb 08, 2011 4:39 pm

ADL Build Breakage with gfortran 4.4.6

Post by pe_meade_dpe »

This week we encountered an ADL build breakage on the GRAVITE ICF proc17 ADL installation, and I wanted to share the details with this group just in case anyone else encounters it. On Tuesday, February 28, a cron script running on the system automagically updated our gfortran compiler from version 4.4.4 to 4.4.6, after which the ADL build failed when attempting to compile Fortran. It turns out that the ADL build Fortran compilation command line uses a "-M <directory>" argument to specify where Fortran .mod module files should be put when they are generated by the compiler. In gfortran 4.4.4, this argument was deprecated, but in 4.4.6 it appears to be completely non-supported. The gcc and g++ compilers use a "-M" switch to affect pre-processing, and it appears that the gfortran 4.4.6 compiler attempts to treat "-M <directory>" the same. Unfortunately, the error message that gets generated is useless (it suggests putting -cpp on the compiler command line, which, in fact, causes the compiler to experience a segmentation fault). The fix is to replace the "-M <directory>" command-line argument with the "-J <directory>" command-line argument, but the trick is knowing where in the ADL files to do that. That behavior is actually implemented in file $ADL_HOME/imakeconf/PRO_rules, at line 496. If you edit that file and replace the text "MODDIR_OPTN = -M moddir" with "MODDIR_OPTN = -J moddir", the problem is fixed.

Hopefully, none of you will encounter this issue and will be able to completely disregard this email. I wanted to make you aware of the issue, however, because it can be very difficult to diagnose.
houchin
Posts: 128
Joined: Mon Jan 10, 2011 6:20 am

Re: ADL Build Breakage with gfortran 4.4.6

Post by houchin »

Is "-J" supported on 4.4.4? If so I'd rather be proactive and update the build script on my installations.

That said, I see this as one more reason to have a separately installed instance of the specific version of gcc/gfortran/... called for in the ADL requirements. I've already got gcc 4.3.2 on ADL (/apps/gcc-4.3.2 I think) and have plans to get the updated version required by ADL 4.

Given the ease of compiling older gnu versions on Linux, I don't have the time to mess with ADL to get it to work with the compiler of the day when I can just fix my installation on the older version.
Scott Houchin, Senior Engineering Specialist, The Aerospace Corporation
15049 Conference Center Dr CH3/310, Chantilly, VA 20151; 571-307-3914; scott.houchin@aero.org
kbisanz
Posts: 280
Joined: Wed Jan 05, 2011 7:02 pm
Location: Omaha NE

Re: ADL Build Breakage with gfortran 4.4.6

Post by kbisanz »

I believe -J works in 4.4.4. However, -J doesn't work in 4.3.2 from what I remember.
Kevin Bisanz
Raytheon Company
pe_meade_dpe
Posts: 13
Joined: Tue Feb 08, 2011 4:39 pm

Re: ADL Build Breakage with gfortran 4.4.6

Post by pe_meade_dpe »

I don't KNOW that -J works on 4.4.4, and don't have a time-efficient method to roll back to 4.4.4, but since the 4.4.4 compiler flags -M as deprecated and suggests using -J, I would be surprised if it -J DIDN'T work on -M. But then, I was somewhat surprised that the -M failure on 4.4.6 wasn't flagged in some at-least-remotely-informative way.
Post Reply