Issuing "emerge app-portage/eix" fails like displayed in the attached build.log. The main part from out of this may be: CXX portage/packagetree.o In file included from /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.4/include/g++-v4/bits/stl_algobase.h:66, from /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.4/include/g++-v4/list:61, from ./eixTk/ptr_list.h:13, from portage/packagetree.h:14, from portage/packagetree.cc:10: /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/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 = int, _T1 = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _T2 = Category*]': portage/packagetree.cc:77: instantiated from here /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.4/include/g++-v4/bits/stl_pair.h:90: error: invalid conversion from 'int' to 'Category*' make[2]: *** [portage/packagetree.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5' make: *** [all] Error 2 emake failed
Created attachment 257884 [details] This is the build.log
Please paste your `emerge --info' output in a comment.
Created attachment 257891 [details] This is the output from `emerge --info`
Done - thank you for pointing to that.
(In reply to comment #2) > Please paste your `emerge --info' output in a comment. You obviously didn't get that.
Sorry, still learning <:) This is the output from `emerge --info`: Package: app-portage/eix-0.20.5 Repository: gentoo Maintainer: vaeth@mathematik.uni-wuerzburg.de darkside@gentoo.org USE: arm bzip2 elibc_glibc kernel_linux nls userland_GNU >>> Unpacking source... >>> Unpacking eix-0.20.5.tar.xz to /var/tmp/portage/app-portage/eix-0.20.5/work >>> Source unpacked in /var/tmp/portage/app-portage/eix-0.20.5/work >>> Preparing source in /var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5 ... * econf: updating eix-0.20.5/config/config.sub with /usr/share/gnuconfig/config.sub * econf: updating eix-0.20.5/config/config.guess with /usr/share/gnuconfig/config.guess ./configure --prefix=/usr --build=armv5tel-softfloat-linux-gnueabi --host=armv5tel-softfloat-linux-gnueabi --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-bzip2 --without-sqlite --without-rst --enable-nls --disable-separate-tools --disable-security --disable-optimization --disable-strong-optimization --disable-debugging --with-ebuild-sh-default=/usr/lib/portage/bin/ebuild.sh --with-portage-rootpath=/opt/bin:/usr/armv5tel-softfloat-linux-gnueabi/gcc-bin/4.4.4 --with-eprefix-default= --docdir=/usr/share/doc/eix-0.20.5 --htmldir=/usr/share/doc/eix-0.20.5/html checking build system type... armv5tel-softfloat-linux-gnueabi checking host system type... armv5tel-softfloat-linux-gnueabi checking target system type... armv5tel-softfloat-linux-gnueabi checking whether to enable maintainer-specific portions of Makefiles... no configure: Trying to enable dependency tracking for consistency with silent rules checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for armv5tel-softfloat-linux-gnueabi-g++... armv5tel-softfloat-linux-gnueabi-g++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether armv5tel-softfloat-linux-gnueabi-g++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of armv5tel-softfloat-linux-gnueabi-g++... gcc3 checking whether debugging options should be used... no (on request) checking whether strong optimization options should be used... no (on request) checking whether optimization options should be used... no (on request) checking whether strong warning options should be used... no (default) checking whether warning options should be used... no (default) checking whether security options should be used... no (on request) checking whether options should not be tested individually... no (default) checking how to run the C++ preprocessor... armv5tel-softfloat-linux-gnueabi-g++ -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking whether CXXFLAGS=-Werror is known... yes checking whether LDFLAGS=-Wl,--fatal-warnings is known... yes checking whether ln -s works... yes checking for a sed that does not truncate output... /bin/sed checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/gmsgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for armv5tel-softfloat-linux-gnueabi-gcc... armv5tel-softfloat-linux-gnueabi-gcc checking whether we are using the GNU C compiler... yes checking whether armv5tel-softfloat-linux-gnueabi-gcc accepts -g... yes checking for armv5tel-softfloat-linux-gnueabi-gcc option to accept ISO C89... none needed checking dependency style of armv5tel-softfloat-linux-gnueabi-gcc... gcc3 checking for ld used by GCC... /usr/armv5tel-softfloat-linux-gnueabi/bin/ld checking if the linker (/usr/armv5tel-softfloat-linux-gnueabi/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking for null-device... /dev/null checking for _LARGEFILE_SOURCE value needed for large files... no checking for regcomp... yes checking for strchr... yes checking for strdup... yes checking for strerror... yes checking for strrchr... yes checking for fnmatch... yes checking for memset... yes checking for strtoul... yes checking for strndup... yes checking for canonicalize_file_name... yes checking for realpath... yes checking for vfork... yes checking for setenv... yes checking for geteuid... yes checking for sys/param.h... yes checking climits usability... yes checking climits presence... yes checking for climits... yes checking tr1/cstdint usability... yes checking tr1/cstdint presence... yes checking for tr1/cstdint... yes checking whether libbz2 should be used... yes (on request) checking whether __builtin_expect can be used... yes checking whether __attribute__ ((__unused__)) can be used... yes checking whether __attribute__ ((__noreturn__)) can be used... yes checking whether sqlite should be used... no (on request) checking for armv5tel-softfloat-linux-gnueabi-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking PORTDIR_CACHE_METHOD default... metadata-flat (default) checking EPREFIX default... (empty) checking EIX_PREFIX default... (empty) checking ROOT default... (empty) checking EXEC_EBUILD_SH default... /usr/lib/portage/bin/ebuild.sh (on request) checking PORTAGE_ROOTPATH default... /opt/bin:/usr/armv5tel-softfloat-linux-gnueabi/gcc-bin/4.4.4 checking PORTAGE_BIN_PATH default... (empty) checking default remote path... http://dev.gentooexperimental.org/eix_cache/eix-caches.tbz2 checking whether byte ordering is bigendian... no checking for uint8_t... yes checking for uint16_t... yes checking for uint32_t... yes checking gcc version... 4.4.4 configure: creating ./config.status config.status: creating Makefile config.status: creating manpage/Makefile config.status: creating src/Makefile config.status: creating doc/Makefile config.status: creating po/Makefile.in config.status: creating config.h config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile eix-0.20.5 configured successfully. CXXFLAGS: -std=gnu++0x -fvisibility-inlines-hidden -Os -march=armv5te -pipe -fomit-frame-pointer LDFLAGS: -Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed >>> Source configured. >>> Compiling source in /var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5 ... make make all-recursive make[1]: Entering directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5' Making all in po make[2]: Entering directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5/po' make[2]: Leaving directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5/po' Making all in src make[2]: Entering directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5/src' CXX eixTk/ansicolor.o CXX eixTk/argsreader.o CXX eixTk/exceptions.o CXX eixTk/filenames.o CXX eixTk/formated.o CXX eixTk/stringutils.o CXX eixTk/sysutils.o CXX eixTk/utils.o CXX eixTk/varsreader.o CXX database/io.o CXX database/header.o CXX database/package_reader.o CXX portage/conf/portagesettings.o CXX portage/conf/cascadingprofile.o CXX portage/basicversion.o 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/armv5tel-softfloat-linux-gnueabi/4.4.4/include/g++-v4/bits/stl_algobase.h:66, from /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.4/include/g++-v4/list:61, from ./eixTk/ptr_list.h:13, from portage/packagetree.h:14, from portage/packagetree.cc:10: /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/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 = int, _T1 = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _T2 = Category*]': portage/packagetree.cc:77: instantiated from here /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.4/include/g++-v4/bits/stl_pair.h:90: error: invalid conversion from 'int' to 'Category*' make[2]: *** [portage/packagetree.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5' make: *** [all] Error 2 emake failed * ERROR: app-portage/eix-0.20.5 failed: * emake failed * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 855: Called _eapi2_src_compile * ebuild.sh, line 654: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =app-portage/eix-0.20.5', * the complete build log and the output of 'emerge -pqv =app-portage/eix-0.20.5'. * The complete build log is located at '/var/tmp/portage/app-portage/eix-0.20.5/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-portage/eix-0.20.5/temp/environment'. * S: '/var/tmp/portage/app-portage/eix-0.20.5/work/eix-0.20.5'
The code seems to be correct: It looks like the compiler is not able to convert NULL into Category* which is rather strange. Why do you have -std=gnu++0x in your CXXFLAGS? Perhaps this breaks your compiler. Please remove it from you CXXFLAGS and retry.
and let's focus on the stable candidate only (0.22.5)
(In reply to comment #8) > and let's focus on the stable candidate only (0.22.5) You are right; the version numbers look so similar that I missed this :) Anyway, the sourcefiles where the error occurs are practically unchanged between these two versions, so I would be surprised if it would work in the new version. However, I am almost sure that the experimental -std flag is the culprit: With gcc-4.5.1, I do not get this error with the same flag, but many other error messages due to strange typecasting behavior. So unless you have a serious reason to require an experimental language "standard" on this architecture, I would close this bug (if eix compiles without this flag or with a more reasonable replacement).
I had -std=gnu++0x in there, because a guide from the web told me to do so :) I'm not so deep into these things to have this veryfied on my own. And since the ARM platform is completely new to me, too, I just didn't know better .. I changed the CXXFLAGS now to: CFLAGS="-Os -march=armv5te -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" But what I can't understand is your comment to a version 0.22.5 ; please have a look at my search results (right after an `emerge --sync`): gentoo-ds ~ # emerge --search eix Searching... [ Results for search key : eix ] [ Applications found : 1 ] * app-portage/eix Latest version available: 0.20.5 Latest version installed: [ Not Installed ] Size of files: 403 kB Homepage: http://eix.berlios.de Description: Search and query ebuilds, portage incl. local settings, ext. overlays, version changes, and more License: GPL-2 gentoo-ds ~ # When I have a look at http://packages.gentoo.org/package/app-portage/eix (or the "KEYWORDS" in /usr/portage/app-portage/eix/eix-0.22.5.ebuild) , eix is masked for each architecture but hppa and x86 . Do you think I should emerge 0.22.5 on my arm anyway? I'll now emerge the 0.20.5 anyway until your opinion to this decision. I'll tell you if that worked without the -std=gnu++0x then. Please held this issue open a few hours.
Oh - was faster than expected - it seems like you were right: When I have the -std=gnu++0x - part removed, 0.20.5 works like a charm :) After I have verified this, I tried the unstable 0.22.5 one. This seems to work, too. This is the only warning I get: * QA Notice: Package has poor programming practices which may compile * fine but exhibit random runtime failures. * portage/conf/cascadingprofile.cc:115: warning: NULL used in arithmetic * Please do not file a Gentoo bug and instead report the above QA * issues directly to the upstream developers of this software. * Homepage: http://eix.berlios.de One argument more to mark the version stable for arm ;) Thank you everyone for your help!
(In reply to comment #11) > After I have verified this, I tried the unstable 0.22.5 one. See bug 347305 > This is the only warning I get: > > * portage/conf/cascadingprofile.cc:115: warning: NULL used in arithmetic This is probably ok; see also bug 347305