Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 459112 - dev-libs/boost-1.53.0[tools] fails to build
Summary: dev-libs/boost-1.53.0[tools] fails to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: C++ Team [disbanded]
URL:
Whiteboard:
Keywords:
: 476964 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-02-25 06:28 UTC by Sophie Taylor
Modified: 2013-08-29 06:21 UTC (History)
14 users (show)

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


Attachments
emerge --info/emerge -pqv/build.log (file_459112.txt,671.95 KB, text/plain)
2013-02-25 06:28 UTC, Sophie Taylor
Details
library_status.patch (library_status.patch,1.86 KB, patch)
2013-07-11 16:51 UTC, Juergen Rose
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sophie Taylor 2013-02-25 06:28:24 UTC
Created attachment 340044 [details]
emerge --info/emerge -pqv/build.log

I'm running it on a Hyper-V (Windows 8 version) VM, in case that may be the cause, however unlikely.
Comment 1 David Mainzer 2013-02-25 07:01:31 UTC
I can confirm this bug.

emerge -avu boost

failed but

USE="-tools" emerge -avu boost

works.

Best.
Comment 2 Florian Sowade 2013-04-08 06:12:13 UTC
This seems to be the following upstream bug: https://svn.boost.org/trac/boost/ticket/8078 After I applied the mentioned patch (had to remove the has_fail_result struct since it is not present in boost 1.53) it compiled for me with the tools useflag.
Comment 3 Juergen Rose 2013-07-09 06:51:02 UTC
I have the same error.
Comment 4 Juergen Rose 2013-07-09 06:56:43 UTC
(In reply to Florian Sowade from comment #2)
> This seems to be the following upstream bug:
> https://svn.boost.org/trac/boost/ticket/8078 After I applied the mentioned
> patch (had to remove the has_fail_result struct since it is not present in
> boost 1.53) it compiled for me with the tools useflag.

 Can you please attach your patch files.
Comment 5 Phil Stracchino (Unix Ronin) 2013-07-10 16:25:53 UTC
Also failing for me.  Emerge info:


babylon5:root:~:4 # emerge --info '=dev-libs/boost-1.53.0'
Portage 2.1.12.2 (default/linux/amd64/13.0/desktop, gcc-4.7.3, glibc-2.15-r3, 3.10.0-gentoo-babylon5 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.10.0-gentoo-babylon5-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.2
KiB Mem:    16412652 total,   2588188 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Wed, 10 Jul 2013 06:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 3.1.9 [disabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5, 3.2.5-r1
dev-util/ccache:          3.1.9
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.5.3-r2, 4.6.3, 4.7.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo perl-experimental overlay-dev-robbat2 mysql mozilla x-alaric
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=amdfam10 -mfpmath=sse -pipe -mcx16 -mpopcnt"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=amdfam10 -mfpmath=sse -pipe -mcx16 -mpopcnt"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.mcs.anl.gov/pub/gentoo                 ftp://mirror.iawnet.sandia.gov/pub/gentoo                 http://gentoo.cites.uiuc.edu/pub/gentoo                 http://gentoo.chem.wisc.edu/gentoo                 http://gentoo.osuosl.org                 http://www.gtlib.gatech.edu/pub/gentoo                 ftp://mirrors.rit.edu/gentoo                 http://mirrors.cs.wmich.edu/gentoo                 "
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j12"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/perl-experimental /var/lib/layman/robbat2 /var/lib/layman/mysql /var/lib/layman/mozilla /var/lib/alaric"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif ffmpeg firefox flac fltk fortran gdbm gif gpm gtk iconv id3tag imagemagick ipv6 java jpeg jpeg2k kde lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib mysql ncurses nls nptl nsplugin ogg opengl openmp pam pango pcre pdf png policykit ppds qt3support qt4 readline sdl session speex spell sse sse2 ssl startup-notification svg tcpd theora threads tiff tk tools truetype udev udisks unicode upower usb utils v4l v4l2 vorbis wxwidgets x264 xcb xml xpm xv xvid zlib" ABI_X86="64" ALSA_CARDS="emu10k1 hda-intel" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="radeon v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON



I went for the low-hanging fruit first, not really expecting it to work:

@@ -109,11 +109,14 @@
        if use ppc || use ppc64; then
                [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
        fi

        # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
-       append-cxxflags -std=gnu++98
+       # append-cxxflags -std=gnu++98
+
+       # see https://svn.boost.org/trac/boost/ticket/8078
+       append-cxxflags -std=gnu++11

        use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
        use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
        use mpi || OPTIONS+=" --without-mpi"
        use python || OPTIONS+=" --without-python"

And sure enough, it didn't.  Looking now to see if I can backport the fix from https://svn.boost.org/trac/boost/changeset/83556.
Comment 6 Phil Stracchino (Unix Ronin) 2013-07-10 21:04:57 UTC
I appear to have a working patch:


--- tools/regression/src/library_status.cpp.orig        2012-12-11 09:42:26.000000000 -0500
+++ tools/regression/src/library_status.cpp     2013-07-10 16:57:48.489491934 -0400
@@ -168,22 +168,23 @@
         return t.substr( pos, t.find( "/", pos ) - pos );
     }

     //  find_element  ------------------------------------------------------------//

+    struct element_equal {
+        const string & m_name;
+       element_equal(const string & name) :
+           m_name(name)
+       {}
+       bool operator()(const xml::element_ptr & xep) const {
+          return xep.get()->name == m_name;
+       }
+    };
+
     xml::element_list::const_iterator find_element(
         const xml::element & root, const string & name
     ){
-        struct element_equal {
-            const string & m_name;
-            element_equal(const string & name) :
-                m_name(name)
-            {}
-            bool operator()(const xml::element_ptr & xep) const {
-                return xep.get()->name == m_name;
-            }
-        };
         return std::find_if(
             root.elements.begin(),
             root.elements.end(),
             element_equal(name)
         );
@@ -200,23 +201,24 @@
         return (*itr)->content;
     }

     //  attribute_value  ----------------------------------------------------------//

+    struct attribute_equal {
+       const string & m_name;
+       attribute_equal(const string & name) :
+       m_name(name)
+       {}
+       bool operator()(const xml::attribute & a) const {
+           return a.name == m_name;
+       }
+    };
+
     const string & attribute_value(
         const xml::element & element,
         const string & attribute_name
     ){
-        struct attribute_equal {
-            const string & m_name;
-            attribute_equal(const string & name) :
-                m_name(name)
-            {}
-            bool operator()(const xml::attribute & a) const {
-                return a.name == m_name;
-            }
-        };
         xml::attribute_list::const_iterator itr;
         itr = std::find_if(
             element.attributes.begin(),
             element.attributes.end(),
             attribute_equal(attribute_name)



This is NOT FULLY TESTED!, but it compiles and installs without errors.
Comment 7 Juergen Rose 2013-07-11 16:49:59 UTC
(In reply to Phil Stracchino from comment #6)
> I appear to have a working patch:
> 
> 
> --- tools/regression/src/library_status.cpp.orig        2012-12-11
> 09:42:26.000000000 -0500
> +++ tools/regression/src/library_status.cpp     2013-07-10
> 16:57:48.489491934 -0400
> @@ -168,22 +168,23 @@
>          return t.substr( pos, t.find( "/", pos ) - pos );
>      }
...
>              element_equal(name)
>          );
> @@ -200,23 +201,24 @@
>          return (*itr)->content;
>      }
> 
>      //  attribute_value 
> ----------------------------------------------------------//
...
> 
> This is NOT FULLY TESTED!, but it compiles and installs without errors.

The patch did not worked for me. But the slighly modified attached did it.
Comment 8 Juergen Rose 2013-07-11 16:51:10 UTC
Created attachment 353104 [details, diff]
library_status.patch
Comment 9 Juergen Rose 2013-07-11 17:04:02 UTC
But there is an other problem with the emerge of of boost-1.53.0, the time for the emerge of boost was dramatically increasing:

At an old Core(TM)2 Duo CPU T8300 @ 2.40GHz the time was increasing by a factor of 3:

     Sun Apr  7 12:30:28 2013 >>> dev-libs/boost-1.52.0-r6
       merge time: 19 minutes and 5 seconds.

     Thu Jul 11 18:00:14 2013 >>> dev-libs/boost-1.53.0
       merge time: 55 minutes and 43 seconds.

At two rather young AMD Phenom with 3.2 or 3.4 GHz the time was increasing by a factor of 9-12:

     Sun Apr  7 12:30:38 2013 >>> dev-libs/boost-1.52.0-r6
       merge time: 10 minutes and 39 seconds.

     Thu Jul 11 18:11:55 2013 >>> dev-libs/boost-1.53.0
       merge time: 1 hour, 34 minutes and 29 seconds.

root@impala:/usr/src/linux(87)# cat /proc/cpuinfo  | grep model | head -2
model           : 4
model name      : AMD Phenom(tm) II X4 965 Processor


     Sun Apr  7 04:49:22 2013 >>> dev-libs/boost-1.52.0-r6
       merge time: 8 minutes and 46 seconds.

     Thu Jul 11 18:40:52 2013 >>> dev-libs/boost-1.53.0
       merge time: 1 hour, 39 minutes and 18 seconds.


root@caiman:/root(34)# cat /proc/cpuinfo  | grep model | head -2
model           : 10
model name      : AMD Phenom(tm) II X6 1090T Processor



The increase is due to generation of docs in /var/tmp/portage/dev-libs/boost-1.53.0/image/usr/share with dohtml:

root@impala:/usr/src/linux(77)# du -s /var/tmp/portage/dev-libs/boost-1.53.0/image/usr/share;  date
193207  /var/tmp/portage/dev-libs/boost-1.53.0/image/usr/share
Thu Jul 11 17:56:54 CEST 2013

root@impala:/usr/src/linux(84)# du -s /var/tmp/portage/dev-libs/boost-1.53.0/image/usr/share;  date
233603  /var/tmp/portage/dev-libs/boost-1.53.0/image/usr/share
Thu Jul 11 18:05:37 CEST 2013

The load average was low, dohtml was mainly sleeping:

top - 18:13:57 up  1:20,  2 users,  load average: 1.45, 1.55, 1.55
Tasks: 199 total,   3 running, 196 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.3 us,  5.4 sy,  0.0 ni, 82.1 id,  0.0 wa,  0.2 hi,  0.0 si,  0.0 st
KiB Mem:  16178672 total,  2648120 used, 13530552 free,   352264 buffers
KiB Swap: 10066328+total,        0 used, 10066328+free,  1253460 cached

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 9106 root      20   0   71028   8460   2356 R   3.3  0.1   0:00.10 python2.7
   15 root      20   0       0      0      0 S   1.0  0.0   0:41.26 rcu_sched
 8822 root      20   0   28112   1696   1164 R   0.7  0.0   0:00.09 top
15964 root      20   0   20864   1544    520 S   0.7  0.0   0:09.69 doins



Is there any idea, why dohmtl needs so much time, especially on the AMD processors?
Comment 10 Jan Marten Simons 2013-08-14 14:07:58 UTC
(In reply to Juergen Rose from comment #8)
> Created attachment 353104 [details, diff] [details, diff]
> library_status.patch

I can confirm this patch is working for me as well. Can somebody add this to the tree, please?
Comment 11 Alex D-Bug 2013-08-16 13:41:46 UTC
can confirm too =) patch working great for me.

>Is there any idea, why dohmtl needs so much time, especially on the AMD >processors?

hm.. i didn't see any slowdown.. but i'm using core i7 now.. which version of portage you're using?
Comment 12 Juergen Rose 2013-08-16 19:52:59 UTC
(In reply to Alex D-Bug from comment #11)
> can confirm too =) patch working great for me.
> 
> >Is there any idea, why dohmtl needs so much time, especially on the AMD >processors?
> 
> hm.. i didn't see any slowdown.. but i'm using core i7 now.. which version
> of portage you're using?

I have now portage-2.2.0, when I emerge last time boost-1.53.0 it was portage-2.1.12.13. 

I have the problem on core i7 too, it is only not so drastical:

root@leopard:/root(69)# genlop -t boost | tail -n 20
       merge time: 7 minutes and 20 seconds.

     Mon Mar  4 15:25:55 2013 >>> dev-libs/boost-1.52.0-r6
       merge time: 6 minutes and 3 seconds.

     Thu Mar  7 04:40:16 2013 >>> dev-libs/boost-1.52.0-r6
       merge time: 7 minutes and 6 seconds.

     Sun Apr  7 05:18:36 2013 >>> dev-libs/boost-1.52.0-r6
       merge time: 7 minutes and 37 seconds.

     Fri Jul 12 13:27:28 2013 >>> dev-libs/boost-1.53.0
       merge time: 28 minutes and 40 seconds.

     Wed Jul 24 05:26:32 2013 >>> dev-libs/boost-1.53.0
       merge time: 31 minutes and 29 seconds.

     Wed Jul 24 14:02:23 2013 >>> dev-libs/boost-1.53.0
       merge time: 30 minutes and 54 seconds.

root@leopard:/root(70)#  cat /proc/cpuinfo | head
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
stepping        : 7
microcode       : 0x1a
cpu MHz         : 3774.000
cache size      : 8192 KB
physical id     : 0


root@leopard:/root(71)# genlop -t portage | tail -n 20
       merge time: 37 seconds.

     Fri Jul 12 13:30:51 2013 >>> sys-apps/portage-2.1.12.13
       merge time: 38 seconds.

     Tue Jul 30 12:12:12 2013 >>> sys-apps/portage-2.1.13.1
       merge time: 2 minutes and 11 seconds.

     Wed Jul 31 04:38:53 2013 >>> sys-apps/portage-2.1.13.2
       merge time: 43 seconds.

     Mon Aug  5 17:22:28 2013 >>> sys-apps/portage-2.1.13.5
       merge time: 48 seconds.

     Fri Aug  9 04:21:51 2013 >>> sys-apps/portage-2.1.13.7
       merge time: 42 seconds.

     Tue Aug 13 04:43:32 2013 >>> sys-apps/portage-2.2.0
       merge time: 42 seconds.
Comment 13 Sergey Popov gentoo-dev 2013-08-27 11:41:16 UTC
+  27 Aug 2013; Sergey Popov <pinkbyte@gentoo.org> boost-1.53.0.ebuild,
+  +files/boost-1.53.0-library_status.patch, boost-1.54.0.ebuild:
+  Fix building with USE='tools', wrt bug #459112
Comment 14 Sergey Popov gentoo-dev 2013-08-29 06:21:26 UTC
*** Bug 476964 has been marked as a duplicate of this bug. ***