Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 646478 - sci-biology/abyss-2.0.2-r1 - add USE=sqlite and other ebuild tweaks
Summary: sci-biology/abyss-2.0.2-r1 - add USE=sqlite and other ebuild tweaks
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Biology related packages
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2018-02-03 09:43 UTC by Martin Mokrejš
Modified: 2018-10-31 02:40 UTC (History)
1 user (show)

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


Attachments
abyss-2.0.2-r1.ebuild (abyss-2.0.2-r1.ebuild,1.71 KB, text/plain)
2018-02-03 09:43 UTC, Martin Mokrejš
Details
build.log (build.log,111.00 KB, text/plain)
2018-02-03 11:28 UTC, Martin Mokrejš
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2018-02-03 09:43:11 UTC
Sorry, my git repo is unusable and this either disappears soon from my /tmp or you take it.


sci-biology/abyss: ebuild tweaks

Improve description line.

Add github-hosted homepage.

Introduce IUSE=sqlite optional dependency. Currently the binaries
are silently linked against -lsqlite3 and -lmpi, which is bad.
This change should at least make them recorded through portage.

Add runtime dependency on sci-biology/bwa.

Document current default k-mer size value.

Try to respect USE=mpi although it seems configure ignores that
and sniffs out openmpi headers and libs.

Somebody could improve further the other MPI implementations
and come up with proper USE dependencies.
Comment 1 Martin Mokrejš 2018-02-03 09:43:54 UTC
Created attachment 517640 [details]
abyss-2.0.2-r1.ebuild

I know, a patch would be preferred ...
Comment 2 Martin Mokrejš 2018-02-03 11:25:48 UTC
If you want to tackle also the MPI depencies, see https://github.com/bcgsc/abyss/pull/184#issuecomment-362745505 .

Furthermore, let me say that if I have openmpi installed but run abysss's configure it sniffs out my mpi headers and libs and practically creates a MPI-dependent binaries, like /usr/bin/ABYSS-P. That is maybe why there was IUSE=+mpi in the ebuild so far?


Also the existing haskell tweak (not by me) does not work for me, you can see:

Making all in Misc
make[2]: Entering directory '/scratch/var/tmp/portage/sci-biology/abyss-2.0.2-r1/work/abyss-2.0.2/Misc'
make -O2 -hidir ./ -odir ./ -o abyss-samtobreak samtobreak.hs
Usage: make [options] [target] ...
Options:
  -b, -m                      Ignored for compatibility.
  -B, --always-make           Unconditionally make all targets.
  -C DIRECTORY, --directory=DIRECTORY
                              Change to DIRECTORY before doing anything.
  -d                          Print lots of debugging information.
  --debug[=FLAGS]             Print various types of debugging information.
  -e, --environment-overrides
                              Environment variables override makefiles.
  --eval=STRING               Evaluate STRING as a makefile statement.
  -f FILE, --file=FILE, --makefile=FILE
                              Read FILE as a makefile.
  -h, --help                  Print this message and exit.
  -i, --ignore-errors         Ignore errors from recipes.
  -I DIRECTORY, --include-dir=DIRECTORY
                              Search DIRECTORY for included makefiles.
  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
  -k, --keep-going            Keep going when some targets can't be made.
  -l [N], --load-average[=N], --max-load[=N]
                              Don't start multiple jobs unless load is below N.
  -L, --check-symlink-times   Use the latest mtime between symlinks and target.
  -n, --just-print, --dry-run, --recon
                              Don't actually run any recipe; just print them.
  -o FILE, --old-file=FILE, --assume-old=FILE
                              Consider FILE to be very old and don't remake it.
  -O[TYPE], --output-sync[=TYPE]
                              Synchronize output of parallel jobs by TYPE.
  -p, --print-data-base       Print make's internal database.
  -q, --question              Run no recipe; exit status says if up to date.
  -r, --no-builtin-rules      Disable the built-in implicit rules.
  -R, --no-builtin-variables  Disable the built-in variable settings.
  -s, --silent, --quiet       Don't echo recipes.
  -S, --no-keep-going, --stop
                              Turns off -k.
  -t, --touch                 Touch targets instead of remaking them.
  --trace                     Print tracing information.
  -v, --version               Print the version number of make and exit.
  -w, --print-directory       Print the current directory.
  --no-print-directory        Turn off -w, even if it was turned on implicitly.
  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                              Consider FILE to be infinitely new.
  --warn-undefined-variables  Warn when an undefined variable is referenced.

This program built for x86_64-pc-linux-gnu
Report bugs to <bug-make@gnu.org>
make[2]: Leaving directory '/scratch/var/tmp/portage/sci-biology/abyss-2.0.2-r1/work/abyss-2.0.2/Misc'
Comment 3 Martin Mokrejš 2018-02-03 11:28:38 UTC
Created attachment 517650 [details]
build.log

# emerge -pv abyss

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sci-biology/abyss-2.0.2-r1::gentoo  USE="openmp sqlite -misc-haskell -mpi" 0 KiB



Note libmpi.so.20 below:

# ldd /usr/bin/ABYSS-P
	linux-vdso.so.1 (0x00007ffd48366000)
	libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007fb056a62000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fb05685e000)
	libmpi.so.20 => /usr/lib64/libmpi.so.20 (0x00007fb056574000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fb05622a000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libstdc++.so.6 (0x00007fb055e25000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc_s.so.1 (0x00007fb055c0e000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fb055846000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb055626000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb056e31000)
	libopen-rte.so.20 => /usr/lib64/libopen-rte.so.20 (0x00007fb0553a1000)
	libopen-pal.so.20 => /usr/lib64/libopen-pal.so.20 (0x00007fb055107000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fb054eff000)
	libutil.so.1 => /lib64/libutil.so.1 (0x00007fb054cfc000)
	libhwloc.so.5 => /usr/lib64/libhwloc.so.5 (0x00007fb054abd000)
	libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x00007fb0548b1000)
	libudev.so.1 => /lib64/libudev.so.1 (0x00007fb05468e000)
	libpciaccess.so.0 => /usr/lib64/libpciaccess.so.0 (0x00007fb054484000)
	libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fb054121000)
	libevent-2.1.so.6 => /usr/lib64/libevent-2.1.so.6 (0x00007fb053ecd000)
	libevent_pthreads-2.1.so.6 => /usr/lib64/libevent_pthreads-2.1.so.6 (0x00007fb053cca000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fb053ab2000)
	libicuuc.so.60 => /usr/lib64/libicuuc.so.60 (0x00007fb0536f7000)
	libicudata.so.60 => /usr/lib64/libicudata.so.60 (0x00007fb051b4e000)
Comment 4 Martin Mokrejš 2018-02-03 11:30:54 UTC
And why there is /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libstdc++.so.6 and /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc_s.so.1 in the ldd output I have no clue. I used gcc-6.3.0 to build.

# gcc-config -l
 [1] x86_64-pc-linux-gnu-4.3.6
 [2] x86_64-pc-linux-gnu-4.4.7
 [3] x86_64-pc-linux-gnu-4.6.4
 [4] x86_64-pc-linux-gnu-4.7.4
 [5] x86_64-pc-linux-gnu-4.8.5
 [6] x86_64-pc-linux-gnu-4.9.4
 [7] x86_64-pc-linux-gnu-5.3.0
 [8] x86_64-pc-linux-gnu-5.4.0
 [9] x86_64-pc-linux-gnu-6.2.0
 [10] x86_64-pc-linux-gnu-6.3.0 *
 [11] x86_64-pc-linux-gnu-7.1.0
 [12] x86_64-pc-linux-gnu-7.2.0
 [13] x86_64-pc-linux-gnu-7.3.0
#
Comment 5 Martin Mokrejš 2018-02-09 16:36:55 UTC
https://github.com/gentoo/gentoo/pull/7136
Comment 6 Virgil Dupras gentoo-dev 2018-10-31 02:40:54 UTC
Ping sci-biology. This has been sitting there for a long time.