NVlabs / nvbio

NVBIO is a library of reusable components designed to accelerate bioinformatics applications using CUDA.
BSD 3-Clause "New" or "Revised" License
206 stars 50 forks source link

build fails with different versions of g++ and CUDA - which one will work? #13

Closed muellan closed 8 years ago

muellan commented 8 years ago

I have tried to build the latest nvbio on a Ubuntu 14.04 box with:

Can anyone give me some advice on how to get the library to compile?

The build fails with these messages (apart from a gazillion warnings about integer conversions and macro redefinitions):

In file included from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/block/specializations/../../block/../util_type.cuh:40:0,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/block/specializations/../../block/../util_ptx.cuh:37,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/block/specializations/../../block/block_exchange.cuh:36,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/block/specializations/../../block/block_radix_sort.cuh:37,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/block/specializations/block_histogram_sort.cuh:36,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/block/block_histogram.cuh:36,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/cub.cuh:38,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub.h:63,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/detail/stable_radix_sort.inl:28,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/detail/stable_radix_sort.h:86,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/detail/stable_primitive_sort.inl:21,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/detail/stable_primitive_sort.h:81,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/sort.inl:23,
                 from /usr/local/cuda-7.5/include/thrust/system/cuda/detail/sort.h:59,
                 from /usr/local/cuda-7.5/include/thrust/system/detail/adl/sort.h:32,
                 from /usr/local/cuda-7.5/include/thrust/detail/sort.inl:27,
                 from /usr/local/cuda-7.5/include/thrust/sort.h:1361,
                 from /home/muellan/nvbio/nvbio/basic/primitives.h:40,
                 from /home/muellan/nvbio/nvbio/strings/wavelet_tree.h:32,
                 from /home/muellan/nvbio/nvbio-test/wavelet_test.cu:34:
/usr/local/cuda-7.5/include/thrust/system/cuda/detail/cub/block/specializations/../../block/../util_arch.cuh:190:0: note: this is the location of the previous definition
/home/muellan/nvbio/nvbio/basic/iterator.h(104): error: class "nvbio::iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<thrust::random_access_device_iterator_tag, thrust::device_system_tag, thrust::random_access_traversal_tag>>" has no member "type"
          detected during:
            instantiation of class "nvbio::iterator_system<iterator> [with iterator=nvbio::PackedStream<thrust::device_ptr<nvbio::uint32>, nvbio::uint8, 1U, true, nvbio::uint32>]"
/home/muellan/nvbio/nvbio/strings/wavelet_tree.h(80): here
            instantiation of class "nvbio::WaveletTree<BitStreamIterator, IndexIterator, SymbolType> [with BitStreamIterator=nvbio::PackedStream<thrust::device_ptr<nvbio::uint32>, nvbio::uint8, 1U, true, nvbio::uint32>, IndexIterator=thrust::detail::normal_iterator<thrust::device_ptr<nvbio::uint32>>, SymbolType=nvbio::uint8]"
/home/muellan/nvbio/nvbio-test/wavelet_test.cu(106): here

/home/muellan/nvbio/nvbio/basic/iterator.h(104): error: class "nvbio::iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<thrust::random_access_device_iterator_tag, thrust::device_system_tag, thrust::random_access_traversal_tag>>" has no member "type"
          detected during:
            instantiation of class "nvbio::iterator_system<iterator> [with iterator=thrust::device_ptr<nvbio::uint32>]"
/home/muellan/nvbio/nvbio/basic/packedstream_inl.h(1414): here
            instantiation of "void nvbio::assign(IndexType, InputIterator, nvbio::PackedStream<InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType>) [with InputIterator=thrust::transform_iterator<nvbio::select_bit_functor<nvbio::uint8>, thrust::detail::normal_iterator<thrust::device_ptr<nvbio::uint8>>, thrust::use_default, thrust::use_default>, InputStream=thrust::device_ptr<nvbio::uint32>, Symbol=nvbio::uint8, SYMBOL_SIZE_T=1U, BIG_ENDIAN_T=true, IndexType=nvbio::uint32]"
/home/muellan/nvbio/nvbio/strings/wavelet_tree_inl.h(197): here
            instantiation of "void nvbio::setup(index_type, const string_iterator &, nvbio::WaveletTreeStorage<system_tag, index_type, symbol_type> &) [with system_tag=nvbio::device_tag, string_iterator=thrust::detail::normal_iterator<thrust::device_ptr<nvbio::uint8>>, index_type=nvbio::uint32, symbol_type=nvbio::uint8]"
/home/muellan/nvbio/nvbio-test/wavelet_test.cu(97): here

/home/muellan/nvbio/nvbio/basic/iterator.h(104): error: class "nvbio::iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<thrust::random_access_device_iterator_tag, thrust::device_system_tag, thrust::random_access_traversal_tag>>" has no member "type"
          detected during:
            instantiation of class "nvbio::iterator_system<iterator> [with iterator=nvbio::PackedStream<thrust::device_ptr<const nvbio::uint32>, nvbio::uint8, 1U, true, nvbio::uint32>]"
/home/muellan/nvbio/nvbio/strings/wavelet_tree.h(80): here
            instantiation of class "nvbio::WaveletTree<BitStreamIterator, IndexIterator, SymbolType> [with BitStreamIterator=nvbio::PackedStream<thrust::device_ptr<const nvbio::uint32>, nvbio::uint8, 1U, true, nvbio::uint32>, IndexIterator=thrust::detail::normal_iterator<thrust::device_ptr<const nvbio::uint32>>, SymbolType=nvbio::uint8]"
/home/muellan/nvbio/nvbio/strings/wavelet_tree.h(343): here
            instantiation of "nvbio::WaveletTreeStorage<SystemTag, IndexType, SymbolType>::plain_view_type nvbio::plain_view(nvbio::WaveletTreeStorage<SystemTag, IndexType, SymbolType> &) [with SystemTag=nvbio::device_tag, IndexType=nvbio::uint32, SymbolType=nvbio::uint8]"
/home/muellan/nvbio/nvbio-test/wavelet_test.cu(106): here

3 errors detected in the compilation of "/tmp/tmpxft_0000c633_00000000-7_wavelet_test.cpp1.ii".
CMake Error at nvbio-test_generated_wavelet_test.cu.o.cmake:264 (message):
  Error generating file
  /home/muellan/nvbio/build/nvbio-test/CMakeFiles/nvbio-test.dir//./nvbio-test_generated_wavelet_test.cu.o
nsubtil commented 8 years ago

The supported configuration is gcc 4.8 with CUDA 6.5.

There have been some fixes for CUDA 7.x recently, but unfortunately the build still doesn't work with the latest toolkit versions.

muellan commented 8 years ago

Ah, OK, thanks.

vmiheer commented 6 years ago

Is this repository not maintained? (I am wondering if this repository is moved to some other location and/or will there be ever support for newer cuda versions?) Thanking you. +miheer