From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtpout.karoo.kcom.com ([212.50.160.34]) by linuxtogo.org with esmtp (Exim 4.72) (envelope-from ) id 1Rv6lk-0007Tg-JW for openembedded-core@lists.openembedded.org; Wed, 08 Feb 2012 13:37:04 +0100 X-IronPort-AV: E=Sophos;i="4.73,383,1325462400"; d="scan'208";a="593751338" Received: from deneb.mcrowe.com ([82.152.148.4]) by smtpout.karoo.kcom.com with ESMTP; 08 Feb 2012 12:29:00 +0000 Received: from mac by deneb.mcrowe.com with local (Exim 4.72) (envelope-from ) id 1Rv6dw-0003Ad-VW for openembedded-core@lists.openembedded.org; Wed, 08 Feb 2012 12:29:00 +0000 Date: Wed, 8 Feb 2012 12:29:00 +0000 From: Mike Crowe To: Patches and discussions about the oe-core layer Message-ID: <20120208122900.GA11658@mcrowe.com> References: <1321488805.18905.5.camel@ted> <20120207103141.GA30500@mcrowe.com> <20120207224728.GB13125@sakrah.homelinux.org> MIME-Version: 1.0 In-Reply-To: <20120207224728.GB13125@sakrah.homelinux.org> User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: [PATCH] libtool-cross: Upbreak and actually use more of it X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: Patches and discussions about the oe-core layer List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Feb 2012 12:37:04 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Feb 07, 2012 at 02:47:28PM -0800, Khem Raj wrote: > On (07/02/12 10:31), Mike Crowe wrote: > > On Thu, Nov 17, 2011 at 12:13:25AM +0000, Richard Purdie wrote: > > > We should be using libtool-cross for cross compiling but > > > were not. This patch sets datadir so libtoolize ends up > > > containing correct paths. It then installs libtoolize. > > > > I have a recipe that no longer works after this (or perhaps the other > > changes Richard mentions later in the thread.) It's a pretty > > straightforward recipe that inherits from autotools. Judging by the > > number of warnings from autoconf the package was probably expecting an > > older version of automake/autoconf. The configure task fails with: > > > > libtoolize: `config/compile' not found in `/home/mac/src/oe/build/tmp-eglibc/sysroots/panther/usr/share/libtool' > > > > (continued inside patch) > > > > > The path ltmain.sh was installed to was incorrect and this is fixed. > > > > > > We also now install all the libtool m4 macros. > > > > > > Signed-off-by: Richard Purdie > > > --- > > > diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb > > > index 596528a..4e6e3f2 100644 > > > --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb > > > +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb > > > @@ -1,10 +1,13 @@ > > > require libtool-${PV}.inc > > > > > > -PR = "r5" > > > +PR = "r7" > > > PACKAGES = "" > > > SRC_URI += "file://prefix.patch" > > > SRC_URI += "file://fixinstall.patch" > > > > > > +target_datadir := "${datadir}" > > > +datadir = "${STAGING_DIR_TARGET}${target_datadir}" > > > + > > > do_configure_prepend () { > > > # Remove any existing libtool m4 since old stale versions would break > > > # any upgrade > > > @@ -13,20 +16,21 @@ do_configure_prepend () { > > > } > > > > > > do_install () { > > > - install -d ${D}${bindir}/ > > > - install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool > > > - install -d ${D}${datadir}/libtool/ > > > - install -d ${D}${datadir}/aclocal/ > > > - install -c ${S}/libltdl/config/config.guess ${D}${datadir}/libtool/ > > > - install -c ${S}/libltdl/config/config.sub ${D}${datadir}/libtool/ > > > - install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${datadir}/libtool/ > > > - install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${D}${datadir}/aclocal/ > > > - install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${D}${datadir}/aclocal/ > > > + install -d ${D}${bindir_crossscripts}/ > > > + install -m 0755 ${HOST_SYS}-libtool ${D}${bindir_crossscripts}/${HOST_SYS}-libtool > > > + install -d ${D}${bindir_crossscripts}/ > > > + install -m 0755 libtoolize ${D}${bindir_crossscripts}/ > > > + install -d ${D}${target_datadir}/libtool/config/ > > > + install -d ${D}${target_datadir}/aclocal/ > > > + install -c ${S}/libltdl/config/config.guess ${D}${target_datadir}/libtool/ > > > + install -c ${S}/libltdl/config/config.sub ${D}${target_datadir}/libtool/ > > > > If I also install "compile", "depcomp" and "missing" here then this > > solves the immediate problem but then it looks like I also need to add > > "COPYING.LIB" and probably many other files to > > ${D}{$target_datadir}/libtool/libltdl too which leads me to think that > > I'm swimming against the tide and might be going about this the wrong > > way. Is this the correct approach? If so why not just call "make > > install" rather than installing everything by hand? > > can you just try oe_runmake DESTDIR=${D} install ? > you might need to do some extra bits in there but that can be done > additionally I replaced the whole of do_install with your suggestion and my package now configures and compiles successfully. I'll try a complete build from clean to see if the change causes any other problems for me. If it does not should I submit a patch for this change? Thanks for your help. Mike. > > > + install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${target_datadir}/libtool/config/ > > > + install -c -m 0644 ${S}/libltdl/m4/*.m4 ${D}${target_datadir}/aclocal/ > > > } > > > > > > SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess" > > > > > > libtoolcross_sysroot_preprocess () { > > > - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} > > > - install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool > > > + sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} > > > + sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir} > > > } > > > > TIA > > > > Mike. > > > > _______________________________________________ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core