[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Compiling main module | linking
From: |
Michael Riedl |
Subject: |
Compiling main module | linking |
Date: |
Thu, 11 May 2023 23:02:23 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 |
Gaius,
perhaps I am doing something wrong but I do not get my main programs
finally compiled and linked:
Here, as a sample, the options for the final compilation of the main
module. It takes unrealistic long time for the compilation (M2RHF.mod is
bit longer than 500 lines of code) and then "strange" error messages are
printed to the terminal and the compiler terminated:
user@hostname:~/.../Chemie/scf/quellen.gm2$time make
gm2 -c -fiso -flibs=m2iso,m2pim,m2log -I
/usr/local/home/user/Modula-2/Numerik/quellen.gm2 -I
/usr/local/home/user/Modula-2/InOut/quellen.gm2 -I
/home/user/Modula-2/Numerik/TestRoutinen/LinAlg -I
/home/user/Modula-2/StringHandler -O1 -fscaffold-main M2RHF.mod
/usr/local/home/user/Modula-2/Numerik/quellen.gm2/LMathLib.mod:478:36:
error: In procedure »sinh«: the constructor type is »ChebVek« and this
is different from the constant constant set which has a type »BITSET«
478 | CONST ChebKoeff = ChebVek{ (* Slatex DSINH *)
| ^
/usr/local/home/user/Modula-2/Numerik/quellen.gm2/LMathLib.mod:518:36:
error: In procedure »cosh«: the constructor type is »ChebVek« and this
is different from the constant constructor which has a type »ChebVek«
518 | CONST ChebKoeff = ChebVek{ (* coshm1 *)
| ^
./PeriSys.mod:198:35: error: In procedure »NEdelGas«: the constructor
type is »PrSy« and this is different from the constant constant set
which has a type »GenOptSet«
198 | CONST EdelGasKern = PrSy{ 0 BY 2, (* H - He : (--) *)
| ^
./PeriSys.mod:198:44: error: cannot mix construction of a array with a set
198 | CONST EdelGasKern = PrSy{ 0 BY 2, (* H - He : (--) *)
| ^
Makefile:37: recipe for target 'M2RHF.o' failed
make: *** [M2RHF.o] Error 1
real 6m23,878s
user 6m13,243s
sys 0m0,958s
user@hostname:~/.../Chemie/scf/quellen.gm2$
--------
E.g. the module PeriSys.mod does compile without any issue
user@hostname:~/.../Chemie/scf/quellen.gm2$make PeriSys.o
gm2 -c -fiso -flibs=m2iso,m2pim,m2log -I
/usr/local/home/user/Modula-2/Numerik/quellen.gm2 -I
/usr/local/home/user/Modula-2/InOut/quellen.gm2 -I
/home/user/Modula-2/Numerik/TestRoutinen/LinAlg -I
/home/user/Modula-2/StringHandler -O1 PeriSys.mod
user@hostname:~/.../Chemie/scf/quellen.gm2$ls PeriSys.o
PeriSys.o
user@hostname:~/.../Chemie/scf/quellen.gm2$
as does the module LMathLib.mod. Seems that the compiler re-compiles all
modules involved in the project and has some internal buffer overflow or
the like (all modules involved have approx 80.000 lines of code (not
counting the Fortran parts) - bit "too much" to do all at the same
time). And this although I did NOT use "-fm2-whole-program" :-)
Not splitting the compilation and linking of the main module makes no
difference - same "error" messages and no executable.
Linking the smaller programs in the same way does not show this effect -
but they are all in the range of 2000 - 10.000 lines of code and of
lower complexity.
Any idea ?
Michael
- Compiling main module | linking,
Michael Riedl <=