Comments (18)
@awickert : If you have time, that'd be great.
from barnes2020-fillspillmerge.
OK, working through this, there are stacked issues. You ARE assuming GDAL is installed (and should say so), which I was able to install with the brew
package manager on Mac. But then...
(base) ➜ build git:(master) ✗ make -j 4
Scanning dependencies of target richdem
[ 28%] Building CXX object submodules/dephier/submodules/richdem/CMakeFiles/richdem.dir/include/richdem/richdem.cpp.o
[ 28%] Building CXX object submodules/dephier/submodules/richdem/CMakeFiles/richdem.dir/include/richdem/common/random.cpp.o
[ 42%] Linking CXX static library librichdem.a
[ 42%] Built target richdem
Scanning dependencies of target fsm_paper_tests.exe
Scanning dependencies of target fsm_paper_speed_comparison.exe
[ 71%] Building CXX object CMakeFiles/fsm_paper_speed_comparison.exe.dir/src/fsm_paper_speed_comparison.cpp.o
[ 71%] Building CXX object CMakeFiles/fsm_paper_tests.exe.dir/src/fsm_paper_tests.cpp.o
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/src/fsm_paper_speed_comparison.cpp:1:
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:4:
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/include/dephier/dephier.hpp:5:
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:314:5: error: reference to non-static member function must be called
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/src/fsm_paper_tests.cpp:1:
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:4:
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/include/dephier/dephier.hpp:5:
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:314:5: error: reference to non-static member function must be called
data = ManagedVector<T>(data0, (uint64_t)width*(uint64_t)height);
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
data = ManagedVector<T>(data0, (uint64_t)width*(uint64_t)height);
^~~~
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp::430432::1212:: notenote: : possible target for callpossible target for call
T* data() { return _data.data(); }
const T* data() const { return _data.data(); } ^
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:461:10: error: reference to non-static member function must be called
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:461: if(data[i]==no_data)10
: ^~~~
error: /Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hppreference to non-static member function must be called:
432:12: note: possible target for call
if(data[i]==no_data)
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12 const T* data() const { return _data.data(); }:
^note
: possible target for call/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp
:430:12: note const T* data() const { return _data.data(); }
: ^
possible target for call
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }
^
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:463:32: error: /Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hppreference to non-static member function must be called:
463:32: error: reference to non-static member function must be called
minval = std::min(minval,data[i]);
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432 minval = std::min(minval,data[i]);:
12 ^~~~:
note/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp: :possible target for call432
:12: note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430 const T* data() const { return _data.data(); }:
12 ^:
note/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp: :possible target for call430
:12: note: possible target for call
T* data() { return _data.data(); }
^
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:472:10/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:: 472error:: 10reference to non-static member function must be called:
error: reference to non-static member function must be called
if(data[i]==no_data)
^~~~
if(data[i]==no_data)/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp
: ^~~~432
:12/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:: 432note:: 12possible target for call:
note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430: const T* data() const { return _data.data(); }12: note
: possible target for call ^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }
^
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:474:32: error: reference to non-static member function must be called
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:474:32: maxval = std::max(maxval,data[i]);
error ^~~~:
reference to non-static member function must be called
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
maxval = std::max(maxval,data[i]);
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12 const T* data() const { return _data.data(); }:
^note
: /Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }
^
possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp
: ^488
:10: error: reference to non-static member function must be called
if(data[i]==oldval)
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp
: ^488
:10: error: reference to non-static member function must be called
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:489:9: error: if(data[i]==oldval)reference to non-static member function must be called
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432: data[i] = newval;12
: ^~~~
note: /Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpppossible target for call:
432:12: note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430 const T* data() const { return _data.data(); }:
12 ^:
note/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp: :possible target for call430
:12: note: possible target for call
T* data() { return _data.data(); }
^
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:489:9: error: reference to non-static member function must be called
data[i] = newval;
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp::505430::1012:: errornote: : reference to non-static member function must be calledpossible target for call
if(data[i]==val)
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
const T* data() const { return _data.data(); }
T* data() { return _data.data(); } ^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp ^:430
:12: note: possible target for call
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:505:10: error: reference to non-static member function must be called
if(data[i]==val)
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:1268:9: error: reference to non-static member function must be called
data[i] *= x;
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:1268:9: error: reference to non-static member function must be called
data[i] *= x;
^~~~
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:432:12: note: possible target for call
const T* data() const { return _data.data(); }
^
/Users/danhobley/development/Barnes2020-FillSpillMerge/submodules/dephier/submodules/richdem/include/richdem/common/Array2D.hpp:430:12: note: possible target for call
T* data() { return _data.data(); }
^
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/src/fsm_paper_tests.cpp:1:
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:659:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
combined.my_labels.merge(left_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:660:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
combined.my_labels.merge(right_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/src/fsm_paper_speed_comparison.cpp:1:
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:659:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
combined.my_labels.merge(left_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:660:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
combined.my_labels.merge(right_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
11 errors generated.
make[2]: *** [CMakeFiles/fsm_paper_speed_comparison.exe.dir/src/fsm_paper_speed_comparison.cpp.o] Error 1
make[1]: *** [CMakeFiles/fsm_paper_speed_comparison.exe.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
11 errors generated.
make[2]: *** [CMakeFiles/fsm_paper_tests.exe.dir/src/fsm_paper_tests.cpp.o] Error 1
make[1]: *** [CMakeFiles/fsm_paper_tests.exe.dir/all] Error 2
make: *** [all] Error 2
from barnes2020-fillspillmerge.
from barnes2020-fillspillmerge.
@SiccarPoint: I don't think there's an assumption that NetCDF or GDAL are installed, although you'll get warnings if they're not present.
I was able to reproduce the compilation issues you found and have resolved them. You'll want to:
git pull
rm -rf submodules
git submodule update --init --recursive
from barnes2020-fillspillmerge.
Hmmmm, I am still getting the same error messages after that update call. For completeness' sake, here's what I see when I do cmake (which looks OK, once I repoint CONDA_BUILD_SYSROOT):
(base) ➜ build git:(master) ✗ export CONDA_BUILD_SYSROOT=/Opt/MacOSX10.9.sdk
(base) ➜ build git:(master) ✗ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is Clang 4.0.1
-- The CXX compiler identification is Clang 4.0.1
-- Check for working C compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang
-- Check for working C compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang++
-- Check for working CXX compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found NetCDF: /usr/local/lib/libnetcdf.dylib
-- Found GDAL: /usr/local/Cellar/gdal/2.4.4_6/lib/libgdal.dylib (found version "2.4.4")
-- Found OpenMP_C: -fopenmp=libomp (found version "3.1")
-- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1")
-- Found OpenMP: TRUE (found version "3.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/danhobley/development/Barnes2020-FillSpillMerge/build
from barnes2020-fillspillmerge.
...and this is the error without modifying CONDA_BUILD_SYSROOT:
(base) ➜ build git:(master) ✗ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is Clang 4.0.1
-- The CXX compiler identification is Clang 4.0.1
-- Check for working C compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang
-- Check for working C compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang - broken
CMake Error at /Applications/CMake.app/Contents/share/cmake-3.17/Modules/CMakeTestCCompiler.cmake:60 (message):
The C compiler
"/Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /Users/danhobley/development/Barnes2020-FillSpillMerge/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_4736e/fast && /Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/cmTC_4736e.dir/build.make CMakeFiles/cmTC_4736e.dir/build
Building C object CMakeFiles/cmTC_4736e.dir/testCCompiler.c.o
/Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -o CMakeFiles/cmTC_4736e.dir/testCCompiler.c.o -c /Users/danhobley/development/Barnes2020-FillSpillMerge/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_4736e
/Applications/CMake.app/Contents/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4736e.dir/link.txt --verbose=1
/Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs CMakeFiles/cmTC_4736e.dir/testCCompiler.c.o -o cmTC_4736e
ld: warning: ignoring file /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd, file was built for unsupported file format ( 0x2D 0x2D 0x2D 0x20 0x21 0x74 0x61 0x70 0x69 0x2D 0x74 0x62 0x64 0x2D 0x76 0x33 ) which is not the architecture being linked (x86_64): /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd
ld: dynamic main executables must link with libSystem.dylib for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [cmTC_4736e] Error 1
make: *** [cmTC_4736e/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:3 (project)
-- Configuring incomplete, errors occurred!
See also "/Users/danhobley/development/Barnes2020-FillSpillMerge/build/CMakeFiles/CMakeOutput.log".
See also "/Users/danhobley/development/Barnes2020-FillSpillMerge/build/CMakeFiles/CMakeError.log".
from barnes2020-fillspillmerge.
(I'll be offline from now, sorry, but back tomorrow)
Paper is pretty great, btw!
from barnes2020-fillspillmerge.
We're glad you like the paper! The output below from your post further up looks fine. Is it possible for you to use make
from there?
(base) ➜ build git:(master) ✗ export CONDA_BUILD_SYSROOT=/Opt/MacOSX10.9.sdk
(base) ➜ build git:(master) ✗ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is Clang 4.0.1
-- The CXX compiler identification is Clang 4.0.1
-- Check for working C compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang
-- Check for working C compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang++
-- Check for working CXX compiler: /Users/danhobley/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found NetCDF: /usr/local/lib/libnetcdf.dylib
-- Found GDAL: /usr/local/Cellar/gdal/2.4.4_6/lib/libgdal.dylib (found version "2.4.4")
-- Found OpenMP_C: -fopenmp=libomp (found version "3.1")
-- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1")
-- Found OpenMP: TRUE (found version "3.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/danhobley/development/Barnes2020-FillSpillMerge/build
from barnes2020-fillspillmerge.
Afraid not - this is what I get immediately before I call make
. And in this call I was getting pretty gnarly looking errors on the NetCDF and GDAL lines as well, until I installed them. (But I didn't test if the command still worked without them, as make
was still broken.)
from barnes2020-fillspillmerge.
Per #5, I also needed to tweak the git submodule
command to get it to take, but it changes nothing about this error.
from barnes2020-fillspillmerge.
Holding off on this until we resolve the DepressionHierarchy build issue.
from barnes2020-fillspillmerge.
Huh, so this is weird. That's now fixed (thank you!), and I'm still throwing errors with this. But, the error has now changed:
(base) ➜ build git:(master) make -j 4
Scanning dependencies of target richdem
[ 28%] Building CXX object submodules/dephier/submodules/richdem/CMakeFiles/richdem.dir/include/richdem/richdem.cpp.o
[ 28%] Building CXX object submodules/dephier/submodules/richdem/CMakeFiles/richdem.dir/include/richdem/common/random.cpp.o
[ 42%] Linking CXX static library librichdem.a
[ 42%] Built target richdem
Scanning dependencies of target fsm_paper_tests.exe
Scanning dependencies of target fsm_paper_speed_comparison.exe
[ 71%] Building CXX object CMakeFiles/fsm_paper_tests.exe.dir/src/fsm_paper_tests.cpp.o
[ 71%] Building CXX object CMakeFiles/fsm_paper_speed_comparison.exe.dir/src/fsm_paper_speed_comparison.cpp.o
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/src/fsm_paper_tests.cpp:1:
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:659:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
In file included from /Users/danhobley/development/Barnes2020-FillSpillMerge/src/fsm_paper_speed_comparison.cpp:1:
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:659:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
combined.my_labels.merge(left_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
combined.my_labels.merge(left_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:660:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
/Users/danhobley/development/Barnes2020-FillSpillMerge/include/fsm/fill_spill_merge.hpp:660:22: error: no member named 'merge' in 'std::__1::unordered_set<unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<unsigned int> >'
combined.my_labels.merge(right_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
combined.my_labels.merge(right_info.my_labels);
~~~~~~~~~~~~~~~~~~ ^
2 errors generated.
make[2]: *** [CMakeFiles/fsm_paper_speed_comparison.exe.dir/src/fsm_paper_speed_comparison.cpp.o] Error 1
make[1]: *** [CMakeFiles/fsm_paper_speed_comparison.exe.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
2 errors generated.
make[2]: *** [CMakeFiles/fsm_paper_tests.exe.dir/src/fsm_paper_tests.cpp.o] Error 1
make[1]: *** [CMakeFiles/fsm_paper_tests.exe.dir/all] Error 2
make: *** [all] Error 2
I'll take a look today if I can (but marking ahoy).
from barnes2020-fillspillmerge.
OK, this is ANOTHER Mac compilation issue: https://stackoverflow.com/questions/50444908/clang-6-not-supporting-unordered-mapmerge
from barnes2020-fillspillmerge.
...but unfortunately those steps around changing the compiler run, but do not fix this problem with make
. But hey, the error has evolved!
(base) ➜ build git:(master) make -j 4
Scanning dependencies of target richdem
[ 28%] Building CXX object submodules/dephier/submodules/richdem/CMakeFiles/richdem.dir/include/richdem/common/random.cpp.o
[ 28%] Building CXX object submodules/dephier/submodules/richdem/CMakeFiles/richdem.dir/include/richdem/richdem.cpp.o
[ 42%] Linking CXX static library librichdem.a
[ 42%] Built target richdem
Scanning dependencies of target fsm_paper_speed_comparison.exe
Scanning dependencies of target fsm_paper_tests.exe
[ 71%] Building CXX object CMakeFiles/fsm_paper_speed_comparison.exe.dir/src/fsm_paper_speed_comparison.cpp.o
[ 71%] Building CXX object CMakeFiles/fsm_paper_tests.exe.dir/src/fsm_paper_tests.cpp.o
[ 85%] Linking CXX executable fsm_paper_speed_comparison.exe
ld: library not found for -lnetcdf
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [fsm_paper_speed_comparison.exe] Error 1
make[1]: *** [CMakeFiles/fsm_paper_speed_comparison.exe.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking CXX executable fsm_paper_tests.exe
ld: library not found for -lnetcdf
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [fsm_paper_tests.exe] Error 1
make[1]: *** [CMakeFiles/fsm_paper_tests.exe.dir/all] Error 2
make: *** [all] Error 2
from barnes2020-fillspillmerge.
@SiccarPoint : I've just pushed a fix that should resolve the issue. I've also updated the README.md with some Mac instructions.
from barnes2020-fillspillmerge.
Fantastic! We are in business! Thanks so much for the help.
Incidentally, I think a couple more stages are needed for a Mac install. llvm
is also needed through brew
, and the SDK in Xcode needs to be temporarily but forcibly downgraded for the build. I did this:
https://gist.github.com/SiccarPoint/f6783361385d0d4665c78835a3ed4317
from barnes2020-fillspillmerge.
I tested the build on Linux (Ubuntu 20.04) and can confirm the successful build with no additional instructions.
Thanks for the detailed instructions, @SiccarPoint.
@r-barnes: Tag me here if you want me to help splice those into the README; otherwise, I'll leave you to it.
from barnes2020-fillspillmerge.
See: #6
from barnes2020-fillspillmerge.
Related Issues (13)
- Compile error on Windows 10. HOT 2
- Depression label issue HOT 4
- License related questions
- Simulate pluvial inundation HOT 1
- please add install rule to cmake config HOT 1
- GDAL detection broken HOT 2
- compiling problem HOT 6
- running the code on mac HOT 3
- reuse previously computed dephier in subsequent calls to fill-spil-merge
- Cannot compile code HOT 3
- Install instructions HOT 1
- compile error code HOT 15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from barnes2020-fillspillmerge.