Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mike Crowe <mac@mcrowe.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] libtool-cross: Upbreak and actually use more of it
Date: Wed, 8 Feb 2012 12:29:00 +0000	[thread overview]
Message-ID: <20120208122900.GA11658@mcrowe.com> (raw)
In-Reply-To: <20120207224728.GB13125@sakrah.homelinux.org>

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 <richard.purdie@linuxfoundation.org>
> > > ---
> > > 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



      reply	other threads:[~2012-02-08 12:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-17  0:13 [PATCH] libtool-cross: Upbreak and actually use more of it Richard Purdie
2011-11-17  9:08 ` Paul Menzel
2011-11-17  9:53   ` Richard Purdie
2012-02-07 10:31 ` Mike Crowe
2012-02-07 22:47   ` Khem Raj
2012-02-08 12:29     ` Mike Crowe [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120208122900.GA11658@mcrowe.com \
    --to=mac@mcrowe.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox