modelon-community / fmi-library

C library for importing FMUs
Other
115 stars 34 forks source link

25 - ctest_fmi2_import_default_experiment_test (Failed) #8

Open ghost opened 4 years ago

ghost commented 4 years ago

Hello, everyone!

I've compiled 2.2.3 version of the library on Windows 10 with the help of the latest version of MinGW and MSYS.

mkdir mybuild cd mybuild cmake-gui ..

The only option I changed in configuration was: FMILIB_FMI_PLATFORM I set to win64 instead of win32 source code dir: fmi-library-master binaries dir: fmi-library-master/mybuild

Then I did: make make install make test

During the test I got an error for the default experiment test: Start 25: ctest_fmi2_import_default_experiment_test 25/35 Test #25: ctest_fmi2_import_default_experiment_test ............***Failed 0.10 sec

<...>

The following tests FAILED: 25 - ctest_fmi2_import_default_experiment_test (Failed) Errors while running CTest make: *** [test] Error 8

The library itself was compiled well and is located in the install directory.

Should I worry about this test failure?

Best wishes, I.E.

filip-stenstrom commented 4 years ago

Hi!

The test failure is not expected. For MinGW we're testing with GCC-TDM (GCC 5.1).

  1. There should be more info about the test failure in mybuild/Testing/Temporary/LastTest.log. Could you paste it here?
  2. Does 2.2.0 work as expected?
  3. Do all other tests pass?
ghost commented 4 years ago

Thank you for the swift reply, Filip!

First, I compiled with GNU GCC-9.2.0-2 from the standard MinGW packages. Now, I tried with GCC-TDM 9.2.0, and it worked.

  1. If you're still interested in the log, you can find it in the attachment LastTest.log

  2. I haven't tried it yet because the whole installation process is rather complex. I'm in the middle now.

  3. Yes, all the other tests passed well.

Best wishes, I.E.

.

ghost commented 4 years ago

Ah, no! It's not all, actually.

In the next step, I've tried to install PyFMI-2.5 set FMIL_HOME=D:\FMILibrary-2.2.3 pip install pyfmi

However, I got the following error: fatal error LNK1181: cannot open input file fmilib_shared.lib

I compared win32 binaries from https://jmodelica.org/FMILibrary/FMILibrary-2.0-win32.zip with mine, and it turns out that the files don't have proper names: cd D:\FMILibrary-2.2.3\lib dir libfmilib.a libfmilib_shared.dll libfmilib_shared.dll.a

So I renamed _libfmilibshared.dll to _fmilibshared.dll and _libfmilibshared.dll.a to _libfmilibshared.lib and the installation of PyFMI went smoothly.

At the end, python-3.8.3 doesn't want to load pyfmi module: >>> import pyfmi Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\ProgramData\Anaconda3\lib\site-packages\pyfmi\__init__.py", line 24, in <module> from .fmi import FMUModel, load_fmu, FMUModelME1, FMUModelME2 ImportError: DLL load failed while importing fmi: The specified module could not be found.

No idea how to fix this.

Best wishes, I.E.