OpenFAST / openfast

Main repository for the NREL-supported OpenFAST whole-turbine and FAST.Farm wind farm simulation codes.
http://openfast.readthedocs.io
Apache License 2.0
671 stars 453 forks source link

OpenFAST CPP driver glue code doesn't build #2368

Open gantech opened 1 month ago

gantech commented 1 month ago

Bug description OpenFAST CPP driver glue code doesn't build with this error message using exawind-manager

     555    [100%] Linking CXX executable openfastcpp
     556    cd /kfs2/projects/sviv/exawind-manager/stage/gvijayak/spack-stage-openfast-develop-7wzsf2jvm3xwibay32jf5uztcrfpoe4e/spack-build-7wzsf2j/glue-codes/openfast
            -cpp && /kfs2/projects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/cmake-3.29.6-2hb4okeikdphak3smbgmil6w4vhseg4z/bin/cm
            ake -E cmake_link_script CMakeFiles/openfastcpp.dir/link.txt --verbose=1
     557    /opt/cray/pe/mpich/8.1.28/ofi/intel/2022.1/bin/mpicxx -O3 -DNDEBUG CMakeFiles/openfastcpp.dir/src/FAST_Prog.cpp.o -o openfastcpp   -L/nopt/nrel/apps/cpu_st
            ack/compilers/02-24/spack/opt/spack/linux-rhel8-sapphirerapids/gcc-12.2.1/intel-oneapi-compilers-2023.2.0-hwdq5hei2obxznfjhtlav4mi5h5jd4zw/compiler/2023.2.
            0/linux/lib/clang/17/lib/linux  -L/nopt/nrel/apps/cpu_stack/compilers/02-24/spack/opt/spack/linux-rhel8-sapphirerapids/gcc-12.2.1/intel-oneapi-compilers-20
            23.2.0-hwdq5hei2obxznfjhtlav4mi5h5jd4zw/compiler/2023.2.0/linux/lib/clang/17/lib/x86_64-unknown-linux-gnu  -L/usr/lib/gcc/x86_64-redhat-linux/8  -Wl,-rpath
            ,/kfs2/projects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/yaml-cpp-0.6.3-kcp4oqmwvwvnff4vma5qlph4vqe24nhe/lib:/kfs2/p
            rojects/sviv/exawind-manager/stage/gvijayak/spack-stage-openfast-develop-7wzsf2jvm3xwibay32jf5uztcrfpoe4e/spack-build-7wzsf2j/glue-codes/openfast-cpp:/kfs2
            /projects/sviv/exawind-manager/stage/gvijayak/spack-stage-openfast-develop-7wzsf2jvm3xwibay32jf5uztcrfpoe4e/spack-build-7wzsf2j/modules/openfast-library:/k
            fs2/projects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/openblas-0.3.27-6h7itwcdagrpqixwm6mxdo5tfljpo2uu/lib:/kfs2/pro
            jects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/hdf5-1.14.3-ulxwhsrpbayr4siy7kkgewhm26i33egp/lib:/kfs2/projects/sviv/
            exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/netcdf-c-4.9.2-pbtjc4sz26defab42fmg4g5fr6cnzu5m/lib:/kfs2/projects/sviv/exawind-
            manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/zlib-ng-2.1.6-xrayopmwz7tjny2ssr4cevogwbjcv6dp/lib:/kfs2/projects/sviv/exawind-manager/s
            pack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/libxml2-2.10.3-u3q5qqrxroduwszk6rjdltws7v2jjwbl/lib: /kfs2/projects/sviv/exawind-manager/spack/op
            t/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/yaml-cpp-0.6.3-kcp4oqmwvwvnff4vma5qlph4vqe24nhe/lib/libyaml-cpp.so.0.6.3 libopenfastcpplib.so ../../modu
            les/openfast-library/libopenfastlib.so ../../modules/openfast-library/libopenfast_postlib.a ../../modules/externalinflow/libextinflowlib.a ../../modules/su
            percontroller/libscfastlib.a ../../modules/openfast-library/libopenfast_prelib.a ../../modules/aerodyn/libaerodynlib.a ../../modules/aerodyn/libbasicaeroli
            b.a ../../modules/extloads/libextloadslib.a ../../modules/beamdyn/libbeamdynlib.a ../../modules/elastodyn/libelastodynlib.a ../../modules/extptfm/libextptf
            m_mckflib.a ../../modules/feamooring/libfeamlib.a ../../modules/externalinflow/libextinflowtypeslib.a ../../modules/hydrodyn/libhydrodynlib.a ../../modules
            /icedyn/libicedynlib.a ../../modules/icefloe/libicefloelib.a ../../modules/inflowwind/libifwlib.a ../../modules/map/libmaplib.a ../../modules/moordyn/libmo
            ordynlib.a ../../modules/orcaflex-interface/liborcaflexlib.a ../../modules/supercontroller/libsctypeslib.a ../../modules/seastate/libseastlib.a ../../modul
            es/version/libversioninfolib.a ../../modules/servodyn/libservodynlib.a ../../modules/subdyn/libsubdynlib.a ../../modules/nwtc-library/libnwtclibs.a /kfs2/p
            rojects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/openblas-0.3.27-6h7itwcdagrpqixwm6mxdo5tfljpo2uu/lib/libopenblas.so
             -ldl /kfs2/projects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-2023.2.0/hdf5-1.14.3-ulxwhsrpbayr4siy7kkgewhm26i33egp/lib/libhd
            f5.so /opt/cray/pe/mpich/8.1.28/ofi/intel/2022.1/lib/libmpi_intel.so /kfs2/projects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/oneapi-
            2023.2.0/netcdf-c-4.9.2-pbtjc4sz26defab42fmg4g5fr6cnzu5m/lib/libnetcdf.so /kfs2/projects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/on
            eapi-2023.2.0/zlib-ng-2.1.6-xrayopmwz7tjny2ssr4cevogwbjcv6dp/lib/libz.so /kfs2/projects/sviv/exawind-manager/spack/opt/spack/linux-rhel8-sapphirerapids/one
            api-2023.2.0/libxml2-2.10.3-u3q5qqrxroduwszk6rjdltws7v2jjwbl/lib/libxml2.so -lmpifort_intel -lifport -lifcoremt -lipgo -lpthread
     558    /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../bin/ld: CMakeFiles/openfast_cpp_driver.dir/src/FastLibAPI.cpp.o: in function `st
            d::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >::_M_fill_insert(__gnu_cxx::__normal
            _iterator<std::vector<double, std::allocator<double> >*, std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::
            allocator<double> > > > >, unsigned long, std::vector<double, std::allocator<double> > const&)':
  >> 559    FastLibAPI.cpp:(.text._ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_[_ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fi
            ll_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_]+0xde3): undefined reference to `std::__throw_bad_array_new_length()'
  >> 560    /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../bin/ld: FastLibAPI.cpp:(.text._ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fill_insertEN9
            __gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_[_ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_]+0xde8): undefi
            ned reference to `std::__throw_bad_array_new_length()'
  >> 561    /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../bin/ld: FastLibAPI.cpp:(.text._ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fill_insertEN9
            __gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_[_ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_]+0xded): undefi
            ned reference to `std::__throw_bad_array_new_length()'
  >> 562    /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../bin/ld: FastLibAPI.cpp:(.text._ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fill_insertEN9
            __gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_[_ZNSt6vectorIS_IdSaIdEESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_]+0xdf2): undefi
            ned reference to `std::__throw_bad_array_new_length()'
  >> 563    icpx: error: linker command failed with exit code 1 (use -v to see invocation)
  >> 564    make[2]: *** [glue-codes/openfast/CMakeFiles/openfast_cpp_driver.dir/build.make:143: glue-codes/openfast/openfast_cpp_driver] Error 1
     565    make[2]: Leaving directory '/kfs2/projects/sviv/exawind-manager/stage/gvijayak/spack-stage-openfast-develop-7wzsf2jvm3xwibay32jf5uztcrfpoe4e/spack-build-7w
            zsf2j'
  >> 566    make[1]: *** [CMakeFiles/Makefile2:2186: glue-codes/openfast/CMakeFiles/openfast_cpp_driver.dir/all] Error 2
     567    make[1]: *** Waiting for unfinished jobs....
     568    make[2]: Leaving directory '/kfs2/projects/sviv/exawind-manager/stage/gvijayak/spack-stage-openfast-develop-7wzsf2jvm3xwibay32jf5uztcrfpoe4e/spack-build-7w
            zsf2j'
     569    [100%] Built target openfastcpp
     570    make[1]: Leaving directory '/kfs2/projects/sviv/exawind-manager/stage/gvijayak/spack-stage-openfast-develop-7wzsf2jvm3xwibay32jf5uztcrfpoe4e/spack-build-7w
            zsf2j'
  >> 571    make: *** [Makefile:139: all] Error 2
     572    ==> openfast: Executing phase: 'install'
     573    ==> [2024-08-12-14:40:43.770702] 'make' '-j36' 'install'

To Reproduce

Steps to reproduce the behavior: 1. Compile with 'exawind-manager' **Expected behavior** The code compiles. **OpenFAST Version** `dev` branch ``` ************************************************************************************************** OpenFAST Copyright (C) National Renewable Energy Laboratory Copyright (C) Envision Energy USA LTD This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY. See the "LICENSE" file distributed with this software for details. ************************************************************************************************** OpenFAST-v2.0.0 Compile Info: - Architecture: 64 bit - Precision: double - Date: Nov 27 2018 - Time: 17:19:38 Execution Info: - Date: 11/29/2018 - Time: 10:52:28-0700 ``` **System Information (please complete the following information):** - NREL Kestrel with OneAPI
deslaughter commented 1 month ago

@gantech I'll need some help with exawind-manager as I've never used it and don't know how to get it set up. Based on googling the error message, it looks like this occurs when there is a mismatch between the compiler and library versions. The advice was to check the linker settings, which I know is a mess on Kestrel. This doesn't appear to be a bug in OpenFAST, but is an issue with the build environment.

gantech commented 1 month ago

Ok.. thanks.. I filed an issue on the exawind-manager GitHub. Please close this issue if appropriate.

deslaughter commented 3 weeks ago

@gantech Has the issue been resolved through exawind-manager or do we need to investigate further? If it has been resolved, please close this issue.