Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 356315 - sci-biology/rmblast-1.2: boost incompatibility, introduce boost USE flag
Summary: sci-biology/rmblast-1.2: boost incompatibility, introduce boost USE flag
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Science Biology related packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 457936
  Show dependency tree
 
Reported: 2011-02-24 16:59 UTC by Martin Mokrejš
Modified: 2013-02-18 10:49 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,104.51 KB, text/plain)
2011-02-24 18:29 UTC, Martin Mokrejš
Details
build.log_1.41__vs__1.42_current_ebuild.txt (build.log_1.41__vs__1.42_current_ebuild.txt,30.93 KB, text/plain)
2011-02-25 11:22 UTC, Martin Mokrejš
Details
build.log_1.42__vs__1.42_current_ebuild_with-boost-usr-include-boost.txt (build.log_1.42__vs__1.42_current_ebuild_with-boost-usr-include-boost.txt,27.82 KB, text/plain)
2011-02-25 11:22 UTC, Martin Mokrejš
Details
build.log (build.log,104.51 KB, text/plain)
2011-02-25 11:23 UTC, Martin Mokrejš
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2011-02-24 16:59:12 UTC
I am not able to compile rmblast on ~amd64 with boost version 1.35 (forced by the ebuild) nor manually pointing configure to use 1.41 or 1.42. I played with with various gcc versions as well but without any success. One can luckily get around by disabling boost.

Truly said, there is a lot of IUSE flags missing in this package, according to the nice summary configure prints out.



--- /tmp/rmblast-1.2.ebuild.ori 2011-02-24 17:57:13.000000000 +0100
+++ /tmp/rmblast-1.2.ebuild     2011-02-24 17:07:35.000000000 +0100
@@ -14,7 +14,7 @@
 
 LICENSE="OSL-2.1"
 SLOT="0"
-IUSE=""
+IUSE="boost"
 KEYWORDS="~amd64 ~x86"
 
 DEPEND="~dev-libs/boost-1.35.0"
@@ -36,13 +36,18 @@
 src_configure() {
        tc-export CXX CC
 
+       if use boost; then
+               myconf="${myconf} --with-boost=/usr/include/boost-1_35/boost
+       else
+               myconf="${myconf} --without-boost
+       fi
+
        "${S}"/configure --without-debug \
                --with-mt \
                --without-static \
                --with-dll \
                --prefix="${ED}"/opt/${PN} \
-               --with-boost=/usr/include/boost-1_35/boost \
-               || die
+               ${myconf} || die
 }
 
 src_install() {
Comment 1 Rafał Mużyło 2011-02-24 17:13:42 UTC
Starting with the obvious:
does '--with-boost=/usr/include/boost' work ?
What about a build log ?
Or is this for the moment just a configure failure ? config.log then.
Comment 2 Martin Mokrejš 2011-02-24 18:29:59 UTC
Created attachment 263707 [details]
build.log

build.log with the current ebuild ignoring USE=boost
Comment 3 Martin Mokrejš 2011-02-24 18:56:42 UTC
Hmm, I tried the '--with-boost=/usr/include/boost' manually as well but that did not help. But, 'eselect boost list' told me I have 1.42 select as current. I selected 1.35 from the list and I am compiling some cove well after the problematic-one.

Could emerge switch the profile for me automatically?
Comment 4 Rafał Mużyło 2011-02-24 22:19:41 UTC
@comment 3: that looks like an incorrect solution.
Could you attach build log of the failure in case of '--with-boost=/usr/include/boost' ?
Comment 5 Martin Mokrejš 2011-02-25 11:19:39 UTC
First of all, manually selecting using eselect either 1.35 or 1.41 I can compile using current ebuild quite ok (gcc-4.4.4).

Second, I will attach these files:

diff -u rmblast-1.2__boost-1.41/temp/build.log rmblast-1.2__boost-1.42/temp/build.log > build.log_1.41__vs__1.42_current_ebuild.txt

diff -u rmblast-1.2__boost-1.42/temp/build.log rmblast-1.2__boost-1.42-with-boost-usr-include-boost/temp/build.log > build.log_1.42__vs__1.42_current_ebuild_with-boost-usr-include-boost.txt

rmblast-1.2__boost-1.42-with-boost-usr-include-boost/temp/build.log (the file you have asked for) ;)
Comment 6 Martin Mokrejš 2011-02-25 11:22:04 UTC
Created attachment 263777 [details]
build.log_1.41__vs__1.42_current_ebuild.txt

Trimmed down since the region where compilation fails.
Comment 7 Martin Mokrejš 2011-02-25 11:22:20 UTC
Created attachment 263779 [details]
build.log_1.42__vs__1.42_current_ebuild_with-boost-usr-include-boost.txt
Comment 8 Martin Mokrejš 2011-02-25 11:23:55 UTC
Created attachment 263781 [details]
build.log

Generate with '--with-boost=/usr/include/boost', otherwise un-modified current ebuild, gcc-4.4.4, and

# eselect boost list
Available boost versions:
  [1]   boost-1.35/default
  [2]   boost-1.41/default
  [3]   boost-1.42/default *
#
Comment 9 Rafał Mużyło 2011-02-25 13:54:45 UTC
OK, I finally took a look at the source tarball - it's both trivial and complicated.

Basically, it's the same as in ncbi-tools++ - the constructor has changed.
The catch is that if I read boost docs correctly, boost_exception was not meant to be used the way these two packages use it.

On unrelated note: that build log suggests you should look at 'eselect wxwidgets'.
Comment 10 Rafał Mużyło 2011-02-25 14:22:17 UTC
And on a related note: ncbi-tools++ 2.2.24 has a few changes with '#if BOOST_VERSION >= 104200' - perhaps similar will help here too.
Comment 11 Justin Lecher (RETIRED) gentoo-dev 2013-02-18 10:49:23 UTC
+*rmblast-1.2-r1 (18 Feb 2013)
+
+  18 Feb 2013; Justin Lecher <jlec@gentoo.org> rmblast-1.2.ebuild,
+  +rmblast-1.2-r1.ebuild, +files/rmblast-1.2-gcc47.patch, metadata.xml:
+  Bug fixes: Build against any boost, #356315; build with gcc-4.7, #442266
+