sandialabs / seacas

The Sandia Engineering Analysis Code Access System (SEACAS) is a suite of preprocessing, postprocessing, translation, and utility applications supporting finite element analysis software using the Exodus database file format.
Other
134 stars 79 forks source link

seacas and mingw #238

Closed 3rav closed 2 years ago

3rav commented 3 years ago

Hi, I try to build whole seacas in mingw64 (msys) but I have thi error:

  1. If I use MSYS Makefile generator:
    [ 40%] Building C object packages/seacas/libraries/supes/CMakeFiles/supes.dir/ext_lib/exmemy.c.obj
    C:/msys64/usr/local/pkg_seacas/reczne/seacas-2021-05-12/packages/seacas/libraries/supes/ext_lib/exmemy.c:102:63: error: size of unnamed array is negative
    102 | #define CT_ASSERT(e) extern char(*ct_assert(void))[sizeof(char[1 - 2 * !(e)])]
      |                                                               ^
    C:/msys64/usr/local/pkg_seacas/reczne/seacas-2021-05-12/packages/seacas/libraries/supes/ext_lib/exmemy.c:112:1: note: in expansion of macro 'CT_ASSERT'
    112 | CT_ASSERT(sizeof(FTNINT) == sizeof(void *));
      | ^~~~~~~~~
    make[2]: *** [packages/seacas/libraries/supes/CMakeFiles/supes.dir/build.make:76: packages/seacas/libraries/supes/CMakeFiles/supes.dir/ext_lib/exmemy.c.obj] Error 1
    make[1]: *** [CMakeFiles/Makefile2:3306: packages/seacas/libraries/supes/CMakeFiles/supes.dir/all] Error 2
    make[1]: *** Waiting for unfinished jobs....
  2. If I use Ninja generator:
    [1330/3097] Linking CXX shared library packages\seacas\libraries\ioss\src\init\libIonit.dll
    FAILED: packages/seacas/libraries/ioss/src/init/libIonit.dll packages/seacas/libraries/ioss/src/init/libIonit.dll.a
    cmd.exe /C "cd . && C:\msys64\mingw64\bin\g++.exe -Wall -Wunused -pedantic -O3 -DNDEBUG   -shared -o packages\seacas\libraries\ioss\src\init\libIonit.dll -Wl,--out-implib,packages\seacas\libraries\ioss\src\init\libIonit.dll.a -Wl,--major-image-version,2,--minor-image-version,0 packages/seacas/libraries/ioss/src/init/CMakeFiles/Ionit.dir/Ionit_Initializer.C.obj  packages/seacas/libraries/ioss/src/exodus/libIoex.dll.a  packages/seacas/libraries/ioss/src/generated/libIogn.dll.a  packages/seacas/libraries/ioss/src/gen_struc/libIogs.dll.a  packages/seacas/libraries/ioss/src/heartbeat/libIohb.dll.a  packages/seacas/libraries/ioss/src/transform/libIotr.dll.a  packages/seacas/libraries/ioss/src/libIoss.dll.a  packages/seacas/libraries/exodus/libexodus.dll.a  C:/msys64/mingw64/lib/libnetcdf.dll.a  C:/msys64/mingw64/lib/libhdf5_hl.dll.a  C:/msys64/mingw64/lib/libhdf5.dll.a  packages/zoltan/src/libzoltan.dll.a  -lm  packages/zoltan/siMPI/pyMPI/siMPI/libsimpi.dll.a  C:/msys64/mingw64/lib/libdl.a  C:/msys64/mingw64/lib/libparmetis.dll.a  C:/msys64/mingw64/lib/libmetis.dll.a  C:/msys64/mingw64/lib/libgtest.dll.a  -lpsapi  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
    C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: packages/seacas/libraries/ioss/src/init/CMakeFiles/Ionit.dir/Ionit_Initializer.C.obj:Ionit_Initializer.C:(.text+0x66): undefined reference to `Iovs_cgns::IOFactory::factory()'
    C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: packages/seacas/libraries/ioss/src/init/CMakeFiles/Ionit.dir/Ionit_Initializer.C.obj:Ionit_Initializer.C:(.text+0x6b): undefined reference to `Iovs_exodus::IOFactory::factory()'
    C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: packages/seacas/libraries/ioss/src/init/CMakeFiles/Ionit.dir/Ionit_Initializer.C.obj:Ionit_Initializer.C:(.text+0xf1): undefined reference to `Iovs_cgns::IOFactory::factory()'
    C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: packages/seacas/libraries/ioss/src/init/CMakeFiles/Ionit.dir/Ionit_Initializer.C.obj:Ionit_Initializer.C:(.text+0xf6): undefined reference to `Iovs_exodus::IOFactory::factory()'
    collect2.exe: error: ld returned 1 exit status
gsjaardema commented 3 years ago

I think that the ninja issue is that there are two different symbols being checked to disable the use of the Iovs library on a windows system. In the CMakeLists.txt file in packages/seacas/libraries/ioss/src/init/, it disables the dependency on the Iovs library with IF (NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows"), but in Ionit_Initializer.C, it uses #ifndef _MSC_VER.

In your build, these are being set to different values, so one is being activated and not the other one.

Can you change the CMakeLists.txt test to:

IF (NOT MSVC_VERSION)

And see if that works?

The CT_ASSERT error is stating that the size of your fortran integer is not the same as the size of a void pointer. SEACAS relies on some assumptions that the fortran integers and reals are 8-byte values. There are some compiler flags in packages/seacas/cmake/FortranSettings.cmake that probably need a setting for the windows compiler.

3rav commented 3 years ago

Hi,

Unchanged, error still exists:

[ 40%] Building C object packages/zoltan/siMPI/pyMPI/siMPI/CMakeFiles/simpi.dir/MPI_Group_range_incl.c.obj
C:/msys64/usr/local/pkg_seacas/reczne/seacas-2021-05-12/packages/seacas/libraries/supes/ext_lib/exmemy.c:102:63: error: size of unnamed array is negative
  102 | #define CT_ASSERT(e) extern char(*ct_assert(void))[sizeof(char[1 - 2 * !(e)])]
      |                                                               ^
C:/msys64/usr/local/pkg_seacas/reczne/seacas-2021-05-12/packages/seacas/libraries/supes/ext_lib/exmemy.c:112:1: note: in expansion of macro 'CT_ASSERT'
  112 | CT_ASSERT(sizeof(FTNINT) == sizeof(void *));
      | ^~~~~~~~~
make[2]: *** [packages/seacas/libraries/supes/CMakeFiles/supes.dir/build.make:76: packages/seacas/libraries/supes/CMakeFiles/supes.dir/ext_lib/exmemy.c.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:3306: packages/seacas/libraries/supes/CMakeFiles/supes.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 40%] Building C object packages/seacas/libraries/exodus/CMakeFiles/exodus_static.dir/src/deprecated/ex_put_elem_attr.c.obj

Compilation reaches 53% (for flags: ../cmake-config -DTPL_ENABLE_X11=OFF -DSEACASProj_ENABLE_TESTS=OFF)

[ 52%] Building C object packages/zoltan/siMPI/pyMPI/siMPI/CMakeFiles/simpi.dir/PMPI_Wtick.c.obj
[ 53%] Linking C shared library libsimpi.dll
[ 53%] Built target simpi
make: *** [Makefile:166: all] Error 2
gsjaardema commented 3 years ago

Can you show me what changes you made?

3rav commented 3 years ago

Like this change

gsjaardema commented 3 years ago

The CMakeLists.txt change should only affect the Ninja generator.

Do you need the fortran seacas executables, or just the C-API for exodus and the IOSS libraries? You could try building with -DSEACASProj_ENABLE_Fortran=NO and see if that gives you what you need.

3rav commented 3 years ago

With this flag, I have this error:

FAILED: packages/seacas/libraries/ioss/src/init/libIonit.dll packages/seacas/libraries/ioss/src/init/libIonit.dll.a

and

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lIovs
collect2.exe: error: ld returned 1 exit status

My main goal is to build full seacas package for mingw

gsjaardema commented 3 years ago

The current repository should build the Iovs library correctly now.

I haven't done anything about the fortran issue yet...

3rav commented 3 years ago

Hi,

Such an error occurred at the very end of the compilation:

[1634/1771] Building C object packages/seacas/libraries/chaco/CMakeFiles/chaco.dir/util/seconds.c.obj
FAILED: packages/seacas/libraries/chaco/CMakeFiles/chaco.dir/util/seconds.c.obj
C:\msys64\mingw64\bin\gcc.exe -Dchaco_EXPORTS -IC:/msys64/usr/local/pkg_seacas/seacas-master/build -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/chaco/main -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/chaco/util -Wall -Wunused -pedantic -std=c11 -O3 -DNDEBUG -MD -MT packages/seacas/libraries/chaco/CMakeFiles/chaco.dir/util/seconds.c.obj -MF packages\seacas\libraries\chaco\CMakeFiles\chaco.dir\util\seconds.c.obj.d -o packages/seacas/libraries/chaco/CMakeFiles/chaco.dir/util/seconds.c.obj -c C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/chaco/util/seconds.c
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/chaco/util/seconds.c:14:10: fatal error: sys/resource.h: No such file or directory
   14 | #include <sys/resource.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
[1635/1771] Building C object packages/seacas/libraries/chaco/CMakeFiles/chaco.dir/util/normalize.c.obj
[1636/1771] Building C object packages/seacas/libraries/chaco/CMakeFiles/chaco.dir/util/randomize.c.obj
[1637/1771] Building C object packages/seacas/libraries/chaco/CMakeFiles/chaco.dir/util/smalloc.c.obj
[1638/1771] Building CXX object packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_utils.dir/Utst_utils.C.obj
[1639/1771] Building CXX object packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_map.dir/Utst_map.C.obj
ninja: build stopped: subcommand failed.
make: *** [C:\msys64\usr\local\pkg_seacas\seacas-master\cmake\tribits\core\utils\NinjaMakefileCommon.make:20: all] Error 1
gsjaardema commented 3 years ago

OK, I think I fixed this. Hopefully close to the last one...

3rav commented 3 years ago

Hi,

The msys2/mingw recommend to use Ninja generator, for ninja I have now this error:

FAILED: packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_getline_int.c.obj
C:\msys64\mingw64\bin\gcc.exe -DEXODUS_SUPPORT -Daprepro_lib_EXPORTS -IC:/msys64/usr/local/pkg_seacas/recznie3/seacas-master/build -IC:/msys64/usr/local/pkg_seacas/recznie3/seacas-master/packages/seacas/libraries/aprepro_lib -IC:/msys64/usr/local/pkg_seacas/recznie3/seacas-master/packages/seacas/libraries/exodus/include -IC:/msys64/usr/local/pkg_seacas/recznie3/seacas-master/build/packages/seacas/libraries/exodus -Wall -Wunused -pedantic -std=c11 -O3 -DNDEBUG -MD -MT packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_getline_int.c.obj -MF packages\seacas\libraries\aprepro_lib\CMakeFiles\aprepro_lib.dir\apr_getline_int.c.obj.d -o packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_getline_int.c.obj -c C:/msys64/usr/local/pkg_seacas/recznie3/seacas-master/packages/seacas/libraries/aprepro_lib/apr_getline_int.c
C:/msys64/usr/local/pkg_seacas/recznie3/seacas-master/packages/seacas/libraries/aprepro_lib/apr_getline_int.c:71:10: fatal error: pwd.h: No such file or directory
   71 | #include <pwd.h>
      |          ^~~~~~~
compilation terminated.

but for MSYS Makefiles, this:

[ 54%] Building C object packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/add_to_log.c.obj
C:/msys64/usr/local/pkg_seacas/recznie3/seacas-master/packages/seacas/libraries/suplib_c/add_to_log.c:12:10: fatal error: sys/times.h: No such file or directory
   12 | #include <sys/times.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/build.make:76: packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/add_to_log.c.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:2879: packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

I also have to change the line 19 in cmake-config: to INSTALL_PATH="/mingw64"

gsjaardema commented 3 years ago

OK, sorry for all this back and forth... I think I have fixed the latest issues.

3rav commented 3 years ago

Hi,

New error:

[1651/1771] Building CXX object packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_util.cc.obj
FAILED: packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_util.cc.obj
C:\msys64\mingw64\bin\g++.exe -DEXODUS_SUPPORT -Daprepro_lib_EXPORTS -IC:/msys64/usr/local/pkg_seacas/seacas-master/build -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/exodus/include -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/exodus -Wall -Wunused -pedantic -O3 -DNDEBUG -std=c++14 -MD -MT packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_util.cc.obj -MF packages\seacas\libraries\aprepro_lib\CMakeFiles\aprepro_lib.dir\apr_util.cc.obj.d -o packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_util.cc.obj -c C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/apr_util.cc
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/apr_util.cc:25: warning: "NOMINMAX" redefined
   25 | #define NOMINMAX
      |
In file included from C:/msys64/mingw64/include/c++/10.3.0/x86_64-w64-mingw32/bits/c++config.h:522,
                 from C:/msys64/mingw64/include/c++/10.3.0/cstdlib:41,
                 from C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/aprepro.h:14,
                 from C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/apr_util.cc:7:
C:/msys64/mingw64/include/c++/10.3.0/x86_64-w64-mingw32/bits/os_defines.h:45: note: this is the location of the previous definition
   45 | #define NOMINMAX 1
      |
In file included from C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/apr_util.cc:7:
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/apr_util.cc: In function 'void SEAMS::math_error(const SEAMS::Aprepro&, const char*)':
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/aprepro.h:24:26: error: 'MATH_ERRNO' was not declared in this scope
   24 | #define math_errhandling MATH_ERRNO
      |                          ^~~~~~~~~~
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/apr_util.cc:174:9: note: in expansion of macro 'math_errhandling'
  174 |     if (math_errhandling & MATH_ERRNO) {
      |         ^~~~~~~~~~~~~~~~
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/aprepro_lib/apr_util.cc:189:33: error: 'MATH_ERREXCEPT' was not declared in this scope
  189 |     else if (math_errhandling & MATH_ERREXCEPT) {
      |                                 ^~~~~~~~~~~~~~
[1652/1771] Building CXX object packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_aprepro.cc.obj
[1653/1771] Building CXX object packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_utils.dir/Utst_utils.C.obj
[1654/1771] Building CXX object packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_map.dir/Utst_map.C.obj
ninja: build stopped: subcommand failed.
make: *** [C:\msys64\usr\local\pkg_seacas\seacas-master\cmake\tribits\core\utils\NinjaMakefileCommon.make:20: all] Error 1
gsjaardema commented 3 years ago

Can you send me the entire output from your build. I need to figure out how to reproduce it without doing the back and forth that we have been doing.
There is an appveyor.com build that I do on every commit that uses Visual Studio 2019 and that builds all of the non-fortran portions of SEACAS. I need to see if I can modify that to use the same compilers/settings that you are using...

3rav commented 3 years ago

My bash output bash_output.txt

3rav commented 3 years ago

Any progress?

gsjaardema commented 3 years ago

Sorry no, I have been unable to reproduce the issue locally, so it is difficult to know how to fix it...

3rav commented 3 years ago

I am sending the patch file with the changes I made to complete the build, the changes made are not a solution, they are meant to show the problem during compilation.

try-fix.patch.txt

[1646/1659] Linking CXX executable packages\seacas\applications\nem_slice\nem_slice.exe
FAILED: packages/seacas/applications/nem_slice/nem_slice.exe
cmd.exe /C "cd . && C:\msys64\mingw64\bin\g++.exe -Wall -Wunused -pedantic -O3 -DNDEBUG  packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_allo.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_elem.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_err.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_exo_util.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_graph.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_groups.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_inp.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_loadbal.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_main.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_output.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_time.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_util.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/fix_column_partitions.C.obj -o packages\seacas\applications\nem_slice\nem_slice.exe -Wl,--out-implib,packages\seacas\applications\nem_slice\libnem_slice.dll.a -Wl,--major-image-version,0,--minor-image-version,0  packages/seacas/libraries/suplib_cpp/libsuplib_cpp.dll.a  packages/seacas/libraries/suplib_c/libsuplib_c.dll.a  packages/seacas/libraries/chaco/libchaco.dll.a  packages/seacas/libraries/exodus/libexodus.dll.a  packages/zoltan/src/libzoltan.dll.a  packages/zoltan/siMPI/pyMPI/siMPI/libsimpi.dll.a  C:/msys64/mingw64/lib/libnetcdf.dll.a  C:/msys64/mingw64/lib/libhdf5.dll.a  C:/msys64/mingw64/lib/libhdf5_hl.dll.a  C:/msys64/mingw64/lib/libparmetis.dll.a  C:/msys64/mingw64/lib/libmetis.dll.a  -lm  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-getopt.o): in function `getopt':
C:/_/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/getopt.c:524: multiple definition of `getopt'; packages/seacas/libraries/suplib_c/libsuplib_c.dll.a(d000006.o):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
[1647/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/pe_input.C.obj
[1648/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/pe_util.C.obj
[1649/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/rf_allo.C.obj
[1650/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/rf_mesh_param.C.obj
[1651/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/sort_utils.C.obj
[1652/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/rf_util.C.obj
[1653/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/ps_restart.C.obj
[1654/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/pe_write_parExo_info.C.obj
[1655/1659] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/el_exoII_io.C.obj
ninja: build stopped: subcommand failed.
make: *** [C:\msys64\usr\local\pkg_seacas\recznie4\seacas-master\cmake\tribits\core\utils\NinjaMakefileCommon.make:20: all] Error 1
gsjaardema commented 3 years ago

OK, i may not have fixed anything with the last set of commits, but I've at least tried to consolidate some of the system-dependent code into 2 files instead of spread over many files.

I still need to look at the getopt issue above. I will probably just rename my getopt to "my_getopt" or something to avoid a potential conflict with a maybe-system-supplied getopt.

gsjaardema commented 3 years ago

I think the getopt issue may be a mismatch between the define in the nem_spread and nem_slice source code and the define in the suplib_c subdirectory where it decides to add the XGetopt.c routine (which provides getopt) to the suplib_c library.

If you still get the multiple definition of getopt issue, try removing the XGetopt.c line from seacas/libraries/suplib_c/CMakeLists.txt. If that fixes the issue, then I need to fix the current IF that is deciding whether to include that file or not...

3rav commented 3 years ago

HI,

After this changes: https://github.com/gsjaardema/seacas/pull/248 and "removing the XGetopt.c line from seacas/libraries/suplib_c/CMakeLists.txt", I have this error (lost one):

[1773/1777] Building CXX object packages/seacas/applications/slice/CMakeFiles/slice.dir/Slice.C.obj
FAILED: packages/seacas/applications/slice/CMakeFiles/slice.dir/Slice.C.obj
C:\msys64\mingw64\bin\g++.exe -DUSE_METIS -IC:/msys64/usr/local/pkg_seacas/seacas-master/build -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/applications/slice -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/suplib_cpp -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/suplib_c -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/zoltan/src -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/include -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/all -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/coloring -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/graph -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/ha -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/hier -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/hsfc -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/lb -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/matrix -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/order -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/par -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/params -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/tpls -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/phg -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/rcb -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/reftree -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/simple -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/timer -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/Utilities/Communication -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/Utilities/DDirectory -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/Utilities/Timer -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/Utilities/shared -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/src/zz -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/zoltan/siMPI/pyMPI/siMPI -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/private_copy_fmt -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/exodus/include -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/exodus -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/main -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/main/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/main/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/init -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/init/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/init/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/transform -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/transform/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/transform/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/heartbeat -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/heartbeat/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/heartbeat/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/gen_struc -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/gen_struc/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/gen_struc/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/generated -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/generated/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/generated/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/visualization -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/visualization/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/visualization/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/exodus -IC:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/ioss/src/exodus/.. -IC:/msys64/usr/local/pkg_seacas/seacas-master/build/packages/seacas/libraries/ioss/src/exodus/.. -Wall -Wunused -pedantic -O3 -DNDEBUG -std=c++14 -MD -MT packages/seacas/applications/slice/CMakeFiles/slice.dir/Slice.C.obj -MF packages\seacas\applications\slice\CMakeFiles\slice.dir\Slice.C.obj.d -o packages/seacas/applications/slice/CMakeFiles/slice.dir/Slice.C.obj -c C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/applications/slice/Slice.C
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/applications/slice/Slice.C: In function 'int main(int, char**)':
C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/applications/slice/Slice.C:221:35: error: too many arguments to function 'int mkdir(const char*)'
  221 |       if (mkdir(path.c_str(), 0777) == -1) {
      |                                   ^
In file included from C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/suplib_cpp/fmt/format-inl.h:26,
                 from C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/libraries/suplib_cpp/fmt/format.h:2825,
                 from C:/msys64/usr/local/pkg_seacas/seacas-master/packages/seacas/applications/slice/Slice.C:20:
C:/msys64/mingw64/x86_64-w64-mingw32/include/io.h:282:15: note: declared here
  282 |   int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
      |               ^~~~~
[1774/1777] Building CXX object packages/seacas/applications/slice/CMakeFiles/slice.dir/SL_SystemInterface.C.obj
[1775/1777] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/pe_write_parExo_info.C.obj
ninja: build stopped: subcommand failed.
make: *** [C:\msys64\usr\local\pkg_seacas\seacas-master\cmake\tribits\core\utils\NinjaMakefileCommon.make:20: all] Error 1

for: INSTALL_PATH=/mingw64 ../cmake-config -GNinja -DSEACASProj_ENABLE_Fortran=OFF -DTPL_ENABLE_X11=OFF

gsjaardema commented 3 years ago

I've changed that code to call a function in Ioss::FileInfo that does the same thing and has the windows/linux ifdefs. Hopefully that will fix this issue and we will see if it makes it all the way...

3rav commented 3 years ago

Only 'getopt' error remains:

[1765/1778] Linking CXX executable packages\seacas\applications\nem_slice\nem_slice.exe
FAILED: packages/seacas/applications/nem_slice/nem_slice.exe
cmd.exe /C "cd . && C:\msys64\mingw64\bin\g++.exe -Wall -Wunused -pedantic -O3 -DNDEBUG  packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_allo.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_elem.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_err.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_exo_util.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_graph.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_groups.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_inp.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_loadbal.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_main.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_output.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_time.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/elb_util.C.obj packages/seacas/applications/nem_slice/CMakeFiles/nem_slice.dir/fix_column_partitions.C.obj -o packages\seacas\applications\nem_slice\nem_slice.exe -Wl,--out-implib,packages\seacas\applications\nem_slice\libnem_slice.dll.a -Wl,--major-image-version,0,--minor-image-version,0  packages/seacas/libraries/suplib_cpp/libsuplib_cpp.dll.a  packages/seacas/libraries/suplib_c/libsuplib_c.dll.a  packages/seacas/libraries/chaco/libchaco.dll.a  packages/seacas/libraries/exodus/libexodus.dll.a  packages/zoltan/src/libzoltan.dll.a  packages/zoltan/siMPI/pyMPI/siMPI/libsimpi.dll.a  C:/msys64/mingw64/lib/libnetcdf.dll.a  C:/msys64/mingw64/lib/libhdf5.dll.a  C:/msys64/mingw64/lib/libhdf5_hl.dll.a  C:/msys64/mingw64/lib/libparmetis.dll.a  C:/msys64/mingw64/lib/libmetis.dll.a  -lm  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-getopt.o): in function `getopt':
C:/_/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/getopt.c:524: multiple definition of `getopt'; packages/seacas/libraries/suplib_c/libsuplib_c.dll.a(d000006.o):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
[1766/1778] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/pe_util.C.obj
[1767/1778] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/pe_input.C.obj
[1768/1778] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/ps_restart.C.obj
[1769/1778] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/pe_load_lb_info.C.obj
[1770/1778] Building CXX object packages/seacas/applications/nem_spread/CMakeFiles/nem_spread.dir/el_exoII_io.C.obj
ninja: build stopped: subcommand failed.
make: *** [C:\msys64\usr\local\pkg_seacas\seacas-master\cmake\tribits\core\utils\NinjaMakefileCommon.make:20: all] Error 1
gsjaardema commented 3 years ago

LOoking better. I think I have the getopt issue fixed now also. Let me know if there are still any issues...

3rav commented 3 years ago

With this command, there are no errors: INSTALL_PATH=/mingw64 ../cmake-config -GNinja -DSEACASProj_ENABLE_Fortran=OFF -DTPL_ENABLE_X11=OFF

Other problems:

  1. CGNS:
    CMake Error at cmake/tribits/common_tpls/find_modules/FindCGNS.cmake:255 (message):
    CGNS Scoping *Not* Enabled as Required.  Rebuild CGNS library with
    CGNS_ENABLE_SCOPING defined.
  2. Fortran=ON
    [1271/3288] Building Fortran preprocessed packages/seacas/libraries/exoIIv2for32/test/CMakeFiles/f32_testrdd.dir/testrdd.f-pp.f
    FAILED: packages/seacas/libraries/exoIIv2for32/test/CMakeFiles/f32_testrdd.dir/testrdd.f-pp.f packages/seacas/libraries/exoIIv2for32/test/CMakeFiles/f32_testrdd.dir/testrdd.f.obj.ddi
    cmd.exe /C "C:\msys64\mingw64\bin\gfortran.exe -cpp -DADDC_ -DBuild64 -DDEFAULT_REAL_INT -DUSING_CMAKE -IC:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/build -IC:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/packages/seacas/libraries/exoIIv2for32/include -IC:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/packages/seacas/libraries/exoIIv2for32/test -IC:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/packages/seacas/libraries/exoIIv2for32 -IC:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/packages/seacas/libraries/exodus/include -IC:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/build/packages/seacas/libraries/exodus -IC:/msys64/mingw64/include -fcray-pointer -fdefault-real-8 -fdefault-integer-8 -fno-range-check -O3 -Jpackages\seacas\libraries\exoIIv2for32\test -E C:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/packages/seacas/libraries/exoIIv2for32/test/testrdd.f -o packages/seacas/libraries/exoIIv2for32/test/CMakeFiles/f32_testrdd.dir/testrdd.f-pp.f && C:\msys64\mingw64\bin\cmake.exe -E cmake_ninja_depends --tdi=packages\seacas\libraries\exoIIv2for32\test\CMakeFiles\f32_testrdd.dir\FortranDependInfo.json --lang=Fortran --pp=packages/seacas/libraries/exoIIv2for32/test/CMakeFiles/f32_testrdd.dir/testrdd.f-pp.f --dep=packages\seacas\libraries\exoIIv2for32\test\CMakeFiles\f32_testrdd.dir\testrdd.f-pp.f.d --obj=packages\seacas\libraries\exoIIv2for32\test\CMakeFiles\f32_testrdd.dir\testrdd.f.obj --ddi=packages\seacas\libraries\exoIIv2for32\test\CMakeFiles\f32_testrdd.dir\testrdd.f.obj.ddi"
    f951.exe: Fatal Error: 'C:/msys64/usr/local/pkg_seacas/recznie4/seacas-master/packages/seacas/libraries/exoIIv2for32/include' is not a directory
    compilation terminated.
3rav commented 3 years ago

My questions: 1.Will there be a new official release now? 2.Will the trilinos also be updated in the near future?

I try used: -DSEACAS_SOURCE_DIR_OVERRIDE:STRING

***
*** NOTE: User has set Trilinos_ENABLE_SEACAS=ON but the
*** package SEACAS is not supported on this platform type 'Windows'!
***
gsjaardema commented 3 years ago

The FORTRAN=ON issue seems related to symbolic links not existing on the Windows platform. The packages/seacas/libraries/exoIIv2for32/include directory is a symbolic link over to packages/seacas/libraries/exodus_for/include.

I have eliminated the symbolic link and added an explicit include of the exodus_for/include instead which should hopefully fix this issue.

The CGNS issue can be solved by installing your own copy of the CGNS library which is built with the CGNS_ENABLE_SCOPING=YES defined during the build. It is possible to modify SEACAS to build without the CGNS_ENABLE_SCOPING defined, but it would require modifying all the uses of CGNS enums in the Ioss library code... Would be easier (at least from my side) if the CGNS library could be installed with the scoping enabled.

gsjaardema commented 3 years ago

I will do a SEACAS release later this week and also snapshot the recent changes into Trilinos and enable building on windows in Trilinos.

gsjaardema commented 3 years ago

There should be a new SEACAS tag v2021-09-28 current as of today (after the fortran exoIIv2for32 include change). I've also snapshotted that same code into Trilinos along with removing the line that disabled the windows build. That should hopefully be merged in the next day or so.

3rav commented 3 years ago

Hi, With flag: -DBUILD_SHARED_LIBS=OFF, the following error occurs:

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: packages/seacas/libraries/exodus/libexodus.a(ex_conv.c.obj):ex_conv.c:(.text+0xa50): multiple definition of `ex_set_option'; packages/seacas/libraries/exodus/libexodus.dll.a(d000359.o):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
[1342/1684] Linking CXX executable packages\seacas\libraries\ioss\src\main\io_shell.exe
FAILED: packages/seacas/libraries/ioss/src/main/io_shell.exe
cmd.exe /C "cd . && C:\msys64\mingw64\bin\g++.exe -Wall -Wunused -pedantic -O3 -DNDEBUG -pipe packages/seacas/libraries/ioss/src/main/CMakeFiles/io_shell.dir/io_shell.C.obj packages/seacas/libraries/ioss/src/main/CMakeFiles/io_shell.dir/shell_interface.C.obj -o packages\seacas\libraries\ioss\src\main\io_shell.exe -Wl,--out-implib,packages\seacas\libraries\ioss\src\main\libio_shell.dll.a -Wl,--major-image-version,0,--minor-image-version,0  packages/seacas/libraries/ioss/src/main/libio_info_lib.a  packages/seacas/libraries/ioss/src/init/libIonit.a  packages/seacas/libraries/ioss/src/transform/libIotr.a  packages/seacas/libraries/ioss/src/heartbeat/libIohb.a  packages/seacas/libraries/ioss/src/gen_struc/libIogs.a  packages/seacas/libraries/ioss/src/generated/libIogn.a  packages/seacas/libraries/ioss/src/visualization/libIovs.a  packages/seacas/libraries/ioss/src/exodus/libIoex.a  packages/seacas/libraries/ioss/src/libIoss.a  liblast_lib.a  packages/seacas/libraries/exodus/libexodus.dll.a  packages/seacas/libraries/exodus/libexodus.a  C:/msys64/mingw64/lib/libnetcdf.dll.a  C:/msys64/mingw64/lib/libhdf5.dll.a  C:/msys64/mingw64/lib/libhdf5_hl.dll.a  packages/zoltan/src/libzoltan.a  -lm  packages/zoltan/siMPI/pyMPI/siMPI/libsimpi.a  C:/msys64/mingw64/lib/libdl.a  C:/msys64/mingw64/lib/libparmetis.dll.a  C:/msys64/mingw64/lib/libmetis.dll.a  -lpsapi  -lpthread  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: packages/seacas/libraries/exodus/libexodus.a(ex_err.c.obj):ex_err.c:(.text+0x350): multiple definition of `ex_err_fn'; packages/seacas/libraries/exodus/libexodus.dll.a(d000068.o):(.text+0x0): first defined here
gsjaardema commented 3 years ago

It looks like it is linking both the shared and static exodus libraries which is causing the duplicate symbol. These packages/seacas/libraries/exodus/libexodus.dll.a packages/seacas/libraries/exodus/libexodus.a are both shown in the link line above.

I know that the SEACAS build system typically builds both libraries just so users can have the option of linking to either the dynamic or static version, but I've never seen both of them end up in the same link line... I will see if I can figure out why both are present. Maybe on windows I need to only build one copy (static or dynamic) instead of both like I due on Mac and Linux

3rav commented 3 years ago

Hi,

Error for MINGW64: error_win32

gsjaardema commented 3 years ago

I've cleaned out a lot of unused code from the getline_int.c routines (there are 3 copies for various reasons). Maybe this will let us get further...

gsjaardema commented 3 years ago

I think the duplicate exodus lib in the link line should also be fixed now...

3rav commented 3 years ago

Now i have this:

[1397/1798] Building CXX object packages/seacas/libraries/ioss/src/visualization/CMakeFiles/Iovs.dir/utils/Iovs_Utils.C.obj
FAILED: packages/seacas/libraries/ioss/src/visualization/CMakeFiles/Iovs.dir/utils/Iovs_Utils.C.obj
C:\msys64\mingw64\bin\g++.exe -DIOSS_DLOPEN_ENABLED -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/build-x86_64-w64-mingw32-static -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/build-x86_64-w64-mingw32-static/packages/seacas/libraries/ioss/src -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/build-x86_64-w64-mingw32-static/packages/zoltan/src -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/include -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/all -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/coloring -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/graph -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/ha -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/hier -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/hsfc -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/lb -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/matrix -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/order -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/par -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/params -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/tpls -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/phg -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/rcb -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/reftree -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/simple -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/timer -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/Utilities/Communication -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/Utilities/DDirectory -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/Utilities/Timer -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/Utilities/shared -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/src/zz -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/zoltan/siMPI/pyMPI/siMPI -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src/private_copy_fmt -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/exodus/include -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/build-x86_64-w64-mingw32-static/packages/seacas/libraries/exodus -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src/visualization -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src/visualization/.. -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/build-x86_64-w64-mingw32-static/packages/seacas/libraries/ioss/src/visualization/.. -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src/exodus -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src/exodus/.. -IC:/msys64/usr/local/pkg_seacas/src/seacas-master/build-x86_64-w64-mingw32-static/packages/seacas/libraries/ioss/src/exodus/.. -Wall -Wunused -pedantic -O3 -DNDEBUG -std=c++14 -MD -MT packages/seacas/libraries/ioss/src/visualization/CMakeFiles/Iovs.dir/utils/Iovs_Utils.C.obj -MF packages\seacas\libraries\ioss\src\visualization\CMakeFiles\Iovs.dir\utils\Iovs_Utils.C.obj.d -o packages/seacas/libraries/ioss/src/visualization/CMakeFiles/Iovs.dir/utils/Iovs_Utils.C.obj -c C:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src/visualization/utils/Iovs_Utils.C
C:/msys64/usr/local/pkg_seacas/src/seacas-master/packages/seacas/libraries/ioss/src/visualization/utils/Iovs_Utils.C:15:10: fatal error: dlfcn.h: No such file or directory
   15 | #include <dlfcn.h>
      |          ^~~~~~~~~
compilation terminated.
[1398/1798] Building CXX object packages/seacas/libraries/ioss/src/visualization/CMakeFiles/Iovs.dir/exodus/Iovs_exodus_IOFactory.C.obj
gsjaardema commented 3 years ago

OK, that should be fixed now... whack-another-mole...

3rav commented 3 years ago

For MINGW64 works static and dynamic but for MINGW32, error occurs:

[1022/1504] Building C object packages/seacas/libraries/ioss/src/CMakeFiles/Ioss.dir/Ioss_Getline.c.obj
  FAILED: packages/seacas/libraries/ioss/src/CMakeFiles/Ioss.dir/Ioss_Getline.c.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\gcc.exe -DNO_PARMETIS_SUPPORT -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/zoltan/src -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/include -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/all -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/coloring -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/graph -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/ha -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/hier -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/hsfc -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/lb -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/matrix -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/order -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/par -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/params -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/tpls -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/phg -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/rcb -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/reftree -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/simple -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/timer -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/Communication -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/DDirectory -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/Timer -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/shared -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/zz -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/siMPI/pyMPI/siMPI -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/private_copy_fmt -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/exodus/include -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/exodus -Wall -Wunused -pedantic -std=c11 -O3 -DNDEBUG -MD -MT packages/seacas/libraries/ioss/src/CMakeFiles/Ioss.dir/Ioss_Getline.c.obj -MF packages\seacas\libraries\ioss\src\CMakeFiles\Ioss.dir\Ioss_Getline.c.obj.d -o packages/seacas/libraries/ioss/src/CMakeFiles/Ioss.dir/Ioss_Getline.c.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/Ioss_Getline.c
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/Ioss_Getline.c:40:10: fatal error: termios.h: No such file or directory
     40 | #include <termios.h>
        |          ^~~~~~~~~~~
  compilation terminated.
  [1023/1504] Building CXX object packages/seacas/libraries/ioss/src/CMakeFiles/Ioss.dir/Ioss_GroupingEntity.C.obj
gsjaardema commented 3 years ago

ONe more try...

3rav commented 3 years ago

One more, olny MINGW32:

[1171/1504] Building CXX object packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_map.dir/Utst_map.C.obj
  FAILED: packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_map.dir/Utst_map.C.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\g++.exe -DNO_PARMETIS_SUPPORT -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/zoltan/src -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/include -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/all -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/coloring -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/graph -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/ha -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/hier -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/hsfc -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/lb -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/matrix -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/order -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/par -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/params -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/tpls -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/phg -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/rcb -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/reftree -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/simple -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/timer -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/Communication -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/DDirectory -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/Timer -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/Utilities/shared -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/src/zz -IC:/_/mingw-w64-seacas/src/seacas-master/packages/zoltan/siMPI/pyMPI/siMPI -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/private_copy_fmt -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/exodus/include -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/exodus -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/main -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/main/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/main/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/init -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/init/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/init/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/transform -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/transform/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/transform/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/heartbeat -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/heartbeat/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/heartbeat/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/gen_struc -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/gen_struc/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/gen_struc/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/generated -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/generated/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/generated/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/visualization -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/visualization/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/visualization/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/exodus -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/exodus/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/exodus/.. -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/.. -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/ioss/src/utest/.. -Wall -Wunused -pedantic -O3 -DNDEBUG -std=c++14 -MD -MT packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_map.dir/Utst_map.C.obj -MF packages\seacas\libraries\ioss\src\utest\CMakeFiles\SEACASIoss_Utst_map.dir\Utst_map.C.obj.d -o packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_map.dir/Utst_map.C.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_map.C
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_map.C: In function 'void ____C_A_T_C_H____T_E_S_T____2()':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_map.C:97:54: error: narrowing conversion of '8589934592' from 'long long int' to 'unsigned int' [-Wnarrowing]
     97 |   std::vector<size_t>      offsets{0, 123, 8589934592};
        |                                                      ^
  [1172/1504] Building CXX object packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_iofx.dir/Utst_IofxDatabaseIO.C.obj
  [1173/1504] Building CXX object packages/seacas/libraries/ioss/src/utest/CMakeFiles/SEACASIoss_Utst_utils.dir/Utst_utils.C.obj
  In file included from C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_utils.C:8:
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_utils.C: In function 'void ____C_A_T_C_H____T_E_S_T____0()':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_utils.C:57:45: warning: unsigned conversion from 'long long int' to 'size_t' {aka 'unsigned int'} changes value from '111111111111' to '3736928711' [-Woverflow]
     57 |     REQUIRE(15 == Ioss::Utils::number_width(111'111'111'111, true));
        |                                             ^~~~~~~~~~~~~~~
  In file included from C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_utils.C:8:
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/ioss/src/utest/Utst_utils.C:57:45: warning: unsigned conversion from 'long long int' to 'size_t' {aka 'unsigned int'} changes value from '111111111111' to '3736928711' [-Woverflow]
     57 |     REQUIRE(15 == Ioss::Utils::number_width(111'111'111'111, true));
        |                                             ^~~~~~~~~~~~~~~
gsjaardema commented 3 years ago

OK, this should be cleaned up...

3rav commented 3 years ago
[1391/1504] Building C object packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/add_to_log.c.obj
  FAILED: packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/add_to_log.c.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\gcc.exe  -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c -Wall -Wunused -pedantic -std=c11 -O3 -DNDEBUG -MD -MT packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/add_to_log.c.obj -MF packages\seacas\libraries\suplib_c\CMakeFiles\suplib_c.dir\add_to_log.c.obj.d -o packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/add_to_log.c.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/add_to_log.c
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/add_to_log.c:12:10: fatal error: sys/times.h: No such file or directory
     12 | #include <sys/times.h>
        |          ^~~~~~~~~~~~~
  compilation terminated.
  [1392/1504] Building CXX object packages/seacas/libraries/aprepro_lib/CMakeFiles/aprepro_lib.dir/apr_array.cc.obj
  [1393/1504] Building CXX object packages/seacas/applications/epu/CMakeFiles/epu.dir/epu.C.obj
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/epu/epu.C: In function 'int main(int, char**)':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/epu/epu.C:387:12: warning: unused variable 'begin_time' [-Wunused-variable]
    387 |     time_t begin_time = std::time(nullptr);
        |            ^~~~~~~~~~
  ninja: build stopped: subcommand failed.
gsjaardema commented 3 years ago

And yet another try... I tried to unify all the WIN32 and related checks on this commit. Will see how well that works...

3rav commented 3 years ago
[1401/1504] Building C object packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/open_file_limit.c.obj
  FAILED: packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/open_file_limit.c.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\gcc.exe  -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c -Wall -Wunused -pedantic -std=c11 -O3 -DNDEBUG -MD -MT packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/open_file_limit.c.obj -MF packages\seacas\libraries\suplib_c\CMakeFiles\suplib_c.dir\open_file_limit.c.obj.d -o packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/open_file_limit.c.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/open_file_limit.c
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/open_file_limit.c: In function 'open_file_limit':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/open_file_limit.c:15:15: warning: implicit declaration of function 'sysconf' [-Wimplicit-function-declaration]
     15 |   int fdmax = sysconf(_SC_OPEN_MAX);
        |               ^~~~~~~
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/open_file_limit.c:15:23: error: '_SC_OPEN_MAX' undeclared (first use in this function)
     15 |   int fdmax = sysconf(_SC_OPEN_MAX);
        |                       ^~~~~~~~~~~~
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/open_file_limit.c:15:23: note: each undeclared identifier is reported only once for each function it appears in
  [1402/1504] Building C object packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/term_width.c.obj
  FAILED: packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/term_width.c.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\gcc.exe  -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c -Wall -Wunused -pedantic -std=c11 -O3 -DNDEBUG -MD -MT packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/term_width.c.obj -MF packages\seacas\libraries\suplib_c\CMakeFiles\suplib_c.dir\term_width.c.obj.d -o packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/term_width.c.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/term_width.c
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/term_width.c:17:10: fatal error: sys/ioctl.h: No such file or directory
     17 | #include <sys/ioctl.h>
        |          ^~~~~~~~~~~~~
  compilation terminated.
  [1403/1504] Building CXX object packages/seacas/applications/epu/CMakeFiles/epu.dir/epu.C.obj
  ninja: build stopped: subcommand failed.
gsjaardema commented 3 years ago

OK, hopefully we make if further now... Fixed the above two files and a couple others in that library...

3rav commented 3 years ago
[1396/1504] Building C object packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/open_file_limit.c.obj
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/open_file_limit.c: In function 'open_file_limit':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c/open_file_limit.c:16:15: warning: implicit declaration of function '_getmaxstdio' [-Wimplicit-function-declaration]
     16 |   int fdmax = _getmaxstdio();
        |               ^~~~~~~~~~~~
  [1397/1504] Building CXX object packages/seacas/libraries/suplib_cpp/CMakeFiles/suplib_cpp.dir/FileInfo.C.obj
  FAILED: packages/seacas/libraries/suplib_cpp/CMakeFiles/suplib_cpp.dir/FileInfo.C.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\g++.exe  -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp -Wall -Wunused -pedantic -O3 -DNDEBUG -std=c++14 -MD -MT packages/seacas/libraries/suplib_cpp/CMakeFiles/suplib_cpp.dir/FileInfo.C.obj -MF packages\seacas\libraries\suplib_cpp\CMakeFiles\suplib_cpp.dir\FileInfo.C.obj.d -o packages/seacas/libraries/suplib_cpp/CMakeFiles/suplib_cpp.dir/FileInfo.C.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp/FileInfo.C
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp/FileInfo.C: In member function 'bool FileInfo::is_symlink() const':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp/FileInfo.C:115:7: error: 'lstat' was not declared in this scope; did you mean 'wstat'?
    115 |   if (lstat(filename_.c_str(), &s) == 0) {
        |       ^~~~~
        |       wstat
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp/FileInfo.C:116:12: error: 'S_ISLNK' was not declared in this scope; did you mean 'S_ISBLK'?
    116 |     return S_ISLNK(s.st_mode);
        |            ^~~~~~~
        |            S_ISBLK
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp/FileInfo.C: In member function 'std::string FileInfo::realpath() const':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp/FileInfo.C:247:18: error: '::realpath' has not been declared
    247 |   char *path = ::realpath(filename_.c_str(), nullptr);
        |                  ^~~~~~~~
  [1398/1504] Linking CXX static library packages\seacas\libraries\aprepro_lib\libaprepro_lib.a
  [1399/1504] Building C object packages/seacas/libraries/suplib_c/CMakeFiles/suplib_c.dir/term_width.c.obj
  ninja: build stopped: subcommand failed.
gsjaardema commented 3 years ago

Can you give it another try... Looks like we are getting a little closer...

3rav commented 3 years ago
[1438/1504] Building CXX object packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj
  FAILED: packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\g++.exe  -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/exodus/include -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/exodus -Wall -Wunused -pedantic -O3 -DNDEBUG -std=c++14 -MD -MT packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj -MF packages\seacas\applications\exodiff\CMakeFiles\exodiff.dir\exodiff.C.obj.d -o packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:201:18: error: aggregate 'sigaction sigact' has incomplete type and cannot be defined
    201 | struct sigaction sigact; // the signal handler & blocked signals
        |                  ^~~~~~
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C: In function 'int main(int, char**)':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:324:3: error: 'sigfillset' was not declared in this scope
    324 |   sigfillset(&(sigact.sa_mask));
        |   ^~~~~~~~~~
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:326:41: error: invalid use of incomplete type 'struct sigaction'
    326 |   if (sigaction(SIGFPE, &sigact, nullptr) == -1) {
        |                                         ^
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:201:8: note: forward declaration of 'struct sigaction'
    201 | struct sigaction sigact; // the signal handler & blocked signals
        |        ^~~~~~~~~
  [1439/1504] Building CXX object packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/ED_SystemInterface.C.obj
  [1440/1504] Building CXX object packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exo_entity.C.obj
  ninja: build stopped: subcommand failed.
gsjaardema commented 3 years ago

Getting closer. I also updated some defines in nem_spread and nem_slice which look like they are yet to be compiled... Looks like about 64 more steps in the build which I think includes the link steps...

3rav commented 3 years ago

For MINGW32 na 64:

[1437/1504] Building CXX object packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj
  FAILED: packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj 
  D:\a\_temp\msys\msys64\mingw32\bin\g++.exe  -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_cpp -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/suplib_c -IC:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/libraries/exodus/include -IC:/_/mingw-w64-seacas/src/seacas-master/build-i686-w64-mingw32-static/packages/seacas/libraries/exodus -Wall -Wunused -pedantic -O3 -DNDEBUG -std=c++14 -MD -MT packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj -MF packages\seacas\applications\exodiff\CMakeFiles\exodiff.dir\exodiff.C.obj.d -o packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/exodiff.C.obj -c C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:190:2: error: invalid preprocessing directive #defined; did you mean #define?
    190 | #defined __ED_WINDOWS__
        |  ^~~~~~~
        |  define
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:206:18: error: aggregate 'sigaction sigact' has incomplete type and cannot be defined
    206 | struct sigaction sigact; // the signal handler & blocked signals
        |                  ^~~~~~
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C: In function 'int main(int, char**)':
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:331:3: error: 'sigfillset' was not declared in this scope
    331 |   sigfillset(&(sigact.sa_mask));
        |   ^~~~~~~~~~
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:333:41: error: invalid use of incomplete type 'struct sigaction'
    333 |   if (sigaction(SIGFPE, &sigact, nullptr) == -1) {
        |                                         ^
  C:/_/mingw-w64-seacas/src/seacas-master/packages/seacas/applications/exodiff/exodiff.C:206:8: note: forward declaration of 'struct sigaction'
    206 | struct sigaction sigact; // the signal handler & blocked signals
        |        ^~~~~~~~~
  [1438/1504] Linking CXX executable packages\seacas\applications\epu\epu.exe
  [1439/1504] Building CXX object packages/seacas/applications/exodiff/CMakeFiles/exodiff.dir/ED_SystemInterface.C.obj
  ninja: build stopped: subcommand failed.
gsjaardema commented 3 years ago

Sorry, that was a stupid mistake. Should be fixed now.

3rav commented 3 years ago

Now: MINGW64 OK MINGW32 OK UCRT OK

May I ask for an official release so that I can build a package for mingw?