Open kbipinkumar opened 1 year ago
Dear @kbipinkumar,
Thanks for reaching out!
It is possible to use a packaged version, but the version needs to be 3.0.1, which is available here: https://github.com/xxsds/sdsl-lite
The packaged debian version (https://packages.debian.org/sid/libseqan3-dev, https://salsa.debian.org/med-team/seqan3) doesn't package sdsl-lite v3, but uses the submodule.
Please let us know if you have any further questions.
Thanks for the input. We will attempt to build with submodule approach then.
hi i am attempting to build from sources as below
$ git clone https://github.com/seqan/seqan3.git
$ cd seqan3
$ git submodule update --init --recursive
Submodule 'cereal' (https://github.com/USCiLab/cereal) registered for path 'submodules/cereal'
Submodule 'sdsl-lite' (https://github.com/xxsds/sdsl-lite) registered for path 'submodules/sdsl-lite'
Cloning into '/build/seqan3/src/seqan3/submodules/cereal'...
Cloning into '/build/seqan3/src/seqan3/submodules/sdsl-lite'...
Submodule path 'submodules/cereal': checked out 'ebef1e929807629befafbb2918ea1a08c7194554'
Submodule path 'submodules/sdsl-lite': checked out '549721d74f346f540b0e7c2e276dba643405c16e'
Submodule 'external/cereal' (https://github.com/USCiLab/cereal.git) registered for path 'submodules/sdsl-lite/external/cereal'
Submodule 'external/googletest' (https://github.com/google/googletest.git) registered for path 'submodules/sdsl-lite/external/googletest'
Cloning into '/build/seqan3/src/seqan3/submodules/sdsl-lite/external/cereal'...
Cloning into '/build/seqan3/src/seqan3/submodules/sdsl-lite/external/googletest'...
Submodule path 'submodules/sdsl-lite/external/cereal': checked out '02eace19a99ce3cd564ca4e379753d69af08c2c8'
Submodule path 'submodules/sdsl-lite/external/googletest': checked out 'e2239ee6043f73722e7aa812a459f54a28552929'
$ cmake -B build \
-DCMAKE_BUILD_TYPE='None' \
-DCMAKE_INSTALL_PREFIX='/usr' \
-DCMAKE_SKIP_RPATH=true \
-Wno-dev
$ cmake --build build
the build process errors out as below
-- Finding SeqAn3 and checking requirements:
-- SeqAn3 include dir found: /build/seqan3/src/seqan3/include
-- Detected as running from a repository checkout…
-- …adding submodule include: /build/seqan3/src/seqan3/submodules/cereal/include
-- …adding submodule include: /build/seqan3/src/seqan3/submodules/sdsl-lite/include
-- C++ Standard-20 support: via -std=c++20
-- C++ Concepts support: via -std=c++20
-- Thread support: builtin.
CMake Error at build_system/seqan3-config.cmake:113 (message):
The SDSL library is required, but wasn't found. Get it from
https://github.com/xxsds/sdsl-lite
Call Stack (most recent call first):
build_system/seqan3-config.cmake:319 (seqan3_config_error)
CMakeLists.txt:32 (find_package)
-- Configuring incomplete, errors occurred!
i am sure git submodule update --init --recursive
did fetch sdsl-lite but it seems to be not detected by cmake.
Hey, I couldn't reproduce this on my arch linux machine.
Can you tell me the exact git commit version, you are using?
The line C++ Concepts support: via -std=c++20
is suspicious. It was removed 24th Oct 2022 ( #771c10e108c ) . We require c++20 now in any case.
hi i am attempting to build from sources as below
$ git clone https://github.com/seqan/seqan3.git $ cd seqan3 $ git submodule update --init --recursive Submodule 'cereal' (https://github.com/USCiLab/cereal) registered for path 'submodules/cereal' Submodule 'sdsl-lite' (https://github.com/xxsds/sdsl-lite) registered for path 'submodules/sdsl-lite' Cloning into '/build/seqan3/src/seqan3/submodules/cereal'... Cloning into '/build/seqan3/src/seqan3/submodules/sdsl-lite'... Submodule path 'submodules/cereal': checked out 'ebef1e929807629befafbb2918ea1a08c7194554' Submodule path 'submodules/sdsl-lite': checked out '549721d74f346f540b0e7c2e276dba643405c16e' Submodule 'external/cereal' (https://github.com/USCiLab/cereal.git) registered for path 'submodules/sdsl-lite/external/cereal' Submodule 'external/googletest' (https://github.com/google/googletest.git) registered for path 'submodules/sdsl-lite/external/googletest' Cloning into '/build/seqan3/src/seqan3/submodules/sdsl-lite/external/cereal'... Cloning into '/build/seqan3/src/seqan3/submodules/sdsl-lite/external/googletest'... Submodule path 'submodules/sdsl-lite/external/cereal': checked out '02eace19a99ce3cd564ca4e379753d69af08c2c8' Submodule path 'submodules/sdsl-lite/external/googletest': checked out 'e2239ee6043f73722e7aa812a459f54a28552929' $ cmake -B build \ -DCMAKE_BUILD_TYPE='None' \ -DCMAKE_INSTALL_PREFIX='/usr' \ -DCMAKE_SKIP_RPATH=true \ -Wno-dev $ cmake --build build
the build process errors out as below
-- Finding SeqAn3 and checking requirements: -- SeqAn3 include dir found: /build/seqan3/src/seqan3/include -- Detected as running from a repository checkout… -- …adding submodule include: /build/seqan3/src/seqan3/submodules/cereal/include -- …adding submodule include: /build/seqan3/src/seqan3/submodules/sdsl-lite/include -- C++ Standard-20 support: via -std=c++20 -- C++ Concepts support: via -std=c++20 -- Thread support: builtin. CMake Error at build_system/seqan3-config.cmake:113 (message): The SDSL library is required, but wasn't found. Get it from https://github.com/xxsds/sdsl-lite Call Stack (most recent call first): build_system/seqan3-config.cmake:319 (seqan3_config_error) CMakeLists.txt:32 (find_package) -- Configuring incomplete, errors occurred!
i am sure
git submodule update --init --recursive
did fetch sdsl-lite but it seems to be not detected by cmake.
Sorry for the late, I found this issue but already Merged the PR, therefore the error log can be found here. You can commit this pkg on our repo directly.
Full log is here https://build.bioarchlinux.org/api/pkg/seqan3/log/1688923248
I can reproduce this. There seems to be an error with seqan3 3.2.0 release. Looking at the cmake documentation, I am not sure why it is working on the current main
branch. We will investigate.
I can reproduce this. There seems to be an error with seqan3 3.2.0 release. Looking at the cmake documentation, I am not sure why it is working on the current
main
branch. We will investigate.
It's because of https://github.com/seqan/seqan3/commit/ceb2f32e9cf6c83a530a3000ce5eae97ad9d7f61. The sdsl was missing a header (for gcc>=13). Hence, the include check failed. gcc13 was not available when 3.2.0 was released.
SDSL commit: https://github.com/xxsds/sdsl-lite/commit/607019d52b10bb8eb399e6fc9578eaf0a150f9c4
Now I fix it at https://github.com/BioArchLinux/Packages/commit/ad3a29272a81368d3f70f261d157961eee443ad0
@kbipinkumar Could you help me check it if it's okay
Now I fix it at BioArchLinux/Packages@ad3a292
@kbipinkumar Could you help me check it if it's okay
yeas. the package is being built just fine.
okay, you can close it now.
Thanks for the repo programmer.
Platform
Question
Is there a way to use sdsl library packaged in distribution repository? we have managed to package sdsl as package for archlinux . the said package install sdsl library and headers as below
my query is whether it is possible to use the sdsl library from OS repo instead of checking out sdsl repo into submodules folder?