Giter VIP home page Giter VIP logo

Comments (18)

r-barnes avatar r-barnes commented on July 20, 2024 1

@awickert : If you have time, that'd be great.

from barnes2020-fillspillmerge.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

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.

r-barnes avatar r-barnes commented on July 20, 2024

from barnes2020-fillspillmerge.

r-barnes avatar r-barnes commented on July 20, 2024

@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.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

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.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

...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.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

(I'll be offline from now, sorry, but back tomorrow)
Paper is pretty great, btw!

from barnes2020-fillspillmerge.

r-barnes avatar r-barnes commented on July 20, 2024

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.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

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.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

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.

r-barnes avatar r-barnes commented on July 20, 2024

Holding off on this until we resolve the DepressionHierarchy build issue.

from barnes2020-fillspillmerge.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

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.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

OK, this is ANOTHER Mac compilation issue: https://stackoverflow.com/questions/50444908/clang-6-not-supporting-unordered-mapmerge

from barnes2020-fillspillmerge.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

...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.

r-barnes avatar r-barnes commented on July 20, 2024

@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.

SiccarPoint avatar SiccarPoint commented on July 20, 2024

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.

awickert avatar awickert commented on July 20, 2024

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.

awickert avatar awickert commented on July 20, 2024

See: #6

from barnes2020-fillspillmerge.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.