Ticket #1842 (closed bug: fixed)

Opened 4 years ago

Last modified 3 years ago

Linking against libparrot not as documented

Reported by: plobsing Owned by:
Priority: normal Milestone: 2.10
Component: embed/extend Version: 2.10.0
Severity: high Keywords:
Cc: Language:
Patch status: Platform:

Description

How do you link against libparrot? Easy - use pkg-config like docs/embed.pod tells you.

Except NONE of those commands work!

A little experimenting with pkg-config or a casual glance at the pkg-config source would let anyone know that it does not recurse into subdirectories, so pkgconfig/parrot/2.9.1/parrot.pc is Less Than Useful.

This is a blocker for anyone who is trying to link against libparrot The Right Way.

For the full details of why this happened, check out a previous attempt to remedy this (as well as other issues): TT #735.

If we want to be able to support multiple installed versions of parrot using the current install file policy, pkg-config is not going to cut it. I suggest we abandon pkg-config as a solution, and move to what rakudo is doing: pull everything from parrot_config.

Change History

Changed 3 years ago by jkeenan

These are the source code files where we have mentions of something like pkg-config:

$ find . -type f | xargs grep -lE 'pkg(_|-)config'
./api.yaml
./config/auto/libffi.pm
./ext/Parrot-Embed/Build.PL
./ports/debian/changelog
./ports/ubuntu/changelog
./t/steps/auto/libffi-01.t

pkg-config is specifically required by config/auto/libffi.pm. If we scrapped pkg-config, how would we proceed?

Thank you very much.

kid51

Changed 3 years ago by plobsing

  • status changed from new to closed
  • resolution set to fixed

pkg-config has not been the recomended mechanism for linking against libparrot for months. In stead, parrot_config, a mechanism that does work and is consistent with our install policy, has been favoured.

The recommendation that pkg-config support be abandonned was followed through in the TT #1853 deprecation.

Note: See TracTickets for help on using tickets.