Skip to content

Building from source : configure options explained

Andrew Klymenko edited this page Mar 24, 2017 · 12 revisions

Packages ngs-sdk, ncbi-vdb, sra-tools have some unusual configure options.

Here we will try to explain them.

Dependencies

ncbi-vdb package depends on ngs-sdk, sra-tools – on ngs-sdk and ncbi-vdb.

ncbi-vdb should be able to find include files of ngs-sdk, sra-tools - ngs-sdk package and sources and build results of ncbi-vdb.

Build output

By default build output / build results of ngs/ncbi-vdb/sra-tools is created in ~/ncbi-outdir/.

You can change it by using --build-prefix, but then - you should tell sra-tools where to find build results of ncbi-vdb.

Defaults: Standard / default / recommended location of source files

Default recommended locations of source files of ngs/ncbi-vdb/sra-tools is:

ngs/ncbi-vdb/sra-tools packages should be located in subdirectories named ngs, ncbi-vdb, sra-tools inside of the same directory.

Usually it is done automatically by running: git clone https://github.com/ncbi/ngs.git ; git clone https://github.com/ncbi/ncbi-vdb.git ; git clone https://github.com/ncbi/sra-tools.git

Then you should see the following:

$ ls
ncbi-vdb  ngs  sra-tools
$ ls ngs
CHANGES.md  LICENSE  Makefile  ngs-bam  ngs-java  ngs-python  ngs-sdk  …
$ ls ncbi-vdb
build configure libs setup CHANGES.md interfaces LICENSE Makefile test …
$ ls sra-tools
build configure Makefile setup test CHANGES.md LICENSE shared tools …

If you create repositories as described above and run ./configure and make in each of ngs/ncbi-vdb/sra-tools subdirectories – each of them should find all required files from ngs/ncbi-vdb.

Non-standard location of ngs-sdk/ncbi-vdb

If location of ngs-sdk/ncbi-vdb or their build output directory is not standard (see above), you need to specify them:

Examples:

  • ngs-sdk is in ~/1/ngs-1.3.0/ngs-sdk
  • ncbi-vdb is in ~/2/ncbi-vdb-2.8.0
  • sra-tools in ~/3/sra-tools.2.8.0

Configuring ncbi-vdb

ncbi-vdb/configure requires to find header files of ngs-sdk:

~/2/ncbi-vdb-2.8.0/configure --with-ngs-sdk-prefix=~/1/ngs-1.3.0/ngs-sdk

or

cd ~/1/ngs-1.3.0/ngs-sdk && ./configure --prefix=~/ngs-sdk && make default install
cd ~/2/ncbi-vdb-2.8.0 && ./configure --with-ngs-sdk-prefix=~/ngs-sdk