[lsb-discuss] pkgconfig in LSB Build Environment
Daniel Yek
dyek at real.com
Tue Mar 6 00:25:22 PST 2007
At 01:29 PM 3/5/2007, Wichmann, Mats D wrote:
> > /usr/include/glib-2.0/glib.h:39:24: error: glib/gdate.h: No such file
> or directory
> >
> > ...missing GLib headers:
>
> > ...header files are included as follow:
> >
> > /opt/lsb-buildenv-ia32/usr/include/glib-2.0/glib.h:
> > #include <glib/galloca.h>
> > #include <glib/garray.h>
> > #include <glib/gasyncqueue.h>
> > #include <glib/gatomic.h>
> > ...
> >
> > Any idea why these GLib headers are missing from the BE rpms?
>
>the developers chose to fold most of the header information
>into the few "published" header files under /opt/lsb/include;
>thus we can't mix GTK headers from /usr/include and
>/opt/lsb/include. I've been worried that this is going
>to cause problems, you'll have to let us know how it
>works out for you.
I have managed to execute the GTK+ Hello World program in the LSB Sample
Implementation environment successfully. Thank you for your help and hints.
There were a lot of ac-hoc headers modification though -- messy.
I saw a lot of header files were using something like <gtk-2.0/gtk/gtk.h>.
Typically GTK+ headers only include one subdirectory name (eg. "gtk") to
create a "namespace". Did LSB decide to introduce version (as reflected in
"gtk-2.0") in the namespace too? (In Linux distribution? Or in LSB BE only?)
pkg-config's command line -I include-directories didn't match the
version-ed #include's, causing headers files to be not found in the
/opt/lsb directory and fallback to the /usr directory.
As you said, GCC 4.0 doesn't ship the specs file anymore; however, I think
I read that GCC still reads the specs file if it exists.
These are the location that GCC looks for the specs file in my BE:
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/specs - Found specs file
/usr/lib/gcc/i686-pc-linux-gnu/specs - Not found.
LSB's GCC Specs file exists and appears to be correctly defined/updated,
but it isn't read by GCC.
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/specs.lsb
Any idea how LSB specified that specs.lsb was to be used, instead of specs?
--
Daniel Yek
More information about the lsb-discuss
mailing list