Build failures with GCC 10

Hi, I am trying to work on maintaining the Debian packages for CalculiX. There have been build failures with our transition to GCC 10, generally of the form e.g.:

ccx 2.17

gfortran -Wall -O2 -c allocation_rfn.f
allocation_rfn.f:115:72:

  115 |      &             "*NODE%")
      |                                                                        1
Error: Missing actual argument for argument ‘_formal_15’ at (1)
make: *** [Makefile:11: allocation_rfn.o] Error 1

ccx 2.16

gfortran -Wall -O2  -c allocation.f
allocation.f:1634:72:

 1634 |      &            "*NODE or *NODE PRINT or *NODE FILE or *NODE OUTPUT%")
      |                                                                        1
Error: Missing actual argument for argument ‘_formal_15’ at (1)
make: *** [Makefile:11: allocation.o] Error 1

The current version of the package in Debian is 2.11, there’s another error of the same form in there too, so my guess is it’s happening in a few different locations.

This issue is described in the porting docs for GCC 10.

P.S. I see there’s now a github.com/calculix, is this official? It would be nice to be able to collaborate on the source that way.

The errors are a know problem and I already reported them directly to @dhondt.
As described in the porting docs, the current fix is to pass -fallow-argument-mismatch to gfortran.

The mentioned github organisation is not official. (At least at the time of writing.)
As far as I am aware, a public repository is a long term goal, but the details are quite tricky. I am sure @dhondt can elaborate on this matter.

Hi,

I removed the problems of non-matching arguments in the fortran routines in version 2.17, so this problem should not occur any more.

I plan to put 2.17 on github, if there is a CalculiX distribution, it was not posted by me.

Best Greetings,

Guido

1 Like

Would be cool. Most code repositories can be converted into git. If you use a system already it would makes sense to converte it to git and not only put 2.17 on github.

Or if all Versions of the source are available it would makes sense to at least make a git with one commit per version.

Once it is on github it is impossible to do any change in history because it would change commit ids.

In FreeCAD this was missed too. Thus 10 years of development are missing in the official FreeCAD git repository on github. Ths well stay forever. We have set up a archive git for the whole history, but all development takes place on the official repo.

I coul help if needed.

cheers bernd

1 Like

Also, it would be good to have a public bug tracker through GitHub issues if possible so that situations like:

The errors are a know problem and I already reported them directly to @\dhondt.

are more easily found by potential drive-by contributors like me.

2 Likes

For future readers, this is how you can modify your CalculiX 2.16 or earlier src/Makefile to compile with GCC 10 (thanks, @fsimonis!):

- FFLAGS = -Wall -O2
+ FFLAGS = -Wall -O2 -fallow-argument-mismatch
1 Like