在 raspberry pi 上将 libffi 编译为静态库

compile libffi as static library on raspberry pi

我正在尝试编译 libffi-3.2.1 的静态库,但没有成功。

  1. cd libffi-3.2.1
  2. ./configure --prefix=/home/pi/libraries/libffi --enable-static --disable-shared
  3. 制作

输出如下:

制作 armv6l-unknown-linux-gnueabihf : 0 * all-all make[1]: 进入目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -Wall -fexceptions' 'CXXFLAGS=-g -O2' 'CFLAGS_FOR_BUILD=' 'CFLAGS_FOR_TARGET=' 'INSTALL=/usr/bin/install -c' 'INSTALL_DATA=/usr/bin/install -c -m 644' 'INSTALL_PROGRAM=/usr/bin/install -c' 'INSTALL_SCRIPT=/usr/bin/install -c' 'JC1FLAGS=' 'LDFLAGS=' 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=make' 'MAKEINFO=/bin/bash /home/pi/libffi-3.2.1/missing makeinfo ' 'PICFLAG=' 'PICFLAG_FOR_TARGET=' 'RUNTESTFLAGS=' 'SHELL=/bin/bash' 'exec_prefix=/home/pi/libraries/libffi' 'infodir=/home/pi/libraries/libffi/share/info' 'libdir=/home/pi/libraries/libffi/lib' 'mandir=/home/pi/libraries/libffi/share/man' 'prefix=/home/pi/libraries/libffi' 'AR=ar' 'AS=as' 'CC=gcc' 'CXX=g++' 'LD=/usr/bin/ld' 'NM=/usr/bin/nm -B' 'RANLIB=ranlib' 'DESTDIR=' 全递归 make[2]: 进入目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' 全部包含在内 make[3]: 进入目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/include' make[3]:'all' 无事可做。 make[3]: 离开目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/include' 在测试套件中制作所有内容 make[3]: 进入目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/testsuite' make[3]:'all' 无事可做。 make[3]: 离开目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/testsuite' 尽在人 make[3]: 进入目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/man' make[3]:'all' 无事可做。 make[3]: 离开目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/man' make[3]: 进入目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' 恢复=: && backupdir=".am$$" && \ am__cwd=pwd && CDPATH="${ZSH_VERSION+.}:" && cd .. && \ rm -rf $backupdir && mkdir $backupdir && \ if (/bin/bash /home/pi/libffi-3.2.1/missing makeinfo --version) >/dev/null 2>&1;然后 \ 对于 f in ../doc/libffi.info ../doc/libffi.info-[0-9] ../doc/libffi.info-[0-9][0-9] ../doc/libffi.i[0-9] ../doc/libffi.i[0-9][0-9];做 \ 如果测试-f $f;然后 mv $f $backupdir;恢复=mv;别的 :;菲; \ 完毕; \ 别的 :;菲 && \ 光盘“$am__cwd”; \ 如果 /bin/bash /home/pi/libffi-3.2.1/缺少 makeinfo -I doc -I ../doc \ -o ../doc/libffi.info ../doc/libffi.texi; \ 然后 \ rc=0; \ CDPATH="${ZSH_VERSION+.}:" && cd ..; \ 别的 \ rc=$?; \ CDPATH="${ZSH_VERSION+.}:" && cd .. && \ $restore $backupdir/* echo "./../doc/libffi.info" | sed 's|[^/]*$||'; \ 菲; \ rm -rf $备份目录;退出 $rc /home/pi/libffi-3.2.1/缺失:第 81 行:makeinfo:找不到命令 警告:您的系统缺少 'makeinfo'。 如果你修改了一个'.texi'文件,你应该只需要它,或者 间接影响手册方面的任何其他文件。 您可能需要安装 Texinfo 包: http://www.gnu.org/software/texinfo/ 虚假的 makeinfo 调用也可能是以下结果 使用 buggy 'make' (AIX, DU, IRIX),在这种情况下你可能 想要安装 GNU make: http://www.gnu.org/software/make/ Makefile:1408: 目标 '../doc/libffi.info' 的配方失败 make[3]: * [../doc/libffi.info] 错误 127 make[3]: 离开目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' Makefile:1596:目标 'all-recursive' 的配方失败 make[2]: [全递归] 错误 1 make[2]: 离开目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' Makefile:730:目标 'all' 的配方失败 make[1]: [所有] 错误 2 make[1]: 离开目录 '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' Makefile:607:目标 'all-all' 的配方失败 make: * [all-all] 错误 2

我错过了什么? 问候

missing: line 81: makeinfo: command not found WARNING: 'makeinfo' is missing on your system

尝试安装texinfo:

sudo apt-get install texinfo