Libffi.pc не работает в Ubuntu?
Я пытаюсь кросс-компилировать Wayland (с freedesktop.org) для среды Armyf Trusty Tahr.
Для настройки кросс-компиляции у меня есть скрипт arm pkg-config, который правильно устанавливает PKG_CONFIG_LIBDIR и PKG_CONFIG_SYSROOT_DIR, чтобы они указывали на мой системный корень armhf и его каталоги pkgconfig.
Внутри sysroot можно найти: ~/ubuntu-core-14.04.3-core-armhf-forqemu/usr/lib/arm-linux-gnueabihf/pkgconfig/libffi.pc
Внутри этого файла pkg-config находятся строки, которые компилятор использует, когда ему нужно связаться с libffi, и когда он компилирует источники, которые зависят от заголовков libffi:
Libs: -lffi
Cflags:
Когда я собираюсь скомпилировать Wayland, он настраивает скрипт правильно, находит libffi, но когда я вызываю 'make', источники, ссылающиеся на ffi.h, не могут найти include.
Файлы.pc других библиотек, кажется, заполняют вышеуказанные строки директивой компоновщика для добавления пути поиска библиотеки и директивой компилятора для добавления пути включения, например, так (libdrm.pc в качестве примера):
Libs: -L${libdir} -ldrm
Cflags: -I${includedir} -I${includedir}/libdrm
Я посмотрел в Launchpad и обнаружил, что libffi.pc такой же, как я вижу здесь в пакете libffi-dev даже в хитрой и даже для платформы amd64.
Никто другой не упомянул эту проблему, поэтому мне интересно, не является ли это ошибкой или просто ошибкой, которая, кажется, только поднимает голову в кросс-сборке (с которой большинство людей не сталкивается).
Моя цель с этим вопросом - ответить, если это ошибка, и если ответ да, я отправлю ошибку в панель запуска, чтобы исправить ее.
Я предполагаю, что поскольку библиотека и включаемые каталоги, в которых находятся libffi и ее заголовки, являются общими каталогами, которые, как правило, уже находятся в путях поиска компилятора и компоновщика, libffi.a / so и его заголовки просто всегда неявно обнаруживаются уже включенными путями. и эта ситуация проявляется только при кросс-компиляции.
Ссылки на упомянутые пакеты: