Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 654460 - dev-perl/Bio-DB-HTS-2.10: htslib detection fails on SYMLINK_LIB=no systems
Summary: dev-perl/Bio-DB-HTS-2.10: htslib detection fails on SYMLINK_LIB=no systems
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Marek Szuba
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-01 03:09 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2018-05-01 08:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2018-05-01 03:09:08 UTC
>>> Configuring source in /var/tmp/portage/dev-perl/Bio-DB-HTS-2.10/work/Bio-DB-HTS-2.10 ...
 * Using Module::Build
 * perl Build.PL --installdirs=vendor --libdoc= --destdir=/var/tmp/portage/dev-perl/Bio-DB-HTS-2.10/image/ --create_packlist=1 --htslib=/usr
Checking prerequisites...
  requires:
    !  Bio::Root::Version is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Run 'Build installdeps' to install missing prerequisites.

--htslib '/usr' command line parameter does not contain expected files

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.so/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 /usr/local, /usr/share, /opt/local

 * ERROR: dev-perl/Bio-DB-HTS-2.10::gentoo failed (configure phase):
 *   Unable to build!
 *
 * Call stack:
 *     ebuild.sh, line 124:  Called src_configure
 *   environment, line 872:  Called perl-module_src_configure
 *   environment, line 441:  Called die
 * The specific snippet of code:
Comment 1 Marek Szuba archtester gentoo-dev 2018-05-01 08:07:34 UTC
Following a discussion on IRC, it turns out Kent uses a profile with SYMLINK_LIB disabled. Considering upstream build script always looks for htslib.a in *lib*, it is not surprising this fails. I'll come up with a workaround but in general, this really should be addressed upstream.

Furtheremore, there is now a dependency on sci-biology/bioperl.
Comment 2 Larry the Git Cow gentoo-dev 2018-05-01 08:45:46 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7bdf03a3823e8156f7e31aea55948702f4882e2

commit f7bdf03a3823e8156f7e31aea55948702f4882e2
Author:     Marek Szuba <marecki@gentoo.org>
AuthorDate: 2018-05-01 08:45:02 +0000
Commit:     Marek Szuba <marecki@gentoo.org>
CommitDate: 2018-05-01 08:45:33 +0000

    dev-perl/Bio-DB-HTS: allow explicit specification of htslib directories
    
    Upstream build script takes a single directory as htslib prefix, then
    appends "include/htslib" while looking for header files and "lib" while
    looking for library. Unsurprisingly, the latter fails to locate the htslib
    library on SYMLINK_LIB=no systems.
    
    I have patched the build script to allow both htslib-includedir and
    htslib-libdir to be provided explicitly, thus letting the ebuild take
    care of choosing the correct libdir name for the specified
    architecture/ABI.
    
    Closes: https://bugs.gentoo.org/654460
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 dev-perl/Bio-DB-HTS/Bio-DB-HTS-2.10.ebuild         |  3 +-
 .../files/2.10-build_split_htslib_opts.patch       | 48 ++++++++++++++++++++++
 2 files changed, 50 insertions(+), 1 deletion(-)