Собираю-компиляю... Получается какая-то фигня с pkg-config. После сборки libffi должно всё компиляться с -lffi, но нет.
Мой ld говорит cannot find -lffi
, хотя libffi.pc лежит в PKG_CONFIG_PATH и содержит следующее:
prefix=/home/golovin/tmp/wayland
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${libdir}/libffi-3.0.13/include
Name: libffi
Description: Library supporting Foreign Function Interfaces
Version: 3.0.13
Libs: -L${libdir} -lffi
Cflags: -I${includedir}
Ничего не понятно? Вырвано из контекста? Тогда есть другой вариант.
Для воспроизведения возьмите тулчейн и выполните эти команды:
WLD=$HOME/tmp/wayland
export LD_LIBRARY_PATH=$WLD/lib
export PKG_CONFIG_PATH="$WLD/lib/pkgconfig/:$WLD/share/pkgconfig/"
export ACLOCAL_PATH="$WLD/share/aclocal"
export ACLOCAL="aclocal -I $ACLOCAL_PATH"
export CC="$TOOLS_DIR/${TOOLS_PREFIX}gcc"
cd $TMPDIR/wayland
# expat
wget -nc http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
tar xzf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure --prefix=$WLD
make && make install
cd ..
# libffi
wget -nc ftp://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz
tar xzf libffi-3.0.13.tar.gz
cd libffi-3.0.13
./configure --prefix=$WLD
make && make install
cd ..
# wayland
git clone git://anongit.freedesktop.org/wayland/wayland
cd wayland
./autogen.sh --prefix=$WLD --disable-documentation
make && make install
cd ..
$ PKG_CONFIG_PATH="$WLD/lib/pkgconfig" pkg-config --libs libffi
-L/home/golovin/tmp/wayland/lib -lffi