[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