[yocto] Building one package needs header from another
Paul Eggleton
paul.eggleton at linux.intel.com
Wed Sep 4 04:06:03 PDT 2013
Hi Paul,
Apologies for the delayed reply.
On Friday 23 August 2013 12:52:54 Paul D. DeRocco wrote:
> > > On Tuesday 20 August 2013 16:06:54 Paul D. DeRocco wrote:
> > >
> > > I've been trying to figure out how the setup.py/setup.cfg
> > > (and distutils)
> > > stuff works. The setup.cfg file lists only one possible
> > > option for adding
> > > directories, which is basedirlist, but setting that to foo adds
> > > foo/include to the include directories and foo/lib to the library
> > > directories, so that's not appropriate.
> >
> > From: Paul Eggleton
> >
> > Could you just send it ${STAGING_DIR_HOST}/${prefix} ? We do
> > do that elsewhere with similar-behaving configure scripts.
>
> I think I've figured out what's going on. The whole distutils.bbclass
> interface to the Python distutils package involves the writing of a
> setup.py script to perform all the packaging and unpackaging processes.
> The setup.py script for matplotlib has to deal with the fact that
> matplotlib depends upon a varying set of libraries depending upon how you
> configure it. In this case, because I want to build the GTK rendering
> backend, it depends upon the pygtk library. It cleverly uses the
> pkg-config command to interrogate each dependent library to find out what
> compiler options are needed to compile modules that refer to the library,
> but unfortunately, pygtk-2.0 is not a "library" that can be searched by
> pkg-config, so the do_compile script coughs up the following nonfatal
> error message:
>
> pkg-config: looking for pygtk-2.0 gtk+-2.0
> * Package pygtk-2.0 was not found in the pkg-config
> * search path. Perhaps you should add the directory
> * containing `pygtk-2.0.pc' to the PKG_CONFIG_PATH
> * environment variable No package 'pygtk-2.0' found
>
> I think I'm just going to have to patch the setup.py file (actually a
> subsidiary setupext.py file) to hack the additional pygtk-2.0 include
> subdirectory into it.
I'm not very familiar with this particular problem, but if that's the only way
forward I can't see a huge problem with that. FWIW I have had to do similar
hacks in setup.py in python recipes I've written in the past.
> However, setupext.py and setup.py both already have
> small patches in the original matplotlib recipe. If I add another patch in
> my bbappend, will it always be applied after the one in the original
> recipe? Or should I just replace the patch file with one containing its
> fixes and my fix?
Patches added in a bbappend will always be applied after the ones in the
recipe itself, assuming you use SRC_URI += or SRC_URI_append = in your
bbappend that is (since it's the order in which patches are listed in SRC_URI
that determines the order in which they will be applied).
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the yocto
mailing list