[Bug 431665] Review Request: fox - A C++ library for GUI development

bugzilla at redhat.com bugzilla at redhat.com
Sat Mar 8 09:04:48 UTC 2008


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: Review Request: fox - A C++ library for GUI development


https://bugzilla.redhat.com/show_bug.cgi?id=431665





------- Additional Comments From pertusus at free.fr  2008-03-08 04:04 EST -------
(In reply to comment #11)
> (In reply to comment #6)
> > Adie.stx looks like a config files. It should be in %_datadir, and
> > it should be possible to override it with a file in %_sysconfdir
> > and a file in $HOME/.something.
> > 
> 
> It is needed to be useful although an RFE will change that in the future not
> sure when though.

In the mean time Adie.stx should be better located.

> > fox-config should be a wrapper around pkg-config calls to avoid
> > multilib conflicts.
> 
> I've removed it now in a newer version thats nearly ready.

I don't think this is the right way. Other packages building against
fox may need it. Better is to propose upstream a 
fox-config-pkgconfig which would be a wrapper around pkgconfig.

> > the pkgconfig file for fox is wrong. There is certainly no need
> > to link against all those libs to link against fox. Libs: should
> > only contain link flags for libraries that will be used directly 
> > by applications linking against fox. Libs.static: should contain
> > link flags for the remaining libraries linked against the fox library
> > (but not needed directly by applications linking against the fox library).
> > 
> > You can have an idea about that by doing 
> > 
> > ldd -u -r /usr/bin/adie
> 
> I have removed the static libraries using the *.la how do you propose I go about
> fixing this?

The .la files are not static libs. They are text files created by 
libtool to help linking/dlopening on platforms with insufficient shared
library support, and are therefore not needed on linux in general 
and in fedora.

The issue of the pkgconfig file is completly different. The content of
the .pc file is wrong. Indeed when linking against shared libraries
you should only link against the library which provides the symbols
you are using in your application. But if you look at the fox .pc file
you'll see that all the libraries that are linked against fox are brought
in:
pkg-config fox --libs
-lFOX-1.7 -lXext -lX11 -lXcursor -lXrender -lXrandr -lXfixes -lXi -lpthread -lrt
-ljpeg -lpng -ltiff -lz -lbz2 -lm -lGLU -lGL

Those are not needed for an application linking against fox .the only 
link flag needed is -lFOX-1.7.


Now when you link statically, you have to precise all the libraries in
the link command. Therefore pkgconfig has a way to distinguish between what
is needed to link dynamically and what is needed to link statically.

in man pkg-config you can look at Libs and Libs.private in the 
METADATA FILE SYNTAX section.

As a side note there is also a Requires.private which has the same
relation ship with Requires than Libs.private with Libs.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the Fedora-package-review mailing list