Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fontconfig confusion



On Fri 25 Apr 2008 at 03:00:17 +0200, Rhialto wrote:
> So perhaps a thorough cleanup of .pc files of various packages needs to
> be done. Maybe taking in account linking systems where shared libraries
> do not pull in their prerequisites automatically (in which case they
> must stay in the .pc file, for better or for worse).

Actually this is quite a serious suggestion. pkg-config's manual page says 

       --cflags
              This  prints pre-processor and compile flags required to compile
              the packages on the command line, including flags for all  their
              dependencies. Flags are "compressed" so that each identical flag
              appears only once. pkg-config exits with a nonzero  code  if  it
              can't  find metadata for one or more of the packages on the com-
              mand line.

       --libs This option is identical to "--cflags", only it prints the  link
              flags. As with "--cflags", duplicate flags are merged (maintain-
              ing proper ordering), and flags for dependencies are included in
              the output.

which specifies an explicitly expanded transitivity. But if shared
libraries are able to pull in their own dependencies, this isn't
necessary (and, as seen, increases the chances of incorrect libraries
being pulled in).  So it seems a really really bad assumption has been
made somewhere. (Or I'm just wrong, of course).

> Hopefully that will make the rather dense dependency DAG a bit cleaner.

This is also a major point. I noticed that the dependencies of Vim had
many common dependencies themselves, which no doubt are unnecessary.
Unneeded dependencies are of course a bad thing. It is really bad for
upgrading your system.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert      -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl        -- Cetero censeo "authored" delendum esse.


Home | Main Index | Thread Index | Old Index