Bug 112336 - ClustalX is missing a dependancy.
|
Bug#:
112336
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: ribosome@gentoo.org
|
Reported By: gentoo@gecka.us
|
|
Component: Unspecified
|
|
|
URL:
|
|
Summary: ClustalX is missing a dependancy.
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2005-11-12 13:08 0000
|
app-biology/clustalx appears to be requireing libvibrant but makes mo mention
of
it. It therefor fails to build.
Reproducible: Always
Steps to Reproduce:
1. Start with a base stage3 installation
2. emerge -u clustalx
Actual Results:
oceanus2 distfiles # emerge -u clustalx
Calculating dependencies ...done!
>>> emerge (1 of 1) sci-biology/clustalx-1.83-r1 to /
>>> md5 files ;-) clustalx-1.83-r1.ebuild
>>> md5 files ;-) files/digest-clustalx-1.83-r1
>>> md5 src_uri ;-) clustalx1.83.sun.tar.gz
>>> Unpacking source...
>>> Unpacking clustalx1.83.sun.tar.gz to /var/tmp/portage/clustalx-1.83-r1/work
>>> Source unpacked.
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer interface.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer sequence.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer showpair.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer malign.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer util.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer trees.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer gcgcheck.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer prfalign.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer pairalign.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer calcgapcoeff.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer calcprf1.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer calcprf2.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer calctree.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer readmat.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer alnscore.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer random.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer -DWIN_MOTIF
-I/usr/include/ncbi xutils.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer -DWIN_MOTIF
-I/usr/include/ncbi xmenu.c
xmenu.c: In function `make_color_menu':
xmenu.c:4618: warning: passing arg 3 of `Nlm_StatusItem' from incompatible
pointer type
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer -DWIN_MOTIF
-I/usr/include/ncbi xcolor.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer -DWIN_MOTIF
-I/usr/include/ncbi xdisplay.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer -DWIN_MOTIF
-I/usr/include/ncbi xscore.c
gcc -c -march=pentium4 -Os -pipe -fomit-frame-pointer -DWIN_MOTIF
-I/usr/include/ncbi clustalx.c
gcc -o clustalx interface.o sequence.o showpair.o malign.o util.o trees.o
gcgcheck.o prfalign.o pairalign.o calcgapcoeff.o calcprf1.o calcprf2.o
calctree.o readmat.o alnscore.o random.o xutils.o xmenu.o xcolor.o xdisplay.o
xscore.o clustalx.o -lm -march=pentium4 -Os -pipe -fomit-frame-pointer
-L/usr/lib -L/usr/X11R6/lib -lvibrant -lncbi -lXm -lXmu -lXpm -lXt -lX11 -lm
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/bin/ld:
cannot find -lvibrant
collect2: ld returned 1 exit status
make: *** [clustalx] Error 1
!!! ERROR: sci-biology/clustalx-1.83-r1 failed.
!!! Function src_compile, Line 38, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
Portage 2.0.53_rc7 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r3,
2.6.9-22.ELsmp i686)
=================================================================
System uname: 2.6.9-22.ELsmp i686 Intel(R) Xeon(TM) CPU 2.80GHz
Gentoo Base System version 1.12.0_pre10
dev-lang/python: 2.3.5, 2.4.2
sys-apps/sandbox: 1.2.13
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.16.1
sys-devel/libtool: 1.5.20-r1
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acpi bash-completion bcmath blas crypt cscope ctype curl curlwrappers
emboss empress empress-bcs ethereal fastcgi java ldap lm_sensors mmx mono mpi
ncurses netboot pam perl python readline ruby sse x86 userland_GNU kernel_linux
elibc_glibc"
Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS
Okay, I tracked this down. ClustalX needs to check to see that ncbi-tools was
compiled with the "X" use flag. Perhaps simply check to see if the lib file
exists and then if it doesn't throw a warning/error like pango does about cairo?
Hi Brady,
"libvibrant" is part of the NCBI toolkit. Since you compiled this package
without X in your "USE" flags, the library was not installed. As you noticed,
recompiling the NCBI tools with X support solved the issue.
Strictly speaking, the ebuild for ClustalX is not missing a dependency. The
problem is rather that Portage does not support depending on a package
compiled with a given set of "USE" flags. Until this is implemented, there
will be no "clean" solution for this bug. I have added a check for X support
in the NCBI tools as you suggested, but this is really only a workaround.
Thanks for reporting.
Sorry to not explain things better! Checking/informing the user of the error is
really all I was after. Thanks for your speedy reply to this issue!
Olivier,
Could you elaborate on why built_with_use() from eutils.eclass is insufficient
for this?
Donnie:
Because the user who has -X in his USE flags and who types "emerge clustalx"
is still screwed: he will compile ncbi-tools without X support, and
immediately afterwards will be asked to recompile the package with X support
enabled. Not exactly a clean solution.
(I use "built_with_use" to do the check but I think depending on a package
built with a given USE flag is a long overdue missing feature in Portage.)