NetBSD-Users archive

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

Re: pkgconf freetype and flags



On Thu, Oct 19, 2023 at 08:52:28PM -0400, Greg Troxel wrote:
> Riccardo Mottola <riccardo.mottola%libero.it@localhost> writes:
> 
> > who sets what pkgconf returns for the packages? Is it upstream or does
> > it come from NetBSD?
> 
> For packages:
> generally, upstream, and pkgsrc tries to fix it if it is not right.  It
> is often not right...
> 
> For the base system: it's really up to NetBSD.
> 
> > I think there is an issue with freetype, missing the other part.
> >
> > Here:
> > osgiliath: {64} pkg-config --libs freetype2
> > -L/usr/pkg/lib -lfreetype
> > osgiliath: {65} pkg-config --libs-only-other freetype2
> > <nothing>
> >
> > if I compare it with nettle, which works fine:
> > osgiliath: {72} pkg-config --libs nettle
> > -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lnettle
> > osgiliath: {73} pkg-config --libs-only-other nettle
> > -Wl,-R/usr/pkg/lib
> >
> > we see that for freetype -Wl,-R/usr/pkg/lib is missing and this causes
> > me various issues during configures and builds.
> 
> This is the typical bug.
> 
> You can look at the freetype2 package and the file from upstream and how
> LDFLAGS get substituted in.
> 
> Basically things are often linuxy and assume that everything goes in
> /usr and there is no need to set rpath.

Specifically:

- RPATH is not portable. Some OSes don't support it at all.
  Many distributors recommend against it and advise leaving
  library path configuration to the system's administrator.

- Most upstreams will not accept patches to add RPATH to .pc
  files for the above reasons.

- LDFLAGS do not affect generation of .pc files.

- In pkgsrc we use PKGCONFIG_OVERRIDE to automatically insert
  RPATH to .pc files on supported systems.

- Some complex build systems dynamically generate .pc files,
  so you also need to set PKGCONFIG_OVERRIDE_STAGE (it defaults
  to pre-configure - hey, maybe we should change it)...

tl;ldr Use PKGCONFIG_OVERRIDE


Home | Main Index | Thread Index | Old Index