gms-bbg / gamess-issues

GAMESS issue tracking
7 stars 1 forks source link

Compilation error with gfortran on Fedora 33 #41

Closed alpacaman3 closed 3 years ago

alpacaman3 commented 3 years ago

GAMESS version September 30, 2020 R2 for 64 bit x86_64 under Linux using GNU compilers. Running the compall script on Fedora 33 with gfortran 10.2 returns the following errors at every compilation step:

gfortran: error: (...) No such file or directory gfortran: fatal error: no input files compilation terminated.

Following the readme.unix file, I have successfully compiled gamess on the same machine with the same distribution before. The compddi script seems to complete just fine.

Please Help with this issue.

Thank you in advance, Maximilian Sliwa

compddilog.txt compalllog.txt installinfo.txt systeminfo.txt

foxtran commented 3 years ago

Lol.

You need to remove the following lines from ./comp script:

set MODULE_DIR = $1:h
if ( $MODULE_DIR != $MODULE ) then
   if ( $?GMS_OTHER_OBJDIR == 0 ) set GMS_OTHER_OBJDIR = $MODULE_DIR/
   set GMS_OTHER_SRCDIR = $MODULE_DIR/
   set GMS_DO_NOT_REMOVE = 1
   set MODULE_F = $MODULE
   # Guess the object file name (to test later whether it will be generated)
   set MODULE_OBJ = `cd $GMS_OTHER_OBJDIR && pwd`/"$MODULE:t:r".o
endif

It is near line #120.

Hope, it will help.

alpacaman3 commented 3 years ago

Your changes to the comp script did indeed work out in my case. Can you give me a hint as to why this is necessary now? What does that part of the code do? Thank you very much!

foxtran commented 3 years ago

According to comments before these lines, it should work when somebody wants to work with ./comp script without code modification (i.e., activation). I do not know who adds it and who uses it. Moreover, I am not sure that it works correctly.

I also use Fedora 33 and I investigated that problem. Let in $1 the value prec is. $MODULE has the same value. $1:h should return only prec, at least, it was in older version of csh/tcsh But the new version, which is in Fedora, returns an empty string that leads to the passing of condition, that breaks module names...

And it really does not work now (not only in Fedora) :-(