freetype交叉编译出错了,求助一下路过的大佬
configure的指令:
./configure --prefix=$PWD/install \
--enable-shared \
--enable-static \
--host=arm-linux \
--with-sysroot=/opt/arm-uclibc-cross-v203 \
CC=/opt/arm-uclibc-cross-v203/bin/arm-unknown-linux-uclibcgnueabi-gcc \
CFLAGS="-g -O2 --sysroot=/opt/arm-uclibc-cross-v203 -I/opt/kernel/usr_arm/include -I/opt/arm-uclibc-cross-v203/usr/include -I/opt/kernel/include -I/opt/arm-uclibc-cross-v203/include" \
ZLIB_CFLAGS="-I/root/build-libs/zlib-1.2.11/install/include" \
ZLIB_LIBS="-L/root/build-libs/zlib-1.2.11/install/lib -lz" \
LIBPNG_CFLAGS="-I/root/build-libs/libpng-1.6.37/install/include" \
LIBPNG_LIBS="-L/root/build-libs/libpng-1.6.37/install/lib -lpng"
编译报错:
libtool: link: /opt/arm-uclibc-cross-v203/bin/arm-unknown-linux-uclibcgnueabi-gcc -shared -fPIC -DPIC /root/build-libs/freetype-2.11.0/objs/.libs/ftsystem.o /root/build-libs/freetype-2.11.0/objs/.libs/ftdebug.o /root/build-libs/freetype-2.11.0/objs/.libs/ftinit.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbase.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbbox.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbdf.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbitmap.o /root/build-libs/freetype-2.11.0/objs/.libs/ftcid.o /root/build-libs/freetype-2.11.0/objs/.libs/ftfstype.o /root/build-libs/freetype-2.11.0/objs/.libs/ftgasp.o /root/build-libs/freetype-2.11.0/objs/.libs/ftglyph.o /root/build-libs/freetype-2.11.0/objs/.libs/ftgxval.o /root/build-libs/freetype-2.11.0/objs/.libs/ftmm.o /root/build-libs/freetype-2.11.0/objs/.libs/ftotval.o /root/build-libs/freetype-2.11.0/objs/.libs/ftpatent.o /root/build-libs/freetype-2.11.0/objs/.libs/ftpfr.o /root/build-libs/freetype-2.11.0/objs/.libs/ftstroke.o /root/build-libs/freetype-2.11.0/objs/.libs/ftsynth.o /root/build-libs/freetype-2.11.0/objs/.libs/fttype1.o /root/build-libs/freetype-2.11.0/objs/.libs/ftwinfnt.o /root/build-libs/freetype-2.11.0/objs/.libs/truetype.o /root/build-libs/freetype-2.11.0/objs/.libs/type1.o /root/build-libs/freetype-2.11.0/objs/.libs/cff.o /root/build-libs/freetype-2.11.0/objs/.libs/type1cid.o /root/build-libs/freetype-2.11.0/objs/.libs/pfr.o /root/build-libs/freetype-2.11.0/objs/.libs/type42.o /root/build-libs/freetype-2.11.0/objs/.libs/winfnt.o /root/build-libs/freetype-2.11.0/objs/.libs/pcf.o /root/build-libs/freetype-2.11.0/objs/.libs/bdf.o /root/build-libs/freetype-2.11.0/objs/.libs/sfnt.o /root/build-libs/freetype-2.11.0/objs/.libs/autofit.o /root/build-libs/freetype-2.11.0/objs/.libs/pshinter.o /root/build-libs/freetype-2.11.0/objs/.libs/smooth.o /root/build-libs/freetype-2.11.0/objs/.libs/raster.o /root/build-libs/freetype-2.11.0/objs/.libs/sdf.o /root/build-libs/freetype-2.11.0/objs/.libs/ftcache.o /root/build-libs/freetype-2.11.0/objs/.libs/ftgzip.o /root/build-libs/freetype-2.11.0/objs/.libs/ftlzw.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbzip2.o /root/build-libs/freetype-2.11.0/objs/.libs/psaux.o /root/build-libs/freetype-2.11.0/objs/.libs/psnames.o /root/build-libs/freetype-2.11.0/objs/.libs/dlg.o -Wl,-rpath -Wl,/root/build-libs/libpng-1.6.37/install/lib -Wl,-rpath -Wl,/root/build-libs/libpng-1.6.37/install/lib -L/root/build-libs/zlib-1.2.11/install/lib -L/root/build-libs/libpng-1.6.37/install/lib /root/build-libs/libpng-1.6.37/install/lib/libpng16.so -lz -lm -lpthread -pthread -pthread -Wl,-soname -Wl,libfreetype.so.6 -Wl,-version-script -Wl,/root/build-libs/freetype-2.11.0/objs/.libs/libfreetype.ver -o /root/build-libs/freetype-2.11.0/objs/.libs/libfreetype.so.6.18.0
/opt/arm-uclibc-cross-v203/bin/../lib/gcc/arm-unknown-linux-uclibcgnueabi/4.4.1/../../../../arm-unknown-linux-uclibcgnueabi/bin/ld: crti.o: No such file: No such file or directory
我自己排查发现问题在于最后这个指令里面缺了设置sysroot的语句,带上--sysroot=/opt/arm-uclibc-cross-v203
的话直接执行最后的指令能够通过。问题在于我的configure语句上已经加上了--with-sysroot,CFLAGS里面也加上了--sysroot,为啥最后链接的时候就是没有。。。
configure的指令:
./configure --prefix=$PWD/install \
--enable-shared \
--enable-static \
--host=arm-linux \
--with-sysroot=/opt/arm-uclibc-cross-v203 \
CC=/opt/arm-uclibc-cross-v203/bin/arm-unknown-linux-uclibcgnueabi-gcc \
CFLAGS="-g -O2 --sysroot=/opt/arm-uclibc-cross-v203 -I/opt/kernel/usr_arm/include -I/opt/arm-uclibc-cross-v203/usr/include -I/opt/kernel/include -I/opt/arm-uclibc-cross-v203/include" \
ZLIB_CFLAGS="-I/root/build-libs/zlib-1.2.11/install/include" \
ZLIB_LIBS="-L/root/build-libs/zlib-1.2.11/install/lib -lz" \
LIBPNG_CFLAGS="-I/root/build-libs/libpng-1.6.37/install/include" \
LIBPNG_LIBS="-L/root/build-libs/libpng-1.6.37/install/lib -lpng"
编译报错:
libtool: link: /opt/arm-uclibc-cross-v203/bin/arm-unknown-linux-uclibcgnueabi-gcc -shared -fPIC -DPIC /root/build-libs/freetype-2.11.0/objs/.libs/ftsystem.o /root/build-libs/freetype-2.11.0/objs/.libs/ftdebug.o /root/build-libs/freetype-2.11.0/objs/.libs/ftinit.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbase.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbbox.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbdf.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbitmap.o /root/build-libs/freetype-2.11.0/objs/.libs/ftcid.o /root/build-libs/freetype-2.11.0/objs/.libs/ftfstype.o /root/build-libs/freetype-2.11.0/objs/.libs/ftgasp.o /root/build-libs/freetype-2.11.0/objs/.libs/ftglyph.o /root/build-libs/freetype-2.11.0/objs/.libs/ftgxval.o /root/build-libs/freetype-2.11.0/objs/.libs/ftmm.o /root/build-libs/freetype-2.11.0/objs/.libs/ftotval.o /root/build-libs/freetype-2.11.0/objs/.libs/ftpatent.o /root/build-libs/freetype-2.11.0/objs/.libs/ftpfr.o /root/build-libs/freetype-2.11.0/objs/.libs/ftstroke.o /root/build-libs/freetype-2.11.0/objs/.libs/ftsynth.o /root/build-libs/freetype-2.11.0/objs/.libs/fttype1.o /root/build-libs/freetype-2.11.0/objs/.libs/ftwinfnt.o /root/build-libs/freetype-2.11.0/objs/.libs/truetype.o /root/build-libs/freetype-2.11.0/objs/.libs/type1.o /root/build-libs/freetype-2.11.0/objs/.libs/cff.o /root/build-libs/freetype-2.11.0/objs/.libs/type1cid.o /root/build-libs/freetype-2.11.0/objs/.libs/pfr.o /root/build-libs/freetype-2.11.0/objs/.libs/type42.o /root/build-libs/freetype-2.11.0/objs/.libs/winfnt.o /root/build-libs/freetype-2.11.0/objs/.libs/pcf.o /root/build-libs/freetype-2.11.0/objs/.libs/bdf.o /root/build-libs/freetype-2.11.0/objs/.libs/sfnt.o /root/build-libs/freetype-2.11.0/objs/.libs/autofit.o /root/build-libs/freetype-2.11.0/objs/.libs/pshinter.o /root/build-libs/freetype-2.11.0/objs/.libs/smooth.o /root/build-libs/freetype-2.11.0/objs/.libs/raster.o /root/build-libs/freetype-2.11.0/objs/.libs/sdf.o /root/build-libs/freetype-2.11.0/objs/.libs/ftcache.o /root/build-libs/freetype-2.11.0/objs/.libs/ftgzip.o /root/build-libs/freetype-2.11.0/objs/.libs/ftlzw.o /root/build-libs/freetype-2.11.0/objs/.libs/ftbzip2.o /root/build-libs/freetype-2.11.0/objs/.libs/psaux.o /root/build-libs/freetype-2.11.0/objs/.libs/psnames.o /root/build-libs/freetype-2.11.0/objs/.libs/dlg.o -Wl,-rpath -Wl,/root/build-libs/libpng-1.6.37/install/lib -Wl,-rpath -Wl,/root/build-libs/libpng-1.6.37/install/lib -L/root/build-libs/zlib-1.2.11/install/lib -L/root/build-libs/libpng-1.6.37/install/lib /root/build-libs/libpng-1.6.37/install/lib/libpng16.so -lz -lm -lpthread -pthread -pthread -Wl,-soname -Wl,libfreetype.so.6 -Wl,-version-script -Wl,/root/build-libs/freetype-2.11.0/objs/.libs/libfreetype.ver -o /root/build-libs/freetype-2.11.0/objs/.libs/libfreetype.so.6.18.0
/opt/arm-uclibc-cross-v203/bin/../lib/gcc/arm-unknown-linux-uclibcgnueabi/4.4.1/../../../../arm-unknown-linux-uclibcgnueabi/bin/ld: crti.o: No such file: No such file or directory
我自己排查发现问题在于最后这个指令里面缺了设置sysroot的语句,带上--sysroot=/opt/arm-uclibc-cross-v203
的话直接执行最后的指令能够通过。问题在于我的configure语句上已经加上了--with-sysroot,CFLAGS里面也加上了--sysroot,为啥最后链接的时候就是没有。。。