libtool включает неверный путь - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь скомпилировать fontconfig для Android. Я успешно скомпилировал все его зависимости, но я получаю странную ошибку при компиляции fontconfig:

вот команда, которую я запускаю:

TOOLCHAIN="$NDK/sysroot/usr/include/$HOST"
TOOLS="arm-linux-androideabi-4.9"

export PKG_CONFIG="$(which pkg-config)"
export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
export CPP="${CROSS_PREFIX}cpp"
export CXX="${CROSS_PREFIX}g++"
export CC="${CROSS_PREFIX}gcc"
export LD="${CROSS_PREFIX}ld"
export AR="${CROSS_PREFIX}ar"
export NM="${CROSS_PREFIX}nm"
export RANLIB="${CROSS_PREFIX}ranlib"
export LDFLAGS="-L$PREFIX/lib -L$SYSROOT/usr/lib -L$NDK/sysroot/usr/lib/$HOST -fPIE -pie --sysroot=$SYSROOT "
export CFLAGS="$OPTIMIZE_CFLAGS -I$PREFIX/include -I$NDK/sysroot/usr/include -I$TOOLCHAIN -fPIE " 
export CXXFLAGS="$CFLAGS "
export CPPFLAGS="-I$PREFIX/include -I$NDK/sysroot/usr/include -I$TOOLCHAIN --sysroot=$SYSROOT "
export STRIP=${CROSS_PREFIX}strip
export PATH="$PATH:$PREFIX/bin:$NDK/build:${PREBUILT_TOOLCHAIN}/bin"
export CROSS_SYSROOT="${SYSROOT}" 

  ./configure  PKG_CONFIG="$(which pkg-config)" PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" \
            --prefix=$PREFIX \
            --host=$HOST \
            --with-arch=$ARCH\
            --with-sysroot=$SYSROOT \
            --with-pic \
            --disable-libxml2 \
            --disable-iconv \
            --enable-static \
            --disable-shared \
            --disable-docs \
            --disable-nls \
            --disable-rpath

        make clean
        make -j8  
        make install

ошибка:

  CCLD     libfontconfig.la
libtool: warning: library '/home/rafa/Desktop/m3/build_dir/lib/libfreetype.la' was moved.
/bin/grep: /home/rafa/Desktop/missao/ndk17/platforms/android-27/arch-arm/home/rafa/Desktop/m3/build_dir/lib/libpng12.la: No such file or directory
/bin/sed: can't read /home/rafa/Desktop/missao/ndk17/platforms/android-27/arch-arm/home/rafa/Desktop/m3/build_dir/lib/libpng12.la: No such file or directory
libtool:   error: '/home/rafa/Desktop/missao/ndk17/platforms/android-27/arch-arm/home/rafa/Desktop/m3/build_dir/lib/libpng12.la' is not a valid libtool archive
Makefile:596: recipe for target 'libfontconfig.la' failed

Он не может найти /home/rafa/Desktop/missao/ndk17/platforms/android-27/arch-arm/home/rafa/Desktop/m3/build_dir/lib/libpng12.la, что верно, потому что этот каталог не существует, правильный: /home/rafa/Desktop/m3/build_dir/lib/libpng12.la

файл libfreetype.la, который вызывает неверный путь, имеет следующую строку:

dependency_libs=' -L/home/rafa/Desktop/m3/build_dir/lib -L=/usr/lib -L/home/rafa/Desktop/missao/ndk17/sysroot/usr/lib/arm-linux-androideabi =/home/rafa/Desktop/m3/build_dir/lib/libpng12.la -L=/usr/lib -lz -lm'

У меня есть 2 вопроса:

  1. -Как я могу это исправитьошибка?

  2. -Все библиотеки в упомянутом проекте были построены с использованием аналогичного скрипта, почему makefile генерирует эту ошибку libfreetype.la и как я могу исправить это в моем скрипте?

1 Ответ

0 голосов
/ 12 июня 2018

Вы пробовали установить LIBPNG_CFLAGS и LIBPNG_LIBS до ./configure?Это может решить вашу проблему.

export LIBPNG_CFLAGS="/home/rafa/Desktop/m3/build_dir/include"
export LIBPNG_LIBS="/home/rafa/Desktop/m3/build_dir/lib"
...