Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • B Bio-DB-HTS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Jira
    • Jira
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ensembl-gh-mirror
  • Bio-DB-HTS
  • Issues
  • #30

Closed
Open
Created Jul 29, 2016 by Marek Szuba@mks

Split HTSLIB_DIR into HTSLIB_LIBDIR and HTSLIB_INCDIR

Created by: mmokrejs

Hi, I am trying to create a package into Gentoo Linux.

The current INSTALL.pl logic does not work on Gentoo Linux, which tries to get around the samtools/htslib mess by installing the headers and libs into subdirectories (see at the end for a list of files). This setup is not detected by your INSTALL.pl script. Here is what happens:

>>> Emerging (1 of 1) dev-perl/Bio-DB-HTS-2.3::science
 * Bio-DB-HTS-2.3.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                                                                                                           [ ok ]
>>> Unpacking source...
>>> Unpacking Bio-DB-HTS-2.3.tar.gz to /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work
>>> Source unpacked in /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work
>>> Preparing source in /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work/Bio-DB-HTS-2.3 ...
>>> Source prepared.
>>> Configuring source in /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work/Bio-DB-HTS-2.3 ...
 * Using Module::Build
 * perl Build.PL --installdirs=vendor --libdoc= --destdir=/scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/image/ --create_packlist=1

This module requires htslib (http://htslib/org)
Install it if you have not done so already.

This script will attempt to locate htslib by looking for hts.h and libhts.a in:

  1. --htslib command line argument
  2. HTSLIB_DIR environment variable
  3. --prefix command line argument (which also sets installation location)
  4. Alien::HTSlib dependency resolver
  5. pkg-config (extra directories can be set in PKG_CONFIG_PATH environment variable)
  6. common library locations: /usr/local, /usr/share, /opt/local

 * ERROR: dev-perl/Bio-DB-HTS-2.3::science failed (configure phase):
>>> Emerging (1 of 1) dev-perl/Bio-DB-HTS-2.3::science
 * Bio-DB-HTS-2.3.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                                                                                                           [ ok ]
>>> Unpacking source...
>>> Unpacking Bio-DB-HTS-2.3.tar.gz to /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work
>>> Source unpacked in /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work
>>> Preparing source in /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work/Bio-DB-HTS-2.3 ...
>>> Source prepared.
>>> Configuring source in /scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/work/Bio-DB-HTS-2.3 ...
 * Using Module::Build
 * perl Build.PL --installdirs=vendor --libdoc= --destdir=/scratch/var/tmp/portage/dev-perl/Bio-DB-HTS-2.3/image/ --create_packlist=1

This module requires htslib (http://htslib/org)
Install it if you have not done so already.

This script will attempt to locate htslib by looking for hts.h and libhts.a in:

  1. --htslib command line argument
  2. HTSLIB_DIR environment variable
  3. --prefix command line argument (which also sets installation location)
  4. Alien::HTSlib dependency resolver
  5. pkg-config (extra directories can be set in PKG_CONFIG_PATH environment variable)
  6. common library locations: /usr/local, /usr/share, /opt/local

 * ERROR: dev-perl/Bio-DB-HTS-2.3::science failed (configure phase):

Here is a list of files from htslib and their installation place:

# equery files htslib
 * Searching for htslib ...
 * Contents of sci-libs/htslib-1.3:
/usr
/usr/bin
/usr/bin/bgzip
/usr/bin/htsfile
/usr/bin/tabix
/usr/include
/usr/include/htslib
/usr/include/htslib/bgzf.h
/usr/include/htslib/cram.h
/usr/include/htslib/faidx.h
/usr/include/htslib/hfile.h
/usr/include/htslib/hts.h
/usr/include/htslib/hts_defs.h
/usr/include/htslib/kbitset.h
/usr/include/htslib/kfunc.h
/usr/include/htslib/khash.h
/usr/include/htslib/khash_str2int.h
/usr/include/htslib/klist.h
/usr/include/htslib/knetfile.h
/usr/include/htslib/kseq.h
/usr/include/htslib/ksort.h
/usr/include/htslib/kstring.h
/usr/include/htslib/regidx.h
/usr/include/htslib/sam.h
/usr/include/htslib/synced_bcf_reader.h
/usr/include/htslib/tbx.h
/usr/include/htslib/vcf.h
/usr/include/htslib/vcf_sweep.h
/usr/include/htslib/vcfutils.h
/usr/lib
/usr/lib/debug
/usr/lib/debug/usr
/usr/lib/debug/usr/bin
/usr/lib/debug/usr/bin/bgzip.debug
/usr/lib/debug/usr/bin/htsfile.debug
/usr/lib/debug/usr/bin/tabix.debug
/usr/lib/debug/usr/lib64
/usr/lib/debug/usr/lib64/libhts.so.1.3.debug
/usr/lib64
/usr/lib64/libhts.so -> libhts.so.1.3
/usr/lib64/libhts.so.1 -> libhts.so.1.3
/usr/lib64/libhts.so.1.3
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/htslib.pc
/usr/share
/usr/share/doc
/usr/share/doc/htslib-1.3
/usr/share/doc/htslib-1.3/NEWS.bz2
/usr/share/doc/htslib-1.3/README.bz2
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/htsfile.1.bz2
/usr/share/man/man1/tabix.1.bz2
/usr/share/man/man5
/usr/share/man/man5/faidx.5.bz2
/usr/share/man/man5/sam.5.bz2
/usr/share/man/man5/vcf.5.bz2

Maybe I could pursue the PKG_CONFIG_PATH way?

Assignee
Assign to
Time tracking