DFO-Ocean-Navigator / netcdf-timestamp-mapper

Maps timestamps (and variables) to a corresponding nc file using sqlite3.
https://dfo-ocean-navigator.github.io/netcdf-timestamp-mapper/
GNU General Public License v3.0
1 stars 1 forks source link

Issue with compiling on Fedora 34 with g++ (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1) #43

Open dwayne-hart opened 2 years ago

dwayne-hart commented 2 years ago

/usr/bin/ld: /tmp/ccqJbex6.o: in function `std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator=(std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) [clone .isra.0]':
TimestampMapper.cpp:(.text+0x4e1): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccqJbex6.o: in function `std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >& std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > > >::emplace_back<long&, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&>(long&, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) [clone .isra.0]':
TimestampMapper.cpp:(.text+0xd1f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccqJbex6.o: in function `std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Identity, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, true, true> >::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::integral_constant<bool, true>)':
TimestampMapper.cpp:(.text._ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC2IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE[_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC5IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE]+0x34f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: TimestampMapper.cpp:(.text._ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC2IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE[_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC5IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE]+0x35f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccqJbex6.o: in function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::vector(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)':
TimestampMapper.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS7_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC5ERKS7_]+0x141): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccqJbex6.o:TimestampMapper.cpp:(.text._ZNSt6vectorISt4pairIlS_INSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS1_12basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISD_EEESaISG_EE17_M_realloc_insertIJRlRKSF_EEEvNS4_IPSG_SI_EEDpOT_[_ZNSt6vectorISt4pairIlS_INSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS1_12basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISD_EEESaISG_EE17_M_realloc_insertIJRlRKSF_EEEvNS4_IPSG_SI_EEDpOT_]+0x22d): more undefined references to `std::__throw_bad_array_new_length()' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:18: all] Error 1
on@fedora:~/tools/netcdf-timestamp-mapper[on@fedora netcdf-timestamp-mapper]$ 
exit

printenv.txt typescript.txt

htmlboss commented 2 years ago

ugh looks like gcc on fedora needs some help with the library path...

dwayne-hart commented 2 years ago

I believe that the same issue is seen with openSUSE Tumbleweed. Let me get a copy of stdout information from a console window.

On Tue., Sep. 7, 2021, 7:14 p.m. Nabil, @.***> wrote:

ugh looks like gcc on fedora needs some help with the library path...

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DFO-Ocean-Navigator/netcdf-timestamp-mapper/issues/43#issuecomment-914648507, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKSZ5OK23OP5DG52D33RXTTUA2BSDANCNFSM5DKYJNCA .

dwayne-hart commented 2 years ago

On Arch Linux using G++ 11.0

[on@arch ~]$ g++ --version
g++ (GCC) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
(index-tool) [on@arch netcdf-timestamp-mapper]$ make
make clean
make[1]: Entering directory '/home/on/tools/netcdf-timestamp-mapper'
rm -rf ./build
make[1]: Leaving directory '/home/on/tools/netcdf-timestamp-mapper'
mkdir -p ./build
g++ -std=c++17 -Wall -Wextra -Wno-unused-variable -march=native -O3 -pedantic -Wshadow -I/home/on/tools/miniconda/3/amd64/envs/index-tool/include -Wl,-rpath=/home/on/tools/miniconda/3/amd64/envs/index-tool/lib -L/home/on/tools/miniconda/3/amd64/envs/index-tool/lib -o build/nc-timestamp-mapper -I./src/ThirdParty/ src/TimestampMapper.cpp src/Utils/ProgressBar.cpp src/DatasetDesc.cpp src/Database.cpp src/FileReaders/NCFileReader.cpp src/CLIOptions.cpp src/main.cpp -lstdc++fs -lnetcdf_c++4 -lsqlite3
In file included from src/CrawlDirectory.hpp:3,
                 from src/TimestampMapper.cpp:4:
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 5; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 5; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 5; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:21:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
   64 |   static constexpr unsigned int crc32(const char* str, unsigned int prev_crc = 0xFFFFFFFF)
      |                                       ~~~~~~~~~~~~^~~
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 8; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 8; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 8; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:29:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 4; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 4; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 4; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:33:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 3; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 3; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 3; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:37:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 10; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 10; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 10; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:41:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 7; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 7; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 7; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:20:13:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/DatasetDesc.cpp: In constructor ‘tsm::ds::DatasetDesc::DatasetDesc(const std::vector<std::filesystem::__cxx11::path>&, tsm::ds::DATASET_TYPE)’:
src/DatasetDesc.cpp:13:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::filesystem::__cxx11::path>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   13 |     for (auto i = 0; i < filePaths.size(); ++i) {
      |                      ~~^~~~~~~~~~~~~~~~~~
src/Database.cpp: In lambda function:
src/Database.cpp:76:48: warning: unused parameter ‘pArg’ [-Wunused-parameter]
   76 |     sqlite3_config(SQLITE_CONFIG_LOG, [](void* pArg, int iErrCode, const char* zMsg) {
      |                                          ~~~~~~^~~~
/usr/bin/ld: /tmp/ccS9NQWU.o: in function `std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator=(std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) [clone .isra.0]':
TimestampMapper.cpp:(.text+0x4e1): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccS9NQWU.o: in function `std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >& std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > > >::emplace_back<long&, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&>(long&, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) [clone .isra.0]':
TimestampMapper.cpp:(.text+0xe07): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccS9NQWU.o: in function `std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Identity, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, true, true> >::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::integral_constant<bool, true>)':
TimestampMapper.cpp:(.text._ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC2IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE[_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC5IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE]+0x34f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: TimestampMapper.cpp:(.text._ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC2IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE[_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC5IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE]+0x35f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccS9NQWU.o: in function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::vector(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)':
TimestampMapper.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS7_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC5ERKS7_]+0x168): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /tmp/ccS9NQWU.o:TimestampMapper.cpp:(.text._ZNSt6vectorISt4pairIlS_INSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS1_12basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISD_EEESaISG_EE17_M_realloc_insertIJRlRKSF_EEEvNS4_IPSG_SI_EEDpOT_[_ZNSt6vectorISt4pairIlS_INSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS1_12basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISD_EEESaISG_EE17_M_realloc_insertIJRlRKSF_EEEvNS4_IPSG_SI_EEDpOT_]+0x22d): more undefined references to `std::__throw_bad_array_new_length()' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:18: all] Error 1
dwayne-hart commented 2 years ago

On openSUSE Tumbleweed using G++ 11.2.1

g++ (SUSE Linux) 11.2.1 20210816 [revision 056e324ce46a7924b5cf10f61010cf9dd2ca10e9]
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
(index-tool) on@osuse-tumble:~/tools/netcdf-timestamp-mapper> make clean
rm -rf ./build
(index-tool) on@osuse-tumble:~/tools/netcdf-timestamp-mapper> make
make clean
make[1]: Entering directory '/home/on/tools/netcdf-timestamp-mapper'
rm -rf ./build
make[1]: Leaving directory '/home/on/tools/netcdf-timestamp-mapper'
mkdir -p ./build
g++ -std=c++17 -Wall -Wextra -Wno-unused-variable -march=native -O3 -pedantic -Wshadow -I/home/on/tools/miniconda/3/amd64/envs/index-tool/include -Wl,-rpath=/home/on/tools/miniconda/3/amd64/envs/index-tool/lib -L/home/on/tools/miniconda/3/amd64/envs/index-tool/lib -o build/nc-timestamp-mapper -I./src/ThirdParty/ src/TimestampMapper.cpp src/Utils/ProgressBar.cpp src/DatasetDesc.cpp src/Database.cpp src/FileReaders/NCFileReader.cpp src/CLIOptions.cpp src/main.cpp -lstdc++fs -lnetcdf_c++4 -lsqlite3
In file included from src/CrawlDirectory.hpp:3,
                 from src/TimestampMapper.cpp:4:
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 5; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 5; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 5; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:21:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
   64 |   static constexpr unsigned int crc32(const char* str, unsigned int prev_crc = 0xFFFFFFFF)
      |                                       ~~~~~~~~~~~~^~~
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 8; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 8; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 8; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:29:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 4; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 4; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 4; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:33:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 3; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 3; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 3; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:37:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 10; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 10; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 10; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:41:14:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/Utils/HashString.hpp: In instantiation of ‘static constexpr unsigned int tsm::utils::MM<size, size, dummy>::crc32(const char*, unsigned int) [with int size = 7; dummy = void]’:
src/Utils/HashString.hpp:57:36:   recursively required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 7; int idx = 1; dummy = void]’
src/Utils/HashString.hpp:57:36:   required from ‘static constexpr unsigned int tsm::utils::MM<size, idx, dummy>::crc32(const char*, unsigned int) [with int size = 7; int idx = 0; dummy = void]’
src/CrawlDirectory.hpp:20:13:   required from here
src/Utils/HashString.hpp:64:51: warning: unused parameter ‘str’ [-Wunused-parameter]
src/DatasetDesc.cpp: In constructor ‘tsm::ds::DatasetDesc::DatasetDesc(const std::vector<std::filesystem::__cxx11::path>&, tsm::ds::DATASET_TYPE)’:
src/DatasetDesc.cpp:13:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::filesystem::__cxx11::path>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   13 |     for (auto i = 0; i < filePaths.size(); ++i) {
      |                      ~~^~~~~~~~~~~~~~~~~~
src/Database.cpp: In lambda function:
src/Database.cpp:76:48: warning: unused parameter ‘pArg’ [-Wunused-parameter]
   76 |     sqlite3_config(SQLITE_CONFIG_LOG, [](void* pArg, int iErrCode, const char* zMsg) {
      |                                          ~~~~~~^~~~
/usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /tmp/ccGAAbP1.o: in function `std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator=(std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) [clone .isra.0]':
TimestampMapper.cpp:(.text+0x4e1): undefined reference to `std::__throw_bad_array_new_length()'
/usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /tmp/ccGAAbP1.o: in function `std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >& std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > > >::emplace_back<long&, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&>(long&, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) [clone .isra.0]':
TimestampMapper.cpp:(.text+0xd1f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /tmp/ccGAAbP1.o: in function `std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Identity, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, true, true> >::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::integral_constant<bool, true>)':
TimestampMapper.cpp:(.text._ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC2IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE[_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC5IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE]+0x34f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: TimestampMapper.cpp:(.text._ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC2IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE[_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEEC5IPKS5_EET_SM_mRKSC_RKSA_RKS6_St17integral_constantIbLb1EE]+0x35f): undefined reference to `std::__throw_bad_array_new_length()'
/usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /tmp/ccGAAbP1.o: in function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::vector(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)':
TimestampMapper.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS7_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC5ERKS7_]+0x141): undefined reference to `std::__throw_bad_array_new_length()'
/usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /tmp/ccGAAbP1.o:TimestampMapper.cpp:(.text._ZNSt6vectorISt4pairIlS_INSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS1_12basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISD_EEESaISG_EE17_M_realloc_insertIJRlRKSF_EEEvNS4_IPSG_SI_EEDpOT_[_ZNSt6vectorISt4pairIlS_INSt7__cxx119sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNS1_12basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISD_EEESaISG_EE17_M_realloc_insertIJRlRKSF_EEEvNS4_IPSG_SI_EEDpOT_]+0x22d): more undefined references to `std::__throw_bad_array_new_length()' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:18: all] Error 1
dwayne-hart commented 2 years ago

@VanessaSutton-Pande is this issue able to be reprioritized if there is an official stakeholder request brought up?