nanoporetech / dorado

Oxford Nanopore's Basecaller
https://nanoporetech.com/
Other
493 stars 59 forks source link

Dorado instalation fails #828

Closed lrcfsalex closed 4 months ago

lrcfsalex commented 4 months ago

Dorado wont install completely and gives the following errors:

/home/datavis/dorado/dorado/splitter/myers.cpp: In function ‘std::vector<dorado::splitter::EdistResult> dorado::splitter::myers_align(std::string_view, std::string_view, std::size_t)’:
/home/datavis/dorado/dorado/splitter/myers.cpp:117:32: error: ‘*(long unsigned int*)((char*)&current_range_end + offsetof(std::optional<long unsigned int>,std::optional<long unsigned int>::<unnamed>.std::_Optional_base<long unsigned int, true, true>::<unnamed>))’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  117 |     std::optional<std::size_t> current_range_end;
      |                                ^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [CMakeFiles/dorado_lib.dir/build.make:718: CMakeFiles/dorado_lib.dir/dorado/splitter/myers.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
[ 73%] Linking CXX static library libdorado_models_lib.a
[ 73%] Built target dorado_models_lib
[ 73%] Linking CXX static library libdorado_tests_common.a
[ 73%] Built target dorado_tests_common
gmake[1]: *** [CMakeFiles/Makefile2:466: CMakeFiles/dorado_lib.dir/all] Error 2
gmake: *** [Makefile:166: all] Error 2

any suggestions

HalfPhoton commented 4 months ago

@lrcfsalex, which version of dorado are you compiling?

HalfPhoton commented 4 months ago

This issue is duplicated - https://github.com/nanoporetech/dorado/issues/736 and https://github.com/nanoporetech/dorado/issues/718

lrcfsalex commented 4 months ago

Hello Richard, Don't have the version number to hand, but it was the latest version on git hub.

-- Dr Alexander Gray https://www.dundee.ac.uk/leverhulme/staff/details/alexander-gray.php Leverhulme Principal Investigator Leverhulme Research Centre for Forensic Science, University of Dundeehttps://www.dundee.ac.uk/leverhulme/ +44 (0)1382 388057<tel:+441382388057> | @.**@.>

From: Richard Harris @.> Sent: Wednesday, May 22, 2024 10:04 AM To: nanoporetech/dorado @.> Cc: Alexander Gray (Staff) @.>; Mention @.> Subject: Re: [nanoporetech/dorado] Dorado instalation fails (Issue #828)

You don't often get email from @.**@.>. Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification

CAUTION: This email originated from outside the University of Dundee. Do not click links or open attachments unless you recognise the sender's email address and know the content is safe.

@lrcfsalexhttps://github.com/lrcfsalex, which version of dorado are you compiling?

- Reply to this email directly, view it on GitHubhttps://github.com/nanoporetech/dorado/issues/828#issuecomment-2124250994, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BIU45YKTFAV6B2ZYYNEXZT3ZDRNO7AVCNFSM6AAAAABIDFUT42VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUGI2TAOJZGQ. You are receiving this because you were mentioned.Message ID: @.**@.>>

The University of Dundee is a registered Scottish Charity, No: SC015096

HalfPhoton commented 4 months ago

You likely aren't using the gcc9 compiler - Please follow the guidance on those other threads

lrcfsalex commented 4 months ago

gcc9 installed and the error persists as below

- Generating done
-- Build files have been written to: /home/datavis/dorado/cmake-build
datavis@datavis-Alienware-Area-51-R2:~/dorado$ cmake --build cmake-build --config Release -j
Consolidate compiler generated dependencies of target edlib
Consolidate compiler generated dependencies of target dorado_torch_lib
Consolidate compiler generated dependencies of target minizip
Consolidate compiler generated dependencies of target dorado_compat
Consolidate compiler generated dependencies of target spdlog
Consolidate compiler generated dependencies of target minimap2
[  3%] Built target htslib_project
[  4%] Built target dorado_torch_lib
[  5%] Built target edlib
[  5%] Built target dorado_compat
[ 11%] Built target minizip
[ 11%] Built target streamvbyte
[ 20%] Built target minimap2
Consolidate compiler generated dependencies of target vbz
[ 24%] Built target spdlog
Consolidate compiler generated dependencies of target elzip
Consolidate compiler generated dependencies of target dorado_pch
[ 27%] Built target elzip
[ 27%] Built target vbz
Consolidate compiler generated dependencies of target vbz_hdf_plugin
[ 28%] Built target vbz_hdf_plugin
[ 29%] Built target dorado_pch
Consolidate compiler generated dependencies of target dorado_utils
[ 40%] Built target dorado_utils
Consolidate compiler generated dependencies of target dorado_modbase
Consolidate compiler generated dependencies of target dorado_basecall
Consolidate compiler generated dependencies of target dorado_models_lib
Consolidate compiler generated dependencies of target dorado_tests_common
[ 43%] Built target dorado_modbase
[ 48%] Built target dorado_basecall
Consolidate compiler generated dependencies of target dorado_lib
[ 53%] Built target dorado_models_lib
[ 53%] Built target dorado_tests_common
[ 53%] Building CXX object CMakeFiles/dorado_lib.dir/dorado/splitter/myers.cpp.o
/home/datavis/dorado/dorado/splitter/myers.cpp: In function ‘std::vector<dorado::splitter::EdistResult> dorado::splitter::myers_align(std::string_view, std::string_view, std::size_t)’:
/home/datavis/dorado/dorado/splitter/myers.cpp:117:32: error: ‘*(long unsigned int*)((char*)&current_range_end + offsetof(std::optional<long unsigned int>,std::optional<long unsigned int>::<unnamed>.std::_Optional_base<long unsigned int, true, true>::<unnamed>))’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  117 |     std::optional<std::size_t> current_range_end;
      |                                ^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [CMakeFiles/dorado_lib.dir/build.make:718: CMakeFiles/dorado_lib.dir/dorado/splitter/myers.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:466: CMakeFiles/dorado_lib.dir/all] Error 2
gmake: *** [Makefile:166: all] Error 2
malton-ont commented 4 months ago

@lrcfsalex,

You say you've installed gcc-9, but is it being invoked by your CMake? You will need to do a clean reconfigure (delete cmake-build/CMakeCache.txt) as CMake remembers the compiler it was configured to use.

Can you show the output from the configuration step (cmake -S . -B cmake-build)? In particular, look for lines like:

[cmake] -- The C compiler identification is GNU 9.4.0
[cmake] -- The CXX compiler identification is GNU 9.4.0
...
lrcfsalex commented 4 months ago

Thanks for that, will try tomorrow and let you know.

-- Dr Alexander Gray https://www.dundee.ac.uk/leverhulme/staff/details/alexander-gray.php Leverhulme Principal Investigator Leverhulme Research Centre for Forensic Science, University of Dundeehttps://www.dundee.ac.uk/leverhulme/ +44 (0)1382 388057<tel:+441382388057> | @.**@.>

From: malton-ont @.> Sent: Wednesday, May 22, 2024 3:35 PM To: nanoporetech/dorado @.> Cc: Alexander Gray (Staff) @.>; Mention @.> Subject: Re: [nanoporetech/dorado] Dorado instalation fails (Issue #828)

You don't often get email from @.**@.>. Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification

CAUTION: This email originated from outside the University of Dundee. Do not click links or open attachments unless you recognise the sender's email address and know the content is safe.

@lrcfsalexhttps://github.com/lrcfsalex,

You say you've installed gcc-9, but is it being invoked by your CMake? You will need to do a clean reconfigure (delete cmake-build/CMakeCache.txt) as CMake remembers the compiler it was configured to use.

Can you show the output from the configuration step (cmake -S . -B cmake-build)? In particular, look for lines like:

[cmake] -- The C compiler identification is GNU 9.4.0

[cmake] -- The CXX compiler identification is GNU 9.4.0

...

- Reply to this email directly, view it on GitHubhttps://github.com/nanoporetech/dorado/issues/828#issuecomment-2124964203, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BIU45YLA4ZQCK6FNNUKJPLLZDSUKDAVCNFSM6AAAAABIDFUT42VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUHE3DIMRQGM. You are receiving this because you were mentioned.Message ID: @.**@.>>

The University of Dundee is a registered Scottish Charity, No: SC015096

lrcfsalex commented 4 months ago

The out put of (cmake -S . -B cmake-build) is showing libraries not found warnings. I assume this is the problem any help would be appreciated.

atavis@datavis-Alienware-Area-51-R2:~/dorado$ cmake -S . -B cmake-build
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type: Release
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found CUDA 11.5.119 (/usr -> /usr)
-- Submodule update
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a;/usr/lib/x86_64-linux-gnu/libcrypto.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.10.7") found components: C 
-- Found CUDAToolkit: /usr/include (found version "11.5.119") 
-- Found libkoi-0.4.5-Linux-x86_64-cuda-11.3
-- Found pod5-0.2.4-Linux
-- Found CUDA: /usr (found version "11.5") 
-- Found Python3: /usr/bin/python3.10 (found version "3.10.12") found components: Interpreter 
-- Found torch-2.0.0-ont.2-cxx11-abi-static-Linux
CMake Warning at cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library foxi_loader_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:106 (append_torchlib_if_found)
  cmake/Torch.cmake:199 (find_package)
  CMakeLists.txt:75 (include)

CMake Warning at cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library fmt_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:106 (append_torchlib_if_found)
  cmake/Torch.cmake:199 (find_package)
  CMakeLists.txt:75 (include)

CMake Warning at cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library eigen_blas_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:113 (append_torchlib_if_found)
  cmake/Torch.cmake:199 (find_package)
  CMakeLists.txt:75 (include)

CMake Warning at cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library mkldnn_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:120 (append_torchlib_if_found)
  cmake/Torch.cmake:199 (find_package)
  CMakeLists.txt:75 (include)

CMake Warning at cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library asmjit_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/share/cmake/Torch/TorchConfig.cmake:123 (append_torchlib_if_found)
  cmake/Torch.cmake:199 (find_package)
  CMakeLists.txt:75 (include)

-- Found Torch: /home/datavis/dorado/cmake-build/download/torch-2.0.0-ont.2-cxx11-abi-static-Linux/libtorch/lib/libtorch.a  
-- TORCH_BUILD_VERSION: 2.0.0-ont
-- Found openssl3-Linux-x86_64
-- Setting up htslib build
-- Done Building htslib
-- Build spdlog: 1.12.0
-- Build type: Release
-- Using CMake version 3.22.1
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - found
-- Using ZLIB 1.2.11
-- Character encoding support requires iconv
-- The following features have been enabled:

 * MZ_COMPAT, Enables compatibility layer
 * MZ_ZLIB, Enables ZLIB compression
 * MZ_FETCH_LIBS, Enables fetching third-party libraries if not found
 * MZ_DECOMPRESS_ONLY, Only support decompression

-- The following features have been disabled:

 * MZ_BZIP2, Enables BZIP2 compression
 * MZ_LZMA, Enables LZMA & XZ compression
 * MZ_ZSTD, Enables ZSTD compression
 * MZ_LIBCOMP, Enables Apple compression
 * MZ_FORCE_FETCH_LIBS, Enables fetching third-party libraries always
 * MZ_PKCRYPT, Enables PKWARE traditional encryption
 * MZ_WZAES, Enables WinZIP AES encryption
 * MZ_OPENSSL, Enables OpenSSL for encryption
 * MZ_LIBBSD, Build with libbsd for crypto random
 * MZ_SIGNING, Enables zip signing support
 * MZ_ICONV, Enables iconv string encoding conversion library
 * MZ_COMPRESS_ONLY, Only support compression
 * MZ_FILE32_API, Builds using posix 32-bit file api
 * MZ_BUILD_TESTS, Builds minizip test executable
 * MZ_BUILD_UNIT_TESTS, Builds minizip unit test project
 * MZ_BUILD_FUZZ_TESTS, Builds minizip fuzzer executables
 * MZ_CODE_COVERAGE, Builds with code coverage flags

-- Build type: Release
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- build minimap2 exe: OFF
-- build minimap2 lib: 
Setting warning flags
-- Performing Test WOLD_STYLE_CAST
-- Performing Test WOLD_STYLE_CAST - Success
-- Performing Test WSHADOW
-- Performing Test WSHADOW - Success
# date: USE_SYSTEM_TZ_DB OFF
# date: MANUAL_TZ_DB OFF
# date: USE_TZ_DB_IN_DOT OFF
# date: BUILD_SHARED_LIBS OFF
# date: ENABLE_DATE_TESTING OFF
# date: DISABLE_STRING_VIEW OFF
-- Building version 1.0.3
-- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a;/usr/lib/x86_64-linux-gnu/libcrypto.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so (found suitable version "1.10.7", minimum required is "1.8.16")  
-- Found zstd: /usr/lib/x86_64-linux-gnu/libzstd.so (found suitable version "1.4.8", minimum required is "1.3.1") 
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/datavis/dorado/cmake-build
malton-ont commented 4 months ago

@lrcfsalex,

Those warnings can be safely ignored - we don't use them, it's just the torch cmake being over-zealous. Your configure succeeded, as you can see from the lines:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/datavis/dorado/cmake-build

However, you do appear to have configured to build using gcc-11.4:

-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0

To override this, you can either change the default gcc using something like update-alternatives or simply set -D CMAKE_C_COMPILER="/path/to/your/gcc-9" -D CMAKE_CXX_COMPILER "/path/to/your/g++-9"

Note also that, unless you have a compelling reason to want to compile from source, you can just download pre-built binaries of dorado. See https://github.com/nanoporetech/dorado?tab=readme-ov-file#installation

lrcfsalex commented 4 months ago

Thanks for that. Sorry to be a dimwit but after downloading the pre built binaries how are they installed / used?

malton-ont commented 4 months ago

Hi @lrcfsalex,

The downloads are zipped tar files, so just tar xfz dorado-0.7.0-linux-x64.tar.gz where you'd like the binaries to be. Then you can call dorado using the full path: /your/download/path/dorado-0.7.0-linux-x64/bin/dorado basecaller... or add the bin folder from the download location to your PATH environment variable and just call dorado ...

lrcfsalex commented 4 months ago

Many thanks got it working now