"Dr. Thomas Orgis" <thomas.orgis%uni-hamburg.de@localhost> writes: > pkgsrc tries to include system paths in devel/pkg-config and > devel/pkgconf, like > > PKGCONFIG_EXTRA_PATHS+= /usr/lib/pkgconfig > > PKGCONFIG_PATHS+= ${PREFIX}/share/pkgconfig > PKGCONFIG_PATHS+= /usr/lib/pkgconfig > > What is missing here, are the actual paths with most of the .pc files > on a current Ubuntu system, with multiarch. Most are in > > /usr/local/lib/x86_64-linux-gnu/pkgconfig > > To get more into detail, this is the full default search path list: > > $ strings /usr/bin/pkg-config |grep /pkgconfig|tr : '\n' > /usr/local/lib/x86_64-linux-gnu/pkgconfig > /usr/local/lib/pkgconfig > /usr/local/share/pkgconfig > /usr/lib/x86_64-linux-gnu/pkgconfig > /usr/lib/pkgconfig > /usr/share/pkgconfig There are two separate things lurking here. One is that pkgconf when used in building a package probably has these default paths turned off so only buildlink3'd pc files appear. I'll assume you are not meaning to chagne that. > Now, the guessing of only part of that is not optimal. I fixed this by > setting a full PKG_CONfIG_PATH in our HPC shell module environment, but > the intention of pkgsrc seems to not to require that. > > How should this be fixed? Hardcode a list of directories? Search with > guesses using the correct host string (arch-linux-foo)? Poke > /usr/bin/pkg-config? Before answering that, I think the first question is what the specification for correct behavior should be. I'll offer the suggestion that it should be the set of paths that the base system ought to include if pkg-config is native (which might be the set it does include), plus the pkg-prefix pc directory. If the base has pkg-config, and it can be extracted, that seems conceptually ok. Otherwise, it seems like having a list per system perhaps set in platform.mk, perhaps in something that's logically like that, is in order.
Attachment:
signature.asc
Description: PGP signature