Summary: | sys-devel/crossdev - impossible to adjust search path for cross-pkg-config | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Coacher <itumaykin+gentoo> |
Component: | Current packages | Assignee: | Gentoo Crossdev team <crossdev> |
Status: | RESOLVED NEEDINFO | ||
Severity: | normal | CC: | embedded, vapier |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 627914 | ||
Attachments: | 0001-cross-pkg-config-preserve-EXTRA_PKG_CONFIG_LIBDIR.patch |
Description
Coacher
2017-01-26 21:56:58 UTC
This is with crossdev-99999999 @ 8b1b79e02cc36bc6f2b5583db6aeea333fb8d59b. Created attachment 461652 [details, diff]
0001-cross-pkg-config-preserve-EXTRA_PKG_CONFIG_LIBDIR.patch
Here's a git formatted patch that fixes EXTRA_PKG_CONFIG_LIBDIR handling and allows me to successfully cross-compile against media-libs/raspberrypi-userland. Tl;DR: I'm not sure EXTRA_PKG_CONFIG_LIBDIR is the correct wa to expose it. Should we allow overriding PKG_CONFIG_PATH instead in a smarter way? Mike, WDYT? Long version: I'm not very familiar with pkg-config ways of looking up packages. Is PKG_CONFIG_LIBDIR the correct variable to override in general? It sounds like PKG_CONFIG_PATH is what you really need (crossdev also filters PKG_CONFIG_PATH out). raspberrypi-userland even tries to set PKG_CONFIG_PATH (without ${ROOT}) etc/env.d/04raspberrypi-userland:PKG_CONFIG_PATH='/opt/vc/lib/pkgconfig' but there is no way to prepend ${ROOT}/${SYSROOT} to it (or is there?) crossdev does a crude thing: etc/portage/make.conf:PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/" Does it work given the unset in cross-pkg-config? Only media-video/mpv in ::gentoo tries to attempt to use EXTRA_PKG_CONFIG_LIBDIR and I guess it does not work for years. I see your change mostly touches uclinux code branch. Do you use it? I'm not sure what uclinux is WRT this code. Unsetting EXTRA_PKG_CONFIG_LIBDIR was added long ago in https://gitweb.gentoo.org/proj/crossdev.git/commit/wrappers/cross-pkg-config?id=8f6b30809941541bf7389bda55e5c8eb2bdb2b9f EXTRA_PKG_CONFIG_LIBDIR is crossdev-only wrapper variable, not a pkg-config specific variable. I'm not sure it's a good idea to expose it as an API. Perhaps it would help if you post exact steps you want to work: 1. crossdev command to build a ${SYSROOT} 2. cross-emerge command to build a package 3. build log of a failure Then it should be easier for me to understand what is lacking here. |