lanl / LaGriT

Los Alamos Grid Toolbox (LaGriT) is a library of user callable tools that provide mesh generation, mesh optimization and dynamic mesh maintenance in two and three dimensions.
https://lanl.github.io/LaGriT/
Other
116 stars 48 forks source link

error: type specifier missing on macbook pro arm64 machine #259

Closed gthyagi closed 2 months ago

gthyagi commented 2 months ago

Hi,

I'm running into the following error during the installation of Lagrit with Exodus on my MacBook Pro ARM64 machine.

/Users/tgol0006/manual_install_pkg/LaGriT/lg_util/src/gmvwritef.c:69:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
gmvwriteflagheader();
^
int
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/liblagrit.dir/lg_util/src/gmvwritef.c.o] Error 1
make[1]: *** [CMakeFiles/liblagrit.dir/all] Error 2
make: *** [all] Error 2

Here are more details about the configuration:

build git:(master) cmake .. -DLAGRIT_BUILD_EXODUS=ON
-- The Fortran compiler identification is GNU 13.2.0
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- The C compiler identification is AppleClang 15.0.0.15000309
-- Checking whether Fortran compiler has -isysroot
-- Checking whether Fortran compiler has -isysroot - yes
-- Checking whether Fortran compiler supports OSX deployment target flag
-- Checking whether Fortran compiler supports OSX deployment target flag - yes
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/local/bin/gfortran - skipped
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- ==========================================
-- ============Configuring LaGriT============
-- ===================v3.3.4=================
-- Compile LaGriT as a static binary = ON
-- Compile LaGriT with ExodusII = ON
-- -----Configuring Exodus-----
--   Found exodus include dir: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/include
--   Found exodusII.inc : /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/include/exodusII.inc
--   Found Exodus      lib: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/lib/libexodus.a
--   Found Exodus_fort lib: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/lib/libexodus_for.a
--   Found HDF5        lib: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/lib/libhdf5.a
--   Found NetCDF      lib: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/lib/libnetcdf.a
--   Found ZLIB        lib: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/lib/libz.a
-- -----Done Exodus-----
-- ExodusII support enabled: ON
-- ExodusII libraries      : /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/lib
-- ExodusII include        : /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/include
-- Detecting LaGriT build using local cmake files:
--   Operating System: macOS
--   Architecture: 64-bit
--   Fortran compiler: GNU GFORTRAN
--   C compiler: Clang
--   C++ compiler: Clang
-- Using Third Party Libraries.
-- TPL libs: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/lib
-- TPL include: /Users/tgol0006/manual_install_pkg/LaGriT/TPLs/seacas/include
-- Detecting Fortran/C Interface
-- Detecting Fortran/C Interface - Found GLOBAL and MODULE mangling
-- Verifying Fortran/C Compiler Compatibility
-- Verifying Fortran/C Compiler Compatibility - Success
-- Using Compiler Settings:
--   FORTRAN [compiler = "/usr/local/bin/gfortran"; flags = " -fcray-pointer -fdefault-integer-8 -std=legacy -fno-sign-zero -fno-range-check"]
--   C [compiler = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc"; flags = " -w -m64"]
--   C++ [compiler = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++"; flags = " -w -stdlib=libc++ -std=c++0x"]
-- Configuring done (4.4s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/tgol0006/manual_install_pkg/LaGriT/build
ehinrichs commented 2 months ago

Try recompiling using the flag "-Wno-error=implicit-int". Newer clang versions seem to handle this differently.

gthyagi commented 2 months ago

Thanks @ehinrichs for the suggestion. It worked.

I have created pull request (#260) containing appropriate changes.

If the modifications meet the requirements, please proceed to close this issue.