Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 414979 - app-portage/eix-0.25.4 - /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/bits/stl_pair.h:90: error: invalid conversion from ‘long int’ to ‘Category*’
Summary: app-portage/eix-0.25.4 - /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Martin Väth
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-07 08:01 UTC by Manuel Rüger (RETIRED)
Modified: 2012-05-20 19:57 UTC (History)
2 users (show)

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


Attachments
emerge --info (emerge--info.log,4.41 KB, text/plain)
2012-05-07 08:01 UTC, Manuel Rüger (RETIRED)
Details
build.log (build.log,11.44 KB, text/plain)
2012-05-07 11:05 UTC, Manuel Rüger (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Manuel Rüger (RETIRED) gentoo-dev 2012-05-07 08:01:21 UTC
Created attachment 311071 [details]
emerge --info

Compiling works fine on my desktop box (desktop profile, gcc 4.5), but fails on my vserver (hardended profile, gcc 4.4)

error is:

  CXX      portage/extendedversion.o
  CXX      portage/mask.o
  CXX      portage/package.o
  CXX      portage/vardbpkg.o
  CXX      portage/packagetree.o
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/bits/stl_algobase.h:66,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/list:61,
                 from ./eixTk/ptr_list.h:13,
                 from portage/packagetree.h:16,
                 from portage/packagetree.cc:10:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/bits/stl_pair.h: In constructor ‘std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, _U2 = long int, _T1 = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _T2 = Category*]’:
portage/packagetree.cc:76:   instantiated from here
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4/bits/stl_pair.h:90: error: invalid conversion from ‘long int’ to ‘Category*’
make[2]: *** [portage/packagetree.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-portage/eix-0.25.4/work/eix-0.25.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-portage/eix-0.25.4/work/eix-0.25.4'
make: *** [all] Error 2
 * ERROR: app-portage/eix-0.25.4 failed (compile phase):
 *   emake failed
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2012-05-07 10:51:37 UTC
Please attach the entire build log to this bug report.
Comment 2 Manuel Rüger (RETIRED) gentoo-dev 2012-05-07 11:05:47 UTC
Created attachment 311077 [details]
build.log
Comment 3 Martin Väth 2012-05-07 15:06:23 UTC
Seems to me like a bug (or an unexpected feature) of the gnu++0x dialect.
Does it help if you add (temporarily for testing) -std=c++0x to your
CXXFLAGS in your make.conf?
If not, does it help if you add instead -std=gnu++98 or even -std=c++98
Comment 4 Manuel Rüger (RETIRED) gentoo-dev 2012-05-07 15:16:50 UTC
-std=c++0x results in the same error

-std=gnu++98 fixes it
Comment 5 Martin Väth 2012-05-07 18:15:00 UTC
Thanks for testing.
This is now fixed in eix git master on BerliOS (>=eix-0.25.5).

For the moment, a workaround should be EXTRA_ECONF=--disable-new-dialect
(this is an emergency option which should not be used with working
versions of eix)
Comment 6 Michal Hájek 2012-05-20 12:37:34 UTC
(In reply to comment #4)
> -std=c++0x results in the same error
> 
> -std=gnu++98 fixes it

completely same behaviour here.
Comment 7 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-05-20 19:57:51 UTC
eix-0.25.5 in tree