| Submitter | Christian Charreyre |
|---|---|
| Date | April 29, 2011, 3:43 p.m. |
| Message ID | <1304091838-23333-2-git-send-email-christian.charreyre@cioinfoindus.fr> |
| Download | mbox | patch |
| Permalink | /patch/3035/ |
| State | Superseded |
| Headers | show |
Comments
Dear Christian,
thank you for your improved patch.
Am Freitag, den 29.04.2011, 17:43 +0200 schrieb C. Charreyre:
What distribution and machine do you use to build this?
I applied your patches. Unfortunately task compile fails with the
following error using `angstrom-2010.x` or `minimal` with `MACHINE =
"beagleboard".
+ scons_do_compile
+ '[' '' = 1 ']'
+ /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/scons -j4 'CXX=arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi' PREFIX=/usr prefix=/usr
scons: Reading SConscript files ...
Building for python2.6
You need to have numpy installed.
ImportError: No module named numpy:
File "/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/mypaint-0.9.1-r0/mypaint-0.9.1/SConstruct", line 15:
import numpy
+ oefatal 'scons build
> Signed-off-by: C. Charreyre <christian.charreyre@cioinfoindus.fr>
Maybe spell out you first name.
git config user.name "Christian Charreyre" # maybe even
`--global`
> ---
> recipes/mypaint/files/scons-adapt.patch | 20 +++++++++++++++++
> recipes/mypaint/mypaint_0.9.1.bb | 36 +++++++++++++++++++++++++++++++
> 2 files changed, 56 insertions(+), 0 deletions(-)
> create mode 100644 recipes/mypaint/files/scons-adapt.patch
> create mode 100644 recipes/mypaint/mypaint_0.9.1.bb
>
> diff --git a/recipes/mypaint/files/scons-adapt.patch b/recipes/mypaint/files/scons-adapt.patch
> new file mode 100644
> index 0000000..dcad6db
> --- /dev/null
> +++ b/recipes/mypaint/files/scons-adapt.patch
> @@ -0,0 +1,20 @@
> +Author: Christian Charreyre <christian.charreyre@cioinfoindus.fr>
> +
> +Adapt scons to OE
> +Index: mypaint-0.9.1/lib/SConscript
> +===================================================================
> +--- mypaint-0.9.1.orig/lib/SConscript 2011-04-21 11:31:29.000000000 +0200
> ++++ mypaint-0.9.1/lib/SConscript 2011-04-21 11:35:30.000000000 +0200
> +@@ -1,5 +1,11 @@
> + Import('env')
> +-import sys
> ++import sys, os
> ++env.Replace(SHCXX = os.environ['CXX'])
> ++env.Replace(SHLINK = os.environ['CXX'])
> ++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS'])
> ++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu'])
> ++env.Append(LDMODULEFLAGS = ['-shared'])
> ++env.Replace(PATH = os.environ['PATH'])
> +
> + # For the record: I know that scons supports swig. But it doesn't scan for #include in the generated code.
> + #
> diff --git a/recipes/mypaint/mypaint_0.9.1.bb b/recipes/mypaint/mypaint_0.9.1.bb
> new file mode 100644
> index 0000000..a7e5077
> --- /dev/null
> +++ b/recipes/mypaint/mypaint_0.9.1.bb
> @@ -0,0 +1,31 @@
> +DESCRIPTION="fast and easy open-source graphics application for digital painters"
> +LICENSE="GPL"
> +SECTION = "x11/applications"
> +PRIORITY = "optional"
> +HOMEPAGE = "http://mypaint.intilinux.com/"
> +
> +RDEPENDS_${PN} = "python-image python-json python-numpy"
> +
> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
> + file://scons-adapt.patch \
> +"
> +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
> +SRC_URI[sha256sum] = "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
> +
> +inherit distutils scons
> +
> +do_compile() {
> + STAGING_INCDIR=${STAGING_INCDIR} \
> + STAGING_LIBDIR=${STAGING_LIBDIR} \
> + BUILD_SYS=${BUILD_SYS} \
> + HOST_SYS=${HOST_SYS} \
> + PATH=${PATH} scons_do_compile
> +}
> +
> +do_install() {
> + BUILD_SYS=${BUILD_SYS} \
> + HOST_SYS=${HOST_SYS} \
> + scons_do_install
> +}
> +
> +FILES_${PN} += "${datadir}"
Thanks,
Paul
Dear Paul, my configuration is MACHINE="beagleboard" and DISTRO="angstrom-2008.1". I've successfully reproduced your problem, that is explained by missing dependencies in mypaint recipe. In fact scons normally uses python-numpy (native version) to define parts of the include path. As python-numpy is not availbale in native version, I first made a receipe to generate it, but with Arm target and X86_64 host troubles may happen regarding type's length, so I patched Sconscript to give the correct path without python-numpy-native. In my environment it seems to work correctly. I will submit a new version (v3) that I hope will work better in a second mail. Concerning my first name, I don't understand what happens because git config user.name returns "Christian Charreyre". I have manually corrected in the v3 patch. Regards Le 30/04/2011 09:22, Paul Menzel a écrit : > Dear Christian, > > > thank you for your improved patch. > > Am Freitag, den 29.04.2011, 17:43 +0200 schrieb C. Charreyre: > > What distribution and machine do you use to build this? > > I applied your patches. Unfortunately task compile fails with the > following error using `angstrom-2010.x` or `minimal` with `MACHINE = > "beagleboard". > > + scons_do_compile > + '[' '' = 1 ']' > + /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/scons -j4 'CXX=arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi' PREFIX=/usr prefix=/usr > scons: Reading SConscript files ... > Building for python2.6 > You need to have numpy installed. > > ImportError: No module named numpy: > File "/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/mypaint-0.9.1-r0/mypaint-0.9.1/SConstruct", line 15: > import numpy > + oefatal 'scons build > >> Signed-off-by: C. Charreyre<christian.charreyre@cioinfoindus.fr> > Maybe spell out you first name. > > git config user.name "Christian Charreyre" # maybe even > `--global` > >> --- >> recipes/mypaint/files/scons-adapt.patch | 20 +++++++++++++++++ >> recipes/mypaint/mypaint_0.9.1.bb | 36 +++++++++++++++++++++++++++++++ >> 2 files changed, 56 insertions(+), 0 deletions(-) >> create mode 100644 recipes/mypaint/files/scons-adapt.patch >> create mode 100644 recipes/mypaint/mypaint_0.9.1.bb >> >> diff --git a/recipes/mypaint/files/scons-adapt.patch b/recipes/mypaint/files/scons-adapt.patch >> new file mode 100644 >> index 0000000..dcad6db >> --- /dev/null >> +++ b/recipes/mypaint/files/scons-adapt.patch >> @@ -0,0 +1,20 @@ >> +Author: Christian Charreyre<christian.charreyre@cioinfoindus.fr> >> + >> +Adapt scons to OE >> +Index: mypaint-0.9.1/lib/SConscript >> +=================================================================== >> +--- mypaint-0.9.1.orig/lib/SConscript 2011-04-21 11:31:29.000000000 +0200 >> ++++ mypaint-0.9.1/lib/SConscript 2011-04-21 11:35:30.000000000 +0200 >> +@@ -1,5 +1,11 @@ >> + Import('env') >> +-import sys >> ++import sys, os >> ++env.Replace(SHCXX = os.environ['CXX']) >> ++env.Replace(SHLINK = os.environ['CXX']) >> ++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS']) >> ++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu']) >> ++env.Append(LDMODULEFLAGS = ['-shared']) >> ++env.Replace(PATH = os.environ['PATH']) >> + >> + # For the record: I know that scons supports swig. But it doesn't scan for #include in the generated code. >> + # >> diff --git a/recipes/mypaint/mypaint_0.9.1.bb b/recipes/mypaint/mypaint_0.9.1.bb >> new file mode 100644 >> index 0000000..a7e5077 >> --- /dev/null >> +++ b/recipes/mypaint/mypaint_0.9.1.bb >> @@ -0,0 +1,31 @@ >> +DESCRIPTION="fast and easy open-source graphics application for digital painters" >> +LICENSE="GPL" >> +SECTION = "x11/applications" >> +PRIORITY = "optional" >> +HOMEPAGE = "http://mypaint.intilinux.com/" >> + >> +RDEPENDS_${PN} = "python-image python-json python-numpy" >> + >> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \ >> + file://scons-adapt.patch \ >> +" >> +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515" >> +SRC_URI[sha256sum] = "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed" >> + >> +inherit distutils scons >> + >> +do_compile() { >> + STAGING_INCDIR=${STAGING_INCDIR} \ >> + STAGING_LIBDIR=${STAGING_LIBDIR} \ >> + BUILD_SYS=${BUILD_SYS} \ >> + HOST_SYS=${HOST_SYS} \ >> + PATH=${PATH} scons_do_compile >> +} >> + >> +do_install() { >> + BUILD_SYS=${BUILD_SYS} \ >> + HOST_SYS=${HOST_SYS} \ >> + scons_do_install >> +} >> + >> +FILES_${PN} += "${datadir}" > > Thanks, > > Paul > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Patch
diff --git a/recipes/mypaint/files/scons-adapt.patch b/recipes/mypaint/files/scons-adapt.patch new file mode 100644 index 0000000..dcad6db --- /dev/null +++ b/recipes/mypaint/files/scons-adapt.patch @@ -0,0 +1,20 @@ +Author: Christian Charreyre <christian.charreyre@cioinfoindus.fr> + +Adapt scons to OE +Index: mypaint-0.9.1/lib/SConscript +=================================================================== +--- mypaint-0.9.1.orig/lib/SConscript 2011-04-21 11:31:29.000000000 +0200 ++++ mypaint-0.9.1/lib/SConscript 2011-04-21 11:35:30.000000000 +0200 +@@ -1,5 +1,11 @@ + Import('env') +-import sys ++import sys, os ++env.Replace(SHCXX = os.environ['CXX']) ++env.Replace(SHLINK = os.environ['CXX']) ++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS']) ++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu']) ++env.Append(LDMODULEFLAGS = ['-shared']) ++env.Replace(PATH = os.environ['PATH']) + + # For the record: I know that scons supports swig. But it doesn't scan for #include in the generated code. + # diff --git a/recipes/mypaint/mypaint_0.9.1.bb b/recipes/mypaint/mypaint_0.9.1.bb new file mode 100644 index 0000000..a7e5077 --- /dev/null +++ b/recipes/mypaint/mypaint_0.9.1.bb @@ -0,0 +1,31 @@ +DESCRIPTION="fast and easy open-source graphics application for digital painters" +LICENSE="GPL" +SECTION = "x11/applications" +PRIORITY = "optional" +HOMEPAGE = "http://mypaint.intilinux.com/" + +RDEPENDS_${PN} = "python-image python-json python-numpy" + +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \ + file://scons-adapt.patch \ +" +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515" +SRC_URI[sha256sum] = "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed" + +inherit distutils scons + +do_compile() { + STAGING_INCDIR=${STAGING_INCDIR} \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + BUILD_SYS=${BUILD_SYS} \ + HOST_SYS=${HOST_SYS} \ + PATH=${PATH} scons_do_compile +} + +do_install() { + BUILD_SYS=${BUILD_SYS} \ + HOST_SYS=${HOST_SYS} \ + scons_do_install +} + +FILES_${PN} += "${datadir}"
Signed-off-by: C. Charreyre <christian.charreyre@cioinfoindus.fr> --- recipes/mypaint/files/scons-adapt.patch | 20 +++++++++++++++++ recipes/mypaint/mypaint_0.9.1.bb | 36 +++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 0 deletions(-) create mode 100644 recipes/mypaint/files/scons-adapt.patch create mode 100644 recipes/mypaint/mypaint_0.9.1.bb