MFIX 24.1.1 compilation failure "Invalid register for .seh_savexmm"


MFIX 24.1


MFIX24.1.1


MFIX24.1.1

ld_2024-05-21T215458.076052.zip (1.5 MB)

I installed the MFIX 24.1.1 and 24.1 versions on computer A and B, and when compiling the F file, there are two types of GUI: Figure A and B, in which computer B (24.1) can compile successfully, computer A (24.1.1) compile error, and the error file has been uploaded. Please help me to solve this problem. Computer A is my primary computer and it is difficult to reinstall the system. What should I do if I want to downgrade to 24.1 or reinstall 24.1?

We’ve never seen that message before, although Googling turns up a few things.

Can you please post the outputs of the commands
conda info
and
conda list -n mfix-24.1.1
from both machines? Please post as text, not screenshot (tip: use > to redirect output to a txt file) and attach those files here, indicating clearly which is from which machine.

Thanks,

– Charles

Thank you very much, Mr. Charles.

The following is an error file and information about the computer on which the error occurred.

build.log.txt (14.7 KB)
build.log info.

conda info.txt (1.4 KB)
conda info.

conda list -n mfix-24.1.1 info.txt (17.2 KB)
conda list -n mfix-24.1.1 info

des_thermo_rad.f (5.2 KB)
f file.

I have made several attempts to resolve this issue.

  1. I attempted to install both V23 and 24. V23 compiles fine, but version 24 compiles with errors.

  2. Despite the changes to the operating system , Win10 and Win11, the problem remains unresolved. V23 can be compiled without issues, but V24 has errors.

  3. Installed the hard disk from the computer system that was compiled incorrectly to the computer that could compile successfully, V23 and 24 passed the compilation.

It might be a hardware issue. My assumption is that it is the CPU or GPU card. If V24 utilizes the new CPU instruction set?

My mainframe is a HP-Z4G5 with a W5-3423 CPU and a RTX4000 GPU.

Unfortunately there’s not as much info in those files as I hoped. I wanted to know what CPU type is present on both machines. To get this, we need the output of the command

wmic CPU get NAME

on both machines … I suspect they have different CPUs. Let me know.

You can probably work around the issue as follows:

Activate the mfix-24.1.1 environment, navigate to the directory %CONDA_PREFIX%\share\mfix\src\model, and edit the file CMakeLists.txt


C:\> mamba activate mfix-24.1.1
(mfix-24.1.1) C:\> cd %CONDA_PREFIX%\share\mfix\src\model
(mfix-24.1.1) C:\> notepad CMakeLists.txt

Find the section (line 620) that reads

set_source_files_properties(DGTSV.f PROPERTIES
  COMPILE_OPTIONS "${FFLAGS};-O3;-ggdb;${MARCH}")

and change that to

set_source_files_properties(DGTSV.f PROPERTIES
  COMPILE_OPTIONS "${FFLAGS};-O3;-ggdb")

removing the string ;${MARCH}. If that doesn’t work try removing the -O3;
This will increase portability at the cost of performance.

Please let us know if this fixes the problem!

Thanks,
– Charles

Thank you , sir. Removing the “;${MARCH}”; it works.

The CPU that caused the error is Intel(R) Xeon(R) w5-3423.

The CPU that was successfully compiled is 13th Gen Intel(R) Core™ i9-13900K.

After the compilation was successful, a warning was displayed.

Thanks for the feedback. The Xeon w5-3423 is a fairly new processor, it should work. I’ll report this to the GFortran maintainers. In the meanwhile stick with the MARCH workaround.

The version control warning popup can be safely ignored.

– Charles

sir, in CMakeLists.txt.

line 590-599

if (APPLE)
set (MARCH “”)
else()
if (DEFINED ENV{CONDA_BUILD})
set (MARCH “-march=haswell”)
else()
set (MARCH “-march=native”)
endif()
endif()

I removing line 594-595, No changes were made in other locations.

 set (MARCH "-march=haswell")

else()

Direct calls to local architecture firms. Successful compilation!

That’s odd, because the CONDA_BUILD environment variable should not be set. But I’m glad you have a workaround

Thank you for your prompt response and assistance, and have a great day!