medvedevgroup / SibeliaZ

A fast whole-genome aligner based on de Bruijn graphs
http://medvedevgroup.com/
Other
141 stars 19 forks source link

Installation issues #34

Open cmeesters opened 3 years ago

cmeesters commented 3 years ago

Hi,

Just dowloaded release 1.2.3 and tried to compile, to eventually support SibeliaZ in the easybuild framework. Yet:

`CMake Error at CMakeLists.txt:13 (add_subdirectory): The source directory

/dev/shm/SibeliaZ/1.2.3/GCCcore-10.2.0/SibeliaZ-1.2.3/spoa

does not contain a CMakeLists.txt file.

CMake Error at CMakeLists.txt:14 (add_subdirectory): add_subdirectory given source "TwoPaCo/src" which is not an existing directory.

CMake Error at /cluster/easybuild/broadwell/software/CMake/3.15.3/share/cmake-3.15/Modules/ExternalProject.cmake:2611 (message): No download info given for 'maf2synteny' and its source directory:

/dev/shm/SibeliaZ/1.2.3/GCCcore-10.2.0/SibeliaZ-1.2.3/maf2synteny

is not an existing non-empty directory. Please specify one of:

-- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5")
-- Configuring incomplete, errors occurred! `

Within the download the mentioned directories appear to be empty. Could you please fix that and provide a working command for the maf2synteny project?

Thank you.

Best regards, Christian Meesters

iminkin commented 3 years ago

Hi Christian,

Did you download the source archive from the "releases" web page? If so, I would suggest compiling/install SibeliaZ using git cloning (see the instructions here).

Unfortunately, I don't think I can fill those directories. It is a well-known issue of github submodules (e.g. see here). The "release" source archives are created automatically, and I cannot override them. At the same time, I have to keep them the way they are because bioconda recipes rely on this system.

Sorry for the confusion and for the late reply.

cmeesters commented 3 years ago

Hi Ilia,

I am sorry for the late reply (been on a holiday and then had catching up to do). In essence, I will not use git cloning of submodules to support your software via easybuild. This is because with cloning submodules, there is no way of knowing which status the dependencies are in and whether or not there has been an unexpected update, which changes functionality in your software, even though there is no new version. The whole idea of software versioning would be pointless.

So, upon packaging you could make a commitment for your dependencies and tarball them into your software version (which would require that you do the release manually). Or you declare your dependencies "dependencies", as users to install them and refuse to compile, if they cannot be resolved at compile time. (This is generally preferred.)

Any chance to convince you?

Best regards, Christian Meesters