environment script has got a sed command that fails: /tmp/portage/x11-libs/qt-assistant-4.6.0-r1/temp/environment: line 699: /home/p4/giangran/gentoo/bin/sed: Argument list too long Emerge output is pretty self-describing: Reproducible: Always Steps to Reproduce: 1.just run `emerge qt-assistant` Actual Results: [ snip ] >>> Source configured. >>> Compiling source in /tmp/portage/x11-libs/qt-assistant-4.6.0-r1/work/qt-everywhere-opensource-src-4.6.0 ... * QA Notice: USE Flag 'sparcv9-solaris' not in IUSE for x11-libs/qt-assistant-4.6.0-r1 /tmp/portage/x11-libs/qt-assistant-4.6.0-r1/temp/environment: line 699: /home/p4/giangran/gentoo/bin/sed: Argument list too long * ERROR: x11-libs/qt-assistant-4.6.0-r1 failed: * (no error message) * * Call stack: * ebuild.sh, line 54: Called call-ebuildshell 'src_compile' * environment, line 785: Called src_compile * environment, line 3702: Called qt4-build_src_compile * environment, line 3311: Called build_directories ' * tools/assistant * tools/pixeltool * tools/qdoc3' * environment, line 699: Called die * The specific snippet of code: * sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" $(find "${S}" -name '*.pr[io]') "${S}"/mkspecs/common/*.conf || die; * * If you need support, post the output of 'emerge --info =x11-libs/qt-assistant-4.6.0-r1', * the complete build log and the output of 'emerge -pqv =x11-libs/qt-assistant-4.6.0-r1'. * The complete build log is located at '/tmp/portage/x11-libs/qt-assistant-4.6.0-r1/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/x11-libs/qt-assistant-4.6.0-r1/temp/environment'. * S: '/tmp/portage/x11-libs/qt-assistant-4.6.0-r1/work/qt-everywhere-opensource-src-4.6.0' $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 71680 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 71680 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited No other package ever got such problem. I also tried to manually run the above sed command (after replacing shell variables) and it worked.
@qt: have you already fixed this in your eclass? (aka are we behind?) otherwise, can you please use an xargs in this case such that this error will not pop up again? It could be as simple as: { echo "${S}"/mkspecs/common/*.conf ; find "${S}" -name '*.pr[io]' } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die; Note that a "${S}"/mkspecs/common/*.conf must exist, or sed will try to change the file "${S}/mkspecs/common/*.conf". You may want to check that upfront.
/tmp/portage/x11-libs/qt-assistant-4.6.0-r1/temp/environment gets replaced by emerge any time it gets run, wouldn't know how to modify it...
I fixed this in the prefix tree now.
@qt: I think we should fix this in qt4-build.eclass too...
I am sort of time now, so pleas provide the fix using a patch format so I can fix it immediately. Thanks
sorry, forgot to attach the diff: http://overlays.gentoo.org/proj/alt/changeset?new=trunk%2Fprefix-overlay%2Feclass%2Fqt4-build.eclass%4055618&old=trunk%2Fprefix-overlay%2Feclass%2Fqt4-build.eclass%4055564