#18 closed defect (fixed)
WHIZARD 1.93 compilation error with g95
Reported by: | Juergen Reuter | Owned by: | Juergen Reuter |
---|---|---|---|
Priority: | P3 | Milestone: | |
Component: | omega | Version: | 1.93 |
Severity: | major | Keywords: | g95 compilation of 1.93 |
Cc: |
Description (last modified by )
WHIZARD does not compile with g95, neither in the PURE nor in the IMPURE environment. In the 1st case it chokes over make[1]: Entering directory `/localscratch/reuter/version_tests/1.93_g95/processes-src' g95 -I../include -I/localscratch/reuter/version_tests/1.93_g95/omega-src/bundle/lib -c ee_o.f90 In file ee_o.f90:367
call omega_scatter (amplitude_2, k, rho_in, rho_out, &
1
Error: Host-associated variable 'amplitude_2' is used in a defining context in a PURE procedure at (1) In the 2nd case it chokes over: /afs/physik.uni-freiburg.de/home/reuter/bin/g95 -O -I../lib -c -o testbed.o ../src/testbed.f95 In file ../src/testbed.f95:210
omega_spin_sum_sqme_1 (omega1, p, 1, size (spin_states, dim=2)) &
1
Error: Dummy procedure 'omega1' at (1) must be PURE In file ../src/testbed.f95:213
omega_spin_sum_sqme_1 (omega2, p, 1, size (spin_states, dim=2)) &
1
Error: Dummy procedure 'omega2' at (1) must be PURE make[3]: * [testbed.o] Error 1
Change History (6)
comment:1 Changed 15 years ago by
Description: | modified (diff) |
---|---|
Owner: | changed from jr_reuter, ohl to Juergen Reuter |
Status: | new → assigned |
comment:2 Changed 15 years ago by
Milestone: | → v1.94 |
---|---|
Version: | 2.0.0 → 1.93 |
comment:3 Changed 15 years ago by
comment:4 Changed 15 years ago by
Component: | configure → omega |
---|
I never found the patience to properly track this one down, but this is due to the O'Mega build system not properly stripping the all pure statements. Manually stripping the sources via "sed" allows for successfull compilation.
comment:5 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
This has been settled. It arose from the fact that O'Mega was connecting the cat/cpif transferral from .f95 to .f90 files (for compilers which do not understand .f95 files) with the sed command for removing pure (and possibly elemental) statements from functions and subroutines prior to compilation. As g95 and NAGFOR do understand .f95, the program crashed during impure compilations. I moved everything to .f90 convention (as in WHIZARD 2). Also, a typo in whizard.nw has been corrected which triggered a bug with NAGFOR.
It seems that gfortran (4.5.0) is crashing for the IMPURE environment for the same reason as g95.