I get this error on all 3.* versions of qt. I've tried it with gcc 3.4.5 and 4.1.0, same result. I searched bugzilla and the forums, and found the CXX="g++" method, but it won't work, same error message. Changing to CXX="something other than g++" spits out the "!!! Unknown compiler foo" error. The error messages are in swedish, sed's "can't read file", and message after the qmake.conf line is "file or directory not found". Error log: >>> Emerging (1 of 1) x11-libs/qt-3.3.5-r1 to / >>> checksums files ;-) qt-3.3.5.ebuild >>> checksums files ;-) qt-3.3.4-r8.ebuild >>> checksums files ;-) qt-4.1.0-r2.ebuild >>> checksums files ;-) qt-4.1.1.ebuild >>> checksums files ;-) qt-4.1.0-r1.ebuild >>> checksums files ;-) qt-3.3.5-r1.ebuild >>> checksums files ;-) qt-3.3.4-r9.ebuild >>> checksums files ;-) files/0001-dnd_optimization.patch >>> checksums files ;-) files/0037-dnd-timestamp-fix.patch >>> checksums files ;-) files/0002-dnd_active_window_fix.patch >>> checksums files ;-) files/digest-qt-3.3.5 >>> checksums files ;-) files/digest-qt-4.1.1 >>> checksums files ;-) files/qt4-nomkdir.patch >>> checksums files ;-) files/qt-3.3.4-0047-fix-kmenu-widget.diff >>> checksums files ;-) files/digest-qt-3.3.4-r8 >>> checksums files ;-) files/digest-qt-3.3.4-r9 >>> checksums files ;-) files/digest-qt-3.3.5-r1 >>> checksums files ;-) files/qt-3.3.5-immodule.patch >>> checksums files ;-) files/qt-3.3.4-macos.patch >>> checksums files ;-) files/qt-3.3.4-gcc4-volatile.patch >>> checksums files ;-) files/qt-4.1.0-debug-and-release.diff >>> checksums files ;-) files/qt-4.1.0-configure-no-mysql.diff >>> checksums files ;-) files/qt-3.3.5-uic-fix.patch >>> checksums files ;-) files/qt-3.3.4-immodule-focus.patch >>> checksums files ;-) files/qt-ulibc.patch >>> checksums files ;-) files/qt-3.3.5-macos.patch >>> checksums files ;-) files/qt-3.3.4-qclipboard-hack.patch >>> checksums files ;-) files/qt-3.3.4-gcc4.patch >>> checksums files ;-) files/qt-3.3.4-0051-qtoolbar_77047.patch >>> checksums files ;-) files/0038-dragobject-dont-prefer-unknown.patch >>> checksums files ;-) files/digest-qt-4.1.0-r1 >>> checksums files ;-) files/digest-qt-4.1.0-r2 >>> checksums src_uri ;-) qt-x11-free-3.3.5.tar.bz2 >>> Unpacking source... >>> Unpacking qt-x11-free-3.3.5.tar.bz2 to /var/tmp/portage/qt-3.3.5-r1/work * Applying qt-3.3.5-uic-fix.patch ... [ ok ] * Applying 0001-dnd_optimization.patch ... [ ok ] * Applying 0002-dnd_active_window_fix.patch ... [ ok ] * Applying 0038-dragobject-dont-prefer-unknown.patch ... [ ok ] * Applying qt-ulibc.patch ... [ ok ] sed: kan inte l
I get this error on all 3.* versions of qt. I've tried it with gcc 3.4.5 and 4.1.0, same result. I searched bugzilla and the forums, and found the CXX="g++" method, but it won't work, same error message. Changing to CXX="something other than g++" spits out the "!!! Unknown compiler foo" error. The error messages are in swedish, sed's "can't read file", and message after the qmake.conf line is "file or directory not found". Error log: >>> Emerging (1 of 1) x11-libs/qt-3.3.5-r1 to / >>> checksums files ;-) qt-3.3.5.ebuild >>> checksums files ;-) qt-3.3.4-r8.ebuild >>> checksums files ;-) qt-4.1.0-r2.ebuild >>> checksums files ;-) qt-4.1.1.ebuild >>> checksums files ;-) qt-4.1.0-r1.ebuild >>> checksums files ;-) qt-3.3.5-r1.ebuild >>> checksums files ;-) qt-3.3.4-r9.ebuild >>> checksums files ;-) files/0001-dnd_optimization.patch >>> checksums files ;-) files/0037-dnd-timestamp-fix.patch >>> checksums files ;-) files/0002-dnd_active_window_fix.patch >>> checksums files ;-) files/digest-qt-3.3.5 >>> checksums files ;-) files/digest-qt-4.1.1 >>> checksums files ;-) files/qt4-nomkdir.patch >>> checksums files ;-) files/qt-3.3.4-0047-fix-kmenu-widget.diff >>> checksums files ;-) files/digest-qt-3.3.4-r8 >>> checksums files ;-) files/digest-qt-3.3.4-r9 >>> checksums files ;-) files/digest-qt-3.3.5-r1 >>> checksums files ;-) files/qt-3.3.5-immodule.patch >>> checksums files ;-) files/qt-3.3.4-macos.patch >>> checksums files ;-) files/qt-3.3.4-gcc4-volatile.patch >>> checksums files ;-) files/qt-4.1.0-debug-and-release.diff >>> checksums files ;-) files/qt-4.1.0-configure-no-mysql.diff >>> checksums files ;-) files/qt-3.3.5-uic-fix.patch >>> checksums files ;-) files/qt-3.3.4-immodule-focus.patch >>> checksums files ;-) files/qt-ulibc.patch >>> checksums files ;-) files/qt-3.3.5-macos.patch >>> checksums files ;-) files/qt-3.3.4-qclipboard-hack.patch >>> checksums files ;-) files/qt-3.3.4-gcc4.patch >>> checksums files ;-) files/qt-3.3.4-0051-qtoolbar_77047.patch >>> checksums files ;-) files/0038-dragobject-dont-prefer-unknown.patch >>> checksums files ;-) files/digest-qt-4.1.0-r1 >>> checksums files ;-) files/digest-qt-4.1.0-r2 >>> checksums src_uri ;-) qt-x11-free-3.3.5.tar.bz2 >>> Unpacking source... >>> Unpacking qt-x11-free-3.3.5.tar.bz2 to /var/tmp/portage/qt-3.3.5-r1/work * Applying qt-3.3.5-uic-fix.patch ... [ ok ] * Applying 0001-dnd_optimization.patch ... [ ok ] * Applying 0002-dnd_active_window_fix.patch ... [ ok ] * Applying 0038-dragobject-dont-prefer-unknown.patch ... [ ok ] * Applying qt-ulibc.patch ... [ ok ] sed: kan inte läsa (/var/tmp/portage/qt-3.3.5-r1/work/qt-x11-free-3.3.5/mkspecs//qmake.conf: Filen eller katalogen finns inte !!! ERROR: x11-libs/qt-3.3.5-r1 failed. Call stack: ebuild.sh, line 1557: Called dyn_unpack ebuild.sh, line 719: Called src_unpack !!! (no error message) !!! If you need support, post the topmost build error, and the call stack if relevant. emerge --info: Gentoo Base System version 1.12.0_pre16 Portage 2.1_pre6-r3 (default-linux/x86/2006.0, gcc-4.1.0, glibc-2.3.6-r3, 2.6.15-archck7 i686) ================================================================= System uname: 2.6.15-archck7 i686 AMD Athlon(tm) XP 2600+ ccache version 2.4 [enabled] dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -Os -fomit-frame-pointer -pipe -ftracer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -Os -fomit-frame-pointer -pipe -ftracer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="sv_SE" LC_ALL="sv_SE" LDFLAGS="-Wl,-O1 -Wl,--sort-common -s" LINGUAS="sv en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext X a52 aac alsa apm avi bash-completion berkdb bitmap-fonts bzip2 cli crypt css ctype cups dba dri eds emboss encode expat fastbuild fbcon ffmpeg firefox foomaticdb force-cgi-redirect fortran ftp gd gdbm gif gpm gtk2 imlib imlib2 ipv6 jpeg jpg kdeenablefinal libcaca libg++ libwww mad memlimit mikmod minimal mmx mmxext motif mp3 mpeg msn ncurses nls nptl nptlonly nvidia ogg opengl openssl oscar pam pcre pdflib perl pic png posix python qt quicktime readline samba sdl session simplexml slang soap sockets spell spl sse ssl svg tcpd tiff tokenizer truetype truetype-fonts type1-fonts udev unicode vidix vorbis win32codecs xine xml xml2 xsl xv xvid xvmc zlib elibc_glibc input_devices_mouse input_devices_keyboard input_devices_joystick input_devices_evdev kernel_linux linguas_sv linguas_en userland_GNU video_cards_nv video_cards_vesa video_cards_nvidia" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS
So what's in /var/tmp/portage/qt-3.3.5-r1/work/qt-x11-free-3.3.5/mkspecs/ ? qmake.conf should be there.
*** Bug 126550 has been marked as a duplicate of this bug. ***
(In reply to comment #1) > So what's in /var/tmp/portage/qt-3.3.5-r1/work/qt-x11-free-3.3.5/mkspecs/ ? > > qmake.conf should be there. > As I understand, the ebuild dose some testing on what compiler and platform it should compile for. It seems as if the $vars($CXX,$CHOST,$PLATNAME?,$PLATCXX?) in the ebuild go ignored. $ls /var/tmp/portage/qt-3.3.5-r1/work/qt-x11-free-3.3.5/mkspecs gives me: aix-g++ aix-g++-64 aix-xlc aix-xlc-64 bsdi-g++ cygwin-g++ darwin-g++ dgux-g++ freebsd-g++ freebsd-g++34 freebsd-icc hpux-acc hpux-acc-64 hpux-acc-o64 hpux-cc hpux-g++ hpux-g++-64 hpuxi-acc-32 hpuxi-acc-64 hurd-g++ irix-cc irix-cc-64 irix-cc-o32 irix-g++ linux-cxx linux-ecc-64 linux-g++ linux-g++-64 linux-icc linux-kcc linux-kylix linux-pgcc lynxos-g++ macx-g++ macx-mwerks macx-pbuilder macx-xlc netbsd-g++ openbsd-g++ qnx-g++ reliant-cds reliant-cds-64 sco-cc sco-g++ solaris-cc solaris-cc-64 solaris-g++ solaris-g++-64 tru64-cxx tru64-g++ unixware-cc unixware-g++ win32-borland win32-g++ win32-icc win32-msvc win32-msvc2005 win32-msvc.net win32-watcom A qmake.conf seem to reside in all of those. I'm guessing it should find linux-g++ when emerged on my system.
It seems to be ignoring the exported PLATFORM variable from pkg_setup. I wonder if something has changed in portage to cause this?
Sorry about not mentioning this before, but my system is Rockhopper stage3 install. I don't know if it that matters(or invalidates my bugreport). A emerge -e system has been run with gcc-4.1. Don't know if that matters to.
I'd be interested to see, if you were to put some "echo ${PLATFORM}" statements at the end of pkg_setup, and in src_compile and src_install and see what it shows as output when you try to emerge.
I fixed it, with a somewhat hackish solution. The problem seamed to be that ${PLATFORM} did not pass on to the next function, from pkg_setup to src_unpack etc. Why? I have no clue, I'm not really familiar with either Python or ebuilds. Perhaps it's got something to do with threading, although, your guess is surely alot better than mine. So I copied this from pkg_setup: CXX=$(tc-getCXX) if [[ ${CXX/g++/} != ${CXX} ]]; then PLATCXX="g++" elif [[ ${CXX/icc/} != ${CXX} ]]; then PLATCXX="icc" else die "Unknown compiler ${CXX}." fi case ${CHOST} in *-freebsd*|*-dragonfly*) PLATNAME="freebsd" ;; *-openbsd*) PLATNAME="openbsd" ;; *-netbsd*) PLATNAME="netbsd" ;; *-darwin*) PLATNAME="darwin" ;; *-linux-*) PLATNAME="linux" ;; *) die "Unknown CHOST, no platform choosed." esac # probably this should be '*-64' for 64bit archs # in a fully multilib environment (no compatibility symlinks) export PLATFORM="${PLATNAME}-${PLATCXX}" And pasted it in at the beginning of src_unpack, src_compile and src_install. This might be overkill, but I'm tired of life without amaroK, I just want it to work, taking no chances. Anywho, this passes as atleast a workaround in my book.
*** Bug 129296 has been marked as a duplicate of this bug. ***
so I wonder if this isn't a portage 2.1 bug?
just tried with portage 2.1 and it worked for me. maybe it's glibc 2.4 thing? anyway, if you manually throw in a pkg_setup call at the beginning of src_unpack, src_compile, and src_install I bet it fixed it.
I hardcoded 'export PLATFORM="linux-g++"' in each of those functions and that fixed the ebuild for me. Even cruder hack, but easier! qt-3.3.6, ~x86
I rebuilt my system from scratch and this bug did not appear again. Yay!
looks to be fixed now.