From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com ([134.134.136.24]) by linuxtogo.org with esmtp (Exim 4.72) (envelope-from ) id 1TgfMn-0006Fx-Nx for openembedded-core@lists.openembedded.org; Thu, 06 Dec 2012 18:36:10 +0100 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 06 Dec 2012 09:20:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.84,230,1355126400"; d="scan'208";a="253088528" Received: from unknown (HELO swold-linux.bigsur.com) ([10.255.13.117]) by orsmga002.jf.intel.com with ESMTP; 06 Dec 2012 09:21:35 -0800 Message-ID: <50C0D41F.1050706@linux.intel.com> Date: Thu, 06 Dec 2012 09:21:35 -0800 From: Saul Wold User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Mark Hatle References: <4f0221babbdf3b316dbb0a23dd84ac0e6eeaa658.1354641032.git.mark.hatle@windriver.com> <50C027BE.2020501@linux.intel.com> <50C0CFE5.7000707@windriver.com> In-Reply-To: <50C0CFE5.7000707@windriver.com> Cc: openembedded-core@lists.openembedded.org Subject: Re: [PATCH 21/22] pseudo: Rework target, native and nativesdk pseudo intergration X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Dec 2012 17:36:10 -0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 12/06/2012 09:03 AM, Mark Hatle wrote: > On 12/5/12 11:06 PM, Saul Wold wrote: >> On 12/04/2012 09:14 AM, Mark Hatle wrote: >>> Pseudo was not building and installing properly for systems where >>> baselib >>> was not 'lib'. This change reworks the three scenerios to work >>> properly. >>> >>> Signed-off-by: Mark Hatle >>> --- >>> meta/recipes-devtools/pseudo/pseudo.inc | 58 >>> ++++++++++++------------- >>> meta/recipes-devtools/pseudo/pseudo_1.4.1.bb | 2 +- >>> meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +- >>> 3 files changed, 30 insertions(+), 32 deletions(-) >>> >>> diff --git a/meta/recipes-devtools/pseudo/pseudo.inc >>> b/meta/recipes-devtools/pseudo/pseudo.inc >>> index 98f706c..8dc7d72 100644 >>> --- a/meta/recipes-devtools/pseudo/pseudo.inc >>> +++ b/meta/recipes-devtools/pseudo/pseudo.inc >>> @@ -13,34 +13,28 @@ SRC_URI_append_class-nativesdk = " >>> file://symver.patch" >>> >>> SRC_URI_append_class-native = " file://symver.patch" >>> >>> -FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* >>> ${localstatedir}/pseudo ${prefix}/var/pseudo" >>> -FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug" >>> +FILES_${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* >>> ${localstatedir}/pseudo ${prefix}/var/pseudo" >>> +FILES_${PN}-dbg += "${prefix}/lib/pseudo/lib*/.debug" >>> PROVIDES += "virtual/fakeroot" >>> >>> MAKEOPTS = "" >>> >>> inherit siteinfo >>> >>> -do_configure () { >>> - : >>> -} >>> - >>> -NO32LIBS ??= "1" >>> - >>> -# Compile for the local machine arch... >>> -do_compile () { >>> +do_configure_class-target () { >>> if [ "${SITEINFO_BITS}" = "64" ]; then >>> - ${S}/configure --prefix=${prefix} >>> --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} >>> --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} >>> --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite >>> --without-rpath >>> + mylibdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} >>> else >>> - ${S}/configure --prefix=${prefix} >>> --libdir=${prefix}/lib/pseudo/lib >>> --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} >>> --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite >>> --without-rpath >>> + mylibdir=${prefix}/lib/pseudo/lib >>> fi >>> - oe_runmake ${MAKEOPTS} >>> + ${S}/configure --prefix=${prefix} --libdir=$mylibdir >>> --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --without-rpath >> >> You seem to have dropped the --with-sqlite and now it does not find >> sqlite3.h for the target build as can be seen in the build appliance >> failure. > > It should be sourcing it from the compiler with a #include. It was > working on all of my test builds. > Not that I am aware of, the configure script defaults to /usr, is it possible you have a host contamination issue with sqlite3 installed on your machine? > But either way, there are two bugs here.. the first is pseudo isn't > building for the target -- it wasn't before either. > It has been building on the target in the past since we need it for the Build Appliance and it builds in world. > But the real issue is -why on earth- are we building pseudo at all for > the target. It serves no purpose that I am aware of. > Build Appliance needs it. > I'd prefer if the fix was simply to disable pseudo for target-class > builds, and only build it for -native and -nativesdk cases. > Not really an option > Just drop this patch for now -- we can focus on fixing it a different > way if target builds of pseudo are needed for some reason. > consider it dropped. Sau! > --Mark > >> http://autobuilder.yoctoproject.org:8010/builders/build-appliance/builds/154/steps/shell_46/logs/stdio >> >> >> Sau! >> >>> } >>> >>> -# Two below are the same >>> +NO32LIBS ??= "1" >>> + >>> # If necessary compile for the alternative machine arch. This is >>> only >>> # necessary in a native build. >>> -do_compile_prepend_class-native () { >>> +do_compile_native() { >>> if [ "${SITEINFO_BITS}" = "64" -a -e >>> "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a >>> "${NO32LIBS}" != "1" ]; then >>> # We need the 32-bit libpseudo on a 64-bit machine... >>> # ... and we really, really, hope that the native >>> host is >>> @@ -56,18 +50,20 @@ do_compile_prepend_class-native () { >>> # prevent it from removing the lib, but remove everything >>> else >>> make 'LIB=foo' ${MAKEOPTS} distclean >>> fi >>> + if [ "${SITEINFO_BITS}" = "64" ]; then >>> + ${S}/configure --prefix=${prefix} >>> --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} >>> --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} >>> --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite >>> --without-rpath >>> + else >>> + ${S}/configure --prefix=${prefix} >>> --libdir=${prefix}/lib/pseudo/lib >>> --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} >>> --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite >>> --without-rpath >>> + fi >>> + oe_runmake ${MAKEOPTS} >>> } >>> >>> -do_compile_prepend_class-nativesdk () { >>> - if [ "${SITEINFO_BITS}" = "64" -a -e >>> "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a >>> "${NO32LIBS}" != "1" ]; then >>> - # We need the 32-bit libpseudo on a 64-bit machine... >>> - # ... and we really, really, hope that the native >>> host is >>> - # x86, or else --bits may not work. >>> - ./configure --prefix=${prefix} >>> --libdir=${prefix}/lib/pseudo/lib >>> --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 >>> --without-rpath >>> - oe_runmake ${MAKEOPTS} libpseudo >>> - # prevent it from removing the lib, but remove everything else >>> - make 'LIB=foo' ${MAKEOPTS} distclean >>> - fi >>> +do_compile_class-native () { >>> + do_compile_native >>> +} >>> + >>> +do_compile_class-nativesdk () { >>> + do_compile_native >>> } >>> >>> do_install () { >>> @@ -77,18 +73,20 @@ do_install () { >>> # Two below are the same >>> # If necessary install for the alternative machine arch. This is >>> only >>> # necessary in a native build. >>> -do_install_append_class-native () { >>> +do_install_native () { >>> if [ "${SITEINFO_BITS}" = "64" -a -e >>> "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a >>> "${NO32LIBS}" != "1" ]; then >>> mkdir -p ${D}${prefix}/lib/pseudo/lib >>> cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. >>> fi >>> + oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} >>> 'LIB=lib/pseudo/lib$(MARK64)' install >>> +} >>> + >>> +do_install_class-native () { >>> + do_install_native >>> } >>> >>> do_install_append_class-nativesdk () { >>> - if [ "${SITEINFO_BITS}" = "64" -a -e >>> "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a >>> "${NO32LIBS}" != "1" ]; then >>> - mkdir -p ${D}${prefix}/lib/pseudo/lib >>> - cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. >>> - fi >>> + do_install_native >>> } >>> >>> BBCLASSEXTEND = "native nativesdk" >>> diff --git a/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb >>> b/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb >>> index 70fe9c0..8367a34 100644 >>> --- a/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb >>> +++ b/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb >>> @@ -1,6 +1,6 @@ >>> require pseudo.inc >>> >>> -PR = "r13" >>> +PR = "r14" >>> >>> SRC_URI = >>> "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2" >>> >>> diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb >>> b/meta/recipes-devtools/pseudo/pseudo_git.bb >>> index e394ffb..c8ec5ad 100644 >>> --- a/meta/recipes-devtools/pseudo/pseudo_git.bb >>> +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb >>> @@ -2,7 +2,7 @@ require pseudo.inc >>> >>> SRCREV = "398a264490713c912b4ce465251a8a82a7905f45" >>> PV = "1.4.1+git${SRCPV}" >>> -PR = "r28" >>> +PR = "r29" >>> >>> DEFAULT_PREFERENCE = "-1" >>> >>> > > >