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() {
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.
Created attachment 263707 [details] build.log build.log with the current ebuild ignoring USE=boost
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 3: that looks like an incorrect solution. Could you attach build log of the failure in case of '--with-boost=/usr/include/boost' ?
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) ;)
Created attachment 263777 [details] build.log_1.41__vs__1.42_current_ebuild.txt Trimmed down since the region where compilation fails.
Created attachment 263779 [details] build.log_1.42__vs__1.42_current_ebuild_with-boost-usr-include-boost.txt
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 * #
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'.
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.
+*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 +