* [meta-multimedia][PATCH] libmusicbrainz: workaround for build-native/do_configure
@ 2014-02-27 7:14 Tim Orling
2014-02-27 11:40 ` Martin Jansa
0 siblings, 1 reply; 3+ messages in thread
From: Tim Orling @ 2014-02-27 7:14 UTC (permalink / raw)
To: openembedded-devel
From: Tim Orling <TicoTimo@gmail.com>
* drop PR
* default cmake_do_configure deletes build/ which wipes out build-native
* workaround to stash build-native first
* <ugly>hack</ugly>
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
---
.../musicbrainz/libmusicbrainz_git.bb | 49 +++++++++++++++++++++-
1 file changed, 47 insertions(+), 2 deletions(-)
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
index f6a8f53..b4d1ad3 100644
--- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
DEPENDS = "expat neon"
PV = "5.0.1+git${SRCPV}"
-PR = "r1"
SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
@@ -30,9 +29,55 @@ do_configure_prepend() {
-DCMAKE_C_COMPILER=${BUILD_CC} \
-DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \
-DCMAKE_CXX_COMPILER=${BUILD_CXX} \
- ..
+ ${S}
make make-c-interface
cd ..
+
+ # the first thing cmake_do_configure does is delete ${B}
+ # stash it first
+ cp -r build-native ..
+}
+
+# recreate default here, with work around for build-native
+cmake_do_configure() {
+ if [ "${OECMAKE_BUILDPATH}" -o "${OECMAKE_SOURCEPATH}" ]; then
+ bbnote "cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build."
+ fi
+
+ if [ "${S}" != "${B}" ]; then
+ rm -rf ${B}
+ mkdir -p ${B}
+ cd ${B}
+ fi
+
+ # bring build-native back into build/
+ mv ../build-native .
+
+ # Just like autotools cmake can use a site file to cache result that need generated binaries to run
+ if [ -e ${WORKDIR}/site-file.cmake ] ; then
+ OECMAKE_SITEFILE=" -C ${WORKDIR}/site-file.cmake"
+ else
+ OECMAKE_SITEFILE=""
+ fi
+
+ cmake \
+ ${OECMAKE_SITEFILE} \
+ ${S} \
+ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+ -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \
+ -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \
+ -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
+ -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \
+ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
+ -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \
+ -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \
+ -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \
+ -DCMAKE_INSTALL_SO_NO_EXE=0 \
+ -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
+ -DCMAKE_VERBOSE_MAKEFILE=1 \
+ ${EXTRA_OECMAKE} \
+ -Wno-dev
}
EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \
--
1.8.3.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [meta-multimedia][PATCH] libmusicbrainz: workaround for build-native/do_configure
2014-02-27 7:14 [meta-multimedia][PATCH] libmusicbrainz: workaround for build-native/do_configure Tim Orling
@ 2014-02-27 11:40 ` Martin Jansa
2014-02-27 15:27 ` Timothy Orling
0 siblings, 1 reply; 3+ messages in thread
From: Martin Jansa @ 2014-02-27 11:40 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 5107 bytes --]
On Wed, Feb 26, 2014 at 11:14:31PM -0800, Tim Orling wrote:
> From: Tim Orling <TicoTimo@gmail.com>
>
> * drop PR
> * default cmake_do_configure deletes build/ which wipes out build-native
> * workaround to stash build-native first
> * <ugly>hack</ugly>
I've just noticed libmusicbraniz failing like this:
NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r1: task do_configure: Started
ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213)
ERROR: Logfile of failure stored in: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function autotools_preconfigure
| DEBUG: Shell function autotools_preconfigure finished
| DEBUG: Executing shell function do_configure
| fatal: Not a git repository (or any parent up to mount parent /home/jenkins/oe/shr-core-branches/shr-core)
| Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
| WARNING: exit code 128 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213)
NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r1: task do_configure: Failed
Is it fix for this problem? or have you seen this?
>
> Signed-off-by: Tim Orling <TicoTimo@gmail.com>
> ---
> .../musicbrainz/libmusicbrainz_git.bb | 49 +++++++++++++++++++++-
> 1 file changed, 47 insertions(+), 2 deletions(-)
>
> diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
> index f6a8f53..b4d1ad3 100644
> --- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
> +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
> @@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
> DEPENDS = "expat neon"
>
> PV = "5.0.1+git${SRCPV}"
> -PR = "r1"
This would make the whole package version going backwards, so please
remove it only when incrementing PV/PE/SRCREV.
> SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
> SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
> @@ -30,9 +29,55 @@ do_configure_prepend() {
> -DCMAKE_C_COMPILER=${BUILD_CC} \
> -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \
> -DCMAKE_CXX_COMPILER=${BUILD_CXX} \
> - ..
> + ${S}
> make make-c-interface
> cd ..
> +
> + # the first thing cmake_do_configure does is delete ${B}
> + # stash it first
> + cp -r build-native ..
> +}
> +
> +# recreate default here, with work around for build-native
> +cmake_do_configure() {
> + if [ "${OECMAKE_BUILDPATH}" -o "${OECMAKE_SOURCEPATH}" ]; then
> + bbnote "cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build."
> + fi
> +
> + if [ "${S}" != "${B}" ]; then
> + rm -rf ${B}
> + mkdir -p ${B}
> + cd ${B}
> + fi
> +
> + # bring build-native back into build/
> + mv ../build-native .
> +
> + # Just like autotools cmake can use a site file to cache result that need generated binaries to run
> + if [ -e ${WORKDIR}/site-file.cmake ] ; then
> + OECMAKE_SITEFILE=" -C ${WORKDIR}/site-file.cmake"
> + else
> + OECMAKE_SITEFILE=""
> + fi
> +
> + cmake \
> + ${OECMAKE_SITEFILE} \
> + ${S} \
> + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
> + -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \
> + -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \
> + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \
> + -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
> + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \
> + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
> + -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \
> + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \
> + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \
> + -DCMAKE_INSTALL_SO_NO_EXE=0 \
> + -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
> + -DCMAKE_VERBOSE_MAKEFILE=1 \
> + ${EXTRA_OECMAKE} \
> + -Wno-dev
> }
>
> EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \
> --
> 1.8.3.2
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [meta-multimedia][PATCH] libmusicbrainz: workaround for build-native/do_configure
2014-02-27 11:40 ` Martin Jansa
@ 2014-02-27 15:27 ` Timothy Orling
0 siblings, 0 replies; 3+ messages in thread
From: Timothy Orling @ 2014-02-27 15:27 UTC (permalink / raw)
To: openembedded-devel
On Feb 27, 2014, at 3:40 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Wed, Feb 26, 2014 at 11:14:31PM -0800, Tim Orling wrote:
>> From: Tim Orling <TicoTimo@gmail.com>
>>
>> * drop PR
>> * default cmake_do_configure deletes build/ which wipes out build-native
>> * workaround to stash build-native first
>> * <ugly>hack</ugly>
>
> I've just noticed libmusicbraniz failing like this:
>
> NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r1: task do_configure: Started
> ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213)
> ERROR: Logfile of failure stored in: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213
> Log data follows:
> | DEBUG: Executing python function sysroot_cleansstate
> | DEBUG: Python function sysroot_cleansstate finished
> | DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
> | DEBUG: Executing shell function autotools_preconfigure
> | DEBUG: Shell function autotools_preconfigure finished
> | DEBUG: Executing shell function do_configure
> | fatal: Not a git repository (or any parent up to mount parent /home/jenkins/oe/shr-core-branches/shr-core)
> | Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
> | WARNING: exit code 128 from a shell command.
> | ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213)
> NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r1: task do_configure: Failed
>
> Is it fix for this problem? or have you seen this?
>
No, I have not seen that error. Hunch: that might be caused by the "git clean ..." in do_configure_prepend...
It might also be something with jenkins. I'm still running manually (even though I maintain the jenkins server at work... go figure).
The first error I saw was not being able to find CMakeLists.txt so I changed the target for cmake from .. to ${S}
After that, the second error was being unable to find build-native/ImportExecutables.cmake, which I fixed by the do_configure hack.
>
>>
>> Signed-off-by: Tim Orling <TicoTimo@gmail.com>
>> ---
>> .../musicbrainz/libmusicbrainz_git.bb | 49 +++++++++++++++++++++-
>> 1 file changed, 47 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
>> index f6a8f53..b4d1ad3 100644
>> --- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
>> +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
>> @@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
>> DEPENDS = "expat neon"
>>
>> PV = "5.0.1+git${SRCPV}"
>> -PR = "r1"
>
> This would make the whole package version going backwards, so please
> remove it only when incrementing PV/PE/SRCREV.
>
Still learning :)
I'll bump it in v2.
>> SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
>> SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
>> @@ -30,9 +29,55 @@ do_configure_prepend() {
>> -DCMAKE_C_COMPILER=${BUILD_CC} \
>> -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \
>> -DCMAKE_CXX_COMPILER=${BUILD_CXX} \
>> - ..
>> + ${S}
>> make make-c-interface
>> cd ..
>> +
>> + # the first thing cmake_do_configure does is delete ${B}
>> + # stash it first
>> + cp -r build-native ..
>> +}
>> +
>> +# recreate default here, with work around for build-native
>> +cmake_do_configure() {
>> + if [ "${OECMAKE_BUILDPATH}" -o "${OECMAKE_SOURCEPATH}" ]; then
>> + bbnote "cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build."
>> + fi
>> +
>> + if [ "${S}" != "${B}" ]; then
>> + rm -rf ${B}
>> + mkdir -p ${B}
>> + cd ${B}
>> + fi
>> +
>> + # bring build-native back into build/
>> + mv ../build-native .
>> +
>> + # Just like autotools cmake can use a site file to cache result that need generated binaries to run
>> + if [ -e ${WORKDIR}/site-file.cmake ] ; then
>> + OECMAKE_SITEFILE=" -C ${WORKDIR}/site-file.cmake"
>> + else
>> + OECMAKE_SITEFILE=""
>> + fi
>> +
>> + cmake \
>> + ${OECMAKE_SITEFILE} \
>> + ${S} \
>> + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
>> + -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \
>> + -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \
>> + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \
>> + -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
>> + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \
>> + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
>> + -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \
>> + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \
>> + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \
>> + -DCMAKE_INSTALL_SO_NO_EXE=0 \
>> + -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
>> + -DCMAKE_VERBOSE_MAKEFILE=1 \
>> + ${EXTRA_OECMAKE} \
>> + -Wno-dev
>> }
>>
>> EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \
>> --
>> 1.8.3.2
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--Tim
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-02-27 15:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-27 7:14 [meta-multimedia][PATCH] libmusicbrainz: workaround for build-native/do_configure Tim Orling
2014-02-27 11:40 ` Martin Jansa
2014-02-27 15:27 ` Timothy Orling
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.