I am trying to compile and run Galois heterogenous distribution graph lib on Summit. However, I got errors when I was compiling it.
I uses the master branch. The CMakeList.txt I modified are below. I made thos changes because some libs are locally installed:
[yuxinc@login4.summit Galois]$ git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 476b5a79a..877b52adf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -154,7 +154,7 @@ endif()
find_package(Boost 1.58.0 REQUIRED COMPONENTS serialization iostreams)
-find_package(LLVM REQUIRED CONFIG)
+find_package(LLVM REQUIRED PATHS "/sw/summit/llvm/10.0.1/10.0.1-0/" CONFIG)
if("${LLVM_PACKAGE_VERSION}" VERSION_LESS "7")
message(FATAL_ERROR "LLVM 7 or greater is required.")
endif()
diff --git a/libsupport/CMakeLists.txt b/libsupport/CMakeLists.txt
index 351539781..2c690a946 100644
--- a/libsupport/CMakeLists.txt
+++ b/libsupport/CMakeLists.txt
@@ -15,7 +15,7 @@ target_include_directories(galois_support PUBLIC
$<INSTALL_INTERFACE:include>
)
-find_package(fmt REQUIRED)
+find_package(fmt REQUIRED PATHS "/ccs/home/yuxinc/pkg/fmt/build")
if (fmt_VERSION VERSION_LESS 4)
message(FATAL_ERROR "fmt must be version 4 or higher. Found ${fmt_VERSION}.")
endif()
When I run cmake ${GALOIS_ROOT} -DGALOIS_ENABLE_DIST=1 -DGALOIS_CUDA_CAPABILITY="7.0" -DCMAKE_CUDA_ARCHITECTURES=70 in path Galois/lonestar/analytics/distributed, the cmake run successfully.
However, when I run make in path Galois/lonestar/analytics/distributed
I got errors:
format.cc:(.text+0x3ce0): undefined reference to `std::__throw_bad_array_new_length()'
format.cc:(.text+0x3d10): undefined reference to `std::__throw_bad_array_new_length()'
format.cc:(.text+0x3d30): undefined reference to `std::__throw_bad_array_new_length()'
/ccs/home/yuxinc/pkg/fmt/build/libfmt.a(format.cc.o): In function `fmt::v8::basic_memory_buffer<unsigned int, 32ul, std::allocator<unsigned int> >::grow(unsigned long)':
format.cc:(.text._ZN3fmt2v819basic_memory_bufferIjLm32ESaIjEE4growEm[_ZN3fmt2v819basic_memory_bufferIjLm32ESaIjEE4growEm]+0x130): undefined reference to `std::__throw_bad_array_new_length()'
/ccs/home/yuxinc/pkg/fmt/build/libfmt.a(format.cc.o): In function `fmt::v8::basic_memory_buffer<int, 500ul, std::allocator<int> >::grow(unsigned long)':
format.cc:(.text._ZN3fmt2v819basic_memory_bufferIiLm500ESaIiEE4growEm[_ZN3fmt2v819basic_memory_bufferIiLm500ESaIiEE4growEm]+0x130): undefined reference to `std::__throw_bad_array_new_length()'
/ccs/home/yuxinc/pkg/fmt/build/libfmt.a(format.cc.o):format.cc:(.text._ZN3fmt2v819basic_memory_bufferIwLm500ESaIwEE4growEm[_ZN3fmt2v819basic_memory_bufferIwLm500ESaIwEE4growEm]+0x130): more undefined references to `std::__throw_bad_array_new_length()' follow
/usr/bin/ld: link errors found, deleting executable `unit-getenv'
collect2: error: ld returned 1 exit status
make[2]: *** [libsupport/test/CMakeFiles/unit-getenv.dir/build.make:99: libsupport/test/unit-getenv] Error 1
make[1]: *** [CMakeFiles/Makefile2:2666: libsupport/test/CMakeFiles/unit-getenv.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 10%] Linking CXX executable unit-logging
/ccs/home/yuxinc/pkg/fmt/build/libfmt.a(format.cc.o): In function `fmt::v8::detail::utf8_to_utf16::utf8_to_utf16(fmt::v8::basic_string_view<char>)':
format.cc:(.text+0x3ce0): undefined reference to `std::__throw_bad_array_new_length()'
format.cc:(.text+0x3d10): undefined reference to `std::__throw_bad_array_new_length()'
format.cc:(.text+0x3d30): undefined reference to `std::__throw_bad_array_new_length()'
/ccs/home/yuxinc/pkg/fmt/build/libfmt.a(format.cc.o): In function `fmt::v8::basic_memory_buffer<unsigned int, 32ul, std::allocator<unsigned int> >::grow(unsigned long)':
format.cc:(.text._ZN3fmt2v819basic_memory_bufferIjLm32ESaIjEE4growEm[_ZN3fmt2v819basic_memory_bufferIjLm32ESaIjEE4growEm]+0x130): undefined reference to `std::__throw_bad_array_new_length()'
/ccs/home/yuxinc/pkg/fmt/build/libfmt.a(format.cc.o): In function `fmt::v8::basic_memory_buffer<wchar_t, 500ul, std::allocator<wchar_t> >::grow(unsigned long)':
format.cc:(.text._ZN3fmt2v819basic_memory_bufferIwLm500ESaIwEE4growEm[_ZN3fmt2v819basic_memory_bufferIwLm500ESaIwEE4growEm]+0x130): undefined reference to `std::__throw_bad_array_new_length()'
/ccs/home/yuxinc/pkg/fmt/build/libfmt.a(format.cc.o):format.cc:(.text._ZN3fmt2v86detail6bufferIwE6appendIwEEvPKT_S7_[_ZN3fmt2v86detail6bufferIwE6appendIwEEvPKT_S7_]+0x270): more undefined references to `std::__throw_bad_array_new_length()' follow
/usr/bin/ld: link errors found, deleting executable `unit-logging'
collect2: error: ld returned 1 exit status
make[2]: *** [libsupport/test/CMakeFiles/unit-logging.dir/build.make:99: libsupport/test/unit-logging] Error 1
make[1]: *** [CMakeFiles/Makefile2:2640: libsupport/test/CMakeFiles/unit-logging.dir/all] Error 2
[ 11%] Linking CXX static library libgalois_shmem.a
[ 11%] Built target galois_shmem
/ccs/home/yuxinc/Galois/libgpu/src/csr_graph.cu: In member function 'void CSRGraphTex::copy_to_gpu(CSRGraphTex&)':
/ccs/home/yuxinc/Galois/libgpu/src/csr_graph.cu:75:23: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5
75 | copygraph.nnodes = nnodes;
| ~^~~~~~
[ 12%] Linking CUDA static library libgalois_gpu.a
[ 12%] Built target galois_gpu
make: *** [Makefile:166: all] Error 2
I also tried on my workstation, some fmt linkage error. Could you help me fix this?
Hi,
I am trying to compile and run Galois heterogenous distribution graph lib on Summit. However, I got errors when I was compiling it. I uses the master branch. The CMakeList.txt I modified are below. I made thos changes because some libs are locally installed:
When I run
cmake ${GALOIS_ROOT} -DGALOIS_ENABLE_DIST=1 -DGALOIS_CUDA_CAPABILITY="7.0" -DCMAKE_CUDA_ARCHITECTURES=70
in pathGalois/lonestar/analytics/distributed
, the cmake run successfully. However, when I runmake
in pathGalois/lonestar/analytics/distributed
I got errors:I also tried on my workstation, some fmt linkage error. Could you help me fix this?
Thanks!
Yuxin