From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59476) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TjDzF-0000oH-OA for qemu-devel@nongnu.org; Thu, 13 Dec 2012 13:58:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TjDzE-0003Ow-7t for qemu-devel@nongnu.org; Thu, 13 Dec 2012 13:58:25 -0500 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:55201) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TjDzD-0003Oc-U1 for qemu-devel@nongnu.org; Thu, 13 Dec 2012 13:58:24 -0500 Message-ID: <50CA254B.3040608@weilnetz.de> Date: Thu, 13 Dec 2012 19:58:19 +0100 From: Stefan Weil MIME-Version: 1.0 References: <1355359739.28445.22@snotra> <50C97632.80800@weilnetz.de> <1355413998.14046.0@snotra> In-Reply-To: <1355413998.14046.0@snotra> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH] Allow building without graphics support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Scott Wood Cc: Anthony Liguori , qemu-devel@nongnu.org, Gerd Hoffmann Am 13.12.2012 16:53, schrieb Scott Wood: > On 12/13/2012 12:31:14 AM, Stefan Weil wrote: >> Am 13.12.2012 01:48, schrieb Scott Wood: >>> It doesn't seem to like my --cross-prefix being a full path rather >>> than being a recognized target pattern: >>> >>> checking host system type... Invalid configuration >>> `/home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu': >>> machine >>> `/home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc' >>> not recognized >>> configure: error: /bin/bash >>> /home/scott/fsl/git/qemu/pixman/config.sub >>> /home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu >>> failed >>> make: *** [pixman/Makefile] Error 1 >>> >>> When I forced --host=powerpc-linux into the pixman configure command >>> in QEMU's generated Makefile, it got past that, but it built >>> everything with the native compiler: >>> >>> checking build system type... x86_64-unknown-linux-gnu >>> checking host system type... powerpc-unknown-linux-gnu >>> checking for powerpc-linux-gcc... no >>> checking for gcc... gcc >>> >>> Looking a bit more closely, it seems that it's the QEMU rather than >>> pixman's autoconf that is making the bad assumption about the format >>> of --cross-prefix (I really wasn't up for wading in autoconf). >>> Running basename on cross-prefix and explicitly supplying CC and >>> such to pixman would help, though there still should be a way to >>> pass in an explicit host tuple if you have an unusually-named >>> toolchain. >>> >>> -Scott >> >> Indeed, --cross-prefixdoes not support absolute path names. >> >> I assume that the executables in >> /home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/binare >> without prefix >> (gcc, ld, ...). > > No, they are with prefix, just not in $PATH. I have more than one > "powerpc-linux-gnu" toolchain and I don't want to mess with my $PATH > constantly to choose between them. > >> Then there must also be the same executables with prefix >> (powerpc-linux-gnu-gcc, powerpc-linux-gnu-ld, ...). These must be >> somewhere in PATH. > > No. This was never a requirement before -- why now? > >> Use --cross-prefix=powerpc-linux-gnu-(note the "-" at the end). >> Then pixman would be configured with --host=powerpc-linux-gnu and >> should find >> the compiler. It won't find the compiler powerpc-linux-gcc when its >> real name is >> powerpc-linux-gnu-gcc. > > No, it's real name is > /home/scott/fsl/tc/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc > > -Scott That are a lot of "no"s. So let me try to be a bit clearer. You said that you forced --host=powerpc-linux into the pixman configure command. That cannot work, because your host prefix is powerpc-linux-gnu, not powerpc-linux. No wonder that pixman used the native compiler. A cross prefix which starts with an absolute path (like in your scenario) justs requires adding `dirname "${cross_prefix}"` to PATH and passing `basename "${cross_prefix%-}" to the pixman configure. These modifications could be added to QEMU's configure and Makefile if we really want that. Installing pixman once manually also works and saves compilation time for repeated builds. That's why I no longer use internal pixman for any of my cross compilations. -Stefan