On 06/21/2012 06:49 PM, Richard Purdie wrote:
On Thu, 2012-06-21 at 18:04 +0800, Robert Yang wrote:
The autogen-native built error on FC17:

ccache: failed to create /dev/null/.ccache

This is because the gcc of FC17 is a symlink to ccache, so the ccache
will always be used regardless to the user's setting, ccache uses
$HOME/.ccache as the CCACHE_DIR if it has not been set, and autogen set
HOME=/dev/null.

Assign CCACHE_DIR the default value to preven it uses $HOME/.ccache
would fix the error.

[YOCTO #2554]

Signed-off-by: Robert Yang<liezhi.y...@windriver.com>
---
  .../autogen/autogen-native_5.12.bb                 |   20 ++++++++++++++++++++
  1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/meta/recipes-devtools/autogen/autogen-native_5.12.bb 
b/meta/recipes-devtools/autogen/autogen-native_5.12.bb
index eb3721d..e80d555 100644
--- a/meta/recipes-devtools/autogen/autogen-native_5.12.bb
+++ b/meta/recipes-devtools/autogen/autogen-native_5.12.bb
@@ -28,6 +28,26 @@ inherit autotools native
  export GUILE_LOAD_PATH = "${STAGING_DATADIR_NATIVE}/guile/2.0"
  export GUILE_LOAD_COMPILED_PATH = "${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache"

+#
+# The do_compile_prepend is used for fixing a build error on FC17, the
+# gcc of FC17 is a symlink to ccache, if we don't set the CCACHE_DIR,
+# there would be an error:
+#
+# ccache: failed to create /dev/null/.ccache
+#
+# This is because ccache uses $HOME/.ccache as the CCACHE_DIR if it has
+# not been set, and autogen set HOME=/dev/null.
+#
+# Assign CCACHE_DIR the default value so that it would not use
+# $HOME/.ccache would fix the error.
+#
+do_compile_prepend() {
+       if [ "${CCACHE_DIR}" = "" ]; then
+               export CCACHE_DISABLE=true
+               export CCACHE_DIR=$HOME
+       fi
+}
+
  do_install_append () {
        create_wrapper ${D}/${bindir}/autogen \
                GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \

Could we just set CCACHE_DISABLE ?


I'm afraid not, it still has the same error if we just set CCACHE_DISABLE,
this is a bug of ccache 3.1.7, it may be fixed in ccache 3.2.

In fact could we just set that globally?

I'm afraid I don't like fixing this on a per recipe basis...


I think that this is only needed by the recipe which set HOME=/dev/null,
the autogen-native is the only one as far as I know, yes, fix it globally
would be better (disable it explicitly if it is not enabled), I will send a V2.

// Robert

Cheers,

Richard


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to