[oe] Missing includes in STAGING_INCDIR

Tom Cooksey thomas.cooksey at trolltech.com
Tue Mar 4 12:56:51 UTC 2008


> > > > I have had the same problem with gstreamer too. I think something has
> > > > broken recently, as I've tried building the existing qtopia core
> > > > recipies and had the same failures.
> > >
> > > Just rely on pkgconfig and it will do the job. The relevant excerpt for
> > > dbus is:
> >
> > Ah... we disable pkgconfig when cross-compiling. ;-) It usually uses the
> > host's includes and libraries due to most toolchains shipping with broken
> > .pc files. We thought the compiler spitting out "Can't find ..." is better
> > than "... binary is incompatable". It looks like OE runs .pc files through
> > sed, is this to fix the same issue?
> 
> Exactly. We think pkgconfig has a lot of value and rather attempted to fix it 
> (by sed'ing the .pc files) than to circumvent it. I advise you to do the 
> same.

Yup, we like pkgconfig too, saves us a lot of work. :-) Sadly, we have to support 
qt being built on 3rd party toolchains we have no access to and therefore no
way to modify. pkg-config caused a headache for support so we've dropped it
by default when cross-compiling. Hopefully we'll re-enable it in the future as
the pkg-config devs seem to be working on the problem, providing an env 
variable you can use to set a sysroot prefix (PKG_CONFIG_SYSROOT).

> 
> > I'll add ${libdir}/dbus-1.0/include to the configure line. Is libdir or
> > STAGING_LIBDIR the best to use?
> 
> This would be ${STAGING_LIBDIR}/dbus-1.0/include.
> 
> > Ideally this would go into the mkspec file
> > for the cross-compiler. Otherwise, it will be passed to the host compiler
> > too (Not that the host compiler's used much with qmake & friends built
> > seperatly).
> >
> > I might look into changing the current "patch the mkspecs/common/*" way of
> > doing things to actually installing a proper mkspec for the OE cross
> > compiler. Would you have any objection to this?
> 
> Not at all -- if it's done in a sane way that doesn't break our existing 
> applications using qmake.
Well, I'll try to bodge it into the configure line for now. If that fails, I'll dig deeper. Do
you have any examples of packages which use qmake I can test with? snes9x seems
to inherit from qmake_base?

> 
> > Also, as cross-compiling is supported on Qt/Embedded, I'm doing things "the
> > qt way" rather than using the cross-compile patch the other qt4 packages
> > use. Don't want to patch the source if I don't need to.
> 
> Sounds good. We disabled Qt/E thinking it cross-compiles because the configure 
> script was doing more harm than good in that case. If you can fix it, we are 
> happy.
Will do my best. :-)


Cheers,

Tom






More information about the Openembedded-devel mailing list