[ELDK] ERROR: The function perf_feature_enabled defined in perf-features.inc was already declared in perf.inc.
lothar at denx.de
lothar at denx.de
Mon Aug 19 15:44:18 CEST 2013
Am 2013-08-19 08:25, schrieb Larry Baker:
Hi Larry!
> I'm getting an error about 40% of the way through the initial bitbake
> "Parsing recipes" step:
>
>> ERROR: The function perf_feature_enabled defined in perf-features.inc
>> was already declared in perf.inc. BitBake has a global python function
>> namespace so shared functions should be declared in a common include
>> file rather than being duplicated, or if the functions are different,
>> please use different function names.
>
> I have attached a screen capture of the first few steps of
> "MACHINE=generic-armv5te bitbake -k core-image-basic".
>
> I am concerned because there is a difference in the
> perf_feature_enabled function in the two files cited:
>
>> [baker at lenovo eldk]$ diff
>> /opt/git/eldk/meta-eldk/recipes-kernel/perf/perf.inc
>> /opt/git/eldk/meta/recipes-kernel/perf/perf-features.inc
>> 1c1
>> < PERF_FEATURES_ENABLE ?= ""
>> ---
>> > PERF_FEATURES_ENABLE ?= "perf-scripting perf-tui"
>
>
> I do not know what difference this can make.
>
> The perf.inc file under meta-eldk is not visible until after a "git
> checkout eldk-5.4".
>
> I don't recall this error message appearing when I first cloned the
> ELDK git. I wiped out my previous git clone and made this git clone
> Aug 18 22:59 UTC.
>
> Larry Baker
> US Geological Survey
> 650-329-5608
> baker at usgs.gov
>
>
>
>
> _______________________________________________
> eldk mailing list
> eldk at lists.denx.de
> http://lists.denx.de/mailman/listinfo/eldk
Thank you very much for sharing your precious observations!
As I already mentioned, me too saw something similar:
$ MACHINE=generic-armv5te bitbake -n core-image-minimal
(...)
WARNING: Unable to get checksum for linux-xenomai SRC_URI entry
defconfig: file could not be found
| ETA: 00:00:18
WARNING: Unable to get checksum for sysvinit-enbw-cmc SRC_URI entry
install.patch: file could not be found
| ETA: 00:00:16
WARNING: Unable to get checksum for sysvinit-enbw-cmc SRC_URI entry
crypt-lib.patch: file could not be found
WARNING: Unable to get checksum for sysvinit-enbw-cmc SRC_URI entry
need: file could not be found
WARNING: Unable to get checksum for sysvinit-enbw-cmc SRC_URI entry
provide: file could not be found
WARNING: Unable to get checksum for sysvinit-enbw-cmc SRC_URI entry
rcS-default: file could not be found
WARNING: Unable to get checksum for sysvinit-enbw-cmc SRC_URI entry rc:
file could not be found
WARNING: Unable to get checksum for sysvinit-enbw-cmc SRC_URI entry rcS:
file could not be found
WARNING: Unable to get checksum for gst-omapfb SRC_URI entry
gst-omapfb-cross-gcc-fix.patch: file could not be found
| ETA: 00:00:11
WARNING: Unable to get checksum for gst-omapfb SRC_URI entry
0001-modify-to-use-on-AM3517-with-Qt-Embedded-OMAPFB-over.patch: file
could not be found
WARNING: Unable to get checksum for gst-omapfb SRC_URI entry
0002-gst-omapfb-modify-to-use-with-Qt-Mobility-extensions.patch: file
could not be found
ERROR: The function perf_feature_enabled defined in perf-features.inc
was already declared in perf.inc. BitBake has a global python function
namespace so shared functions should be declared in a common include
file rather than being duplicated, or if the functions are different,
please use different function names.
Parsing recipes: 100%
|################################################################################################################################| Time: 00:00:14
Parsing of 847 .bb files complete (0 cached, 847 parsed). 1164 targets,
55 skipped, 0 masked, 0 errors.
In the attachment you'll find my personal solution. It's not an official
fix, it just fixed the situation for me, I assumed just a simple mistake
in the filename, not perf.inc but perf-feature.inc in the meta-eldk.
Again, I have to underline that it is not an official fix! It's my own
solution, just what I did to get the error out of my way, and I didn't
see any further problems. I'll address the issue when we have more
resources to take a look at it.
Any further feedback on that I appreciate!!
BR,
Lothar Rubusch
PS: if I arrange some time, I'll try to have a look in this tremendous
amount of warnings, too!
QUICKFIX:
From 160f6eb3260db26bc52ef5c6b030b25eff2ca5ef Mon Sep 17 00:00:00 2001
From: Lothar Rubusch <l.rubusch at gmx.ch>
Date: Mon, 19 Aug 2013 15:13:02 +0200
Subject: [PATCH] perf.inc quickfix
---
meta-eldk/recipes-kernel/perf/perf-features.inc | 22
++++++++++++++++++++++
meta-eldk/recipes-kernel/perf/perf.inc | 22
----------------------
meta-eldk/recipes-kernel/perf/perf_3.6.bb | 2 +-
3 files changed, 23 insertions(+), 23 deletions(-)
create mode 100644 meta-eldk/recipes-kernel/perf/perf-features.inc
delete mode 100644 meta-eldk/recipes-kernel/perf/perf.inc
diff --git a/meta-eldk/recipes-kernel/perf/perf-features.inc
b/meta-eldk/recipes-kernel/perf/perf-features.inc
new file mode 100644
index 0000000..e1a7492
--- /dev/null
+++ b/meta-eldk/recipes-kernel/perf/perf-features.inc
@@ -0,0 +1,22 @@
+PERF_FEATURES_ENABLE ?= ""
+
+def perf_feature_enabled(feature, trueval, falseval, d):
+ """
+ Check which perf features are enabled.
+
+ The PERF_FEATURES_ENABLE variable lists the perf features to
+ enable. Override it if you want something different from what's
+ listed above, which is the default. If empty, the build won't
+ enable any features (which may be exactly what you want, just a
+ barebones perf without any extra baggage, what you get if you
+ specify an empty feature list).
+
+ Available perf features:
+ perf-scripting: enable support for Perl and Python bindings
+ perf-tui: enable support for the perf TUI (via libnewt)
+
+ """
+ enabled_features = d.getVar("PERF_FEATURES_ENABLE", True) or ""
+ if feature in enabled_features:
+ return trueval
+ return falseval
diff --git a/meta-eldk/recipes-kernel/perf/perf.inc
b/meta-eldk/recipes-kernel/perf/perf.inc
deleted file mode 100644
index e1a7492..0000000
--- a/meta-eldk/recipes-kernel/perf/perf.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-PERF_FEATURES_ENABLE ?= ""
-
-def perf_feature_enabled(feature, trueval, falseval, d):
- """
- Check which perf features are enabled.
-
- The PERF_FEATURES_ENABLE variable lists the perf features to
- enable. Override it if you want something different from what's
- listed above, which is the default. If empty, the build won't
- enable any features (which may be exactly what you want, just a
- barebones perf without any extra baggage, what you get if you
- specify an empty feature list).
-
- Available perf features:
- perf-scripting: enable support for Perl and Python bindings
- perf-tui: enable support for the perf TUI (via libnewt)
-
- """
- enabled_features = d.getVar("PERF_FEATURES_ENABLE", True) or ""
- if feature in enabled_features:
- return trueval
- return falseval
diff --git a/meta-eldk/recipes-kernel/perf/perf_3.6.bb
b/meta-eldk/recipes-kernel/perf/perf_3.6.bb
index b3a8792..045b1f3 100644
--- a/meta-eldk/recipes-kernel/perf/perf_3.6.bb
+++ b/meta-eldk/recipes-kernel/perf/perf_3.6.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM =
"file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
PR = "r0"
-require perf.inc
+require perf-features.inc
BUILDPERF_libc-uclibc = "no"
--
1.7.10.4
More information about the eldk
mailing list