Search code examples
linuxmakefileraspberry-pistatic-linkinglibffi

compile libffi as static library on raspberry pi


I'm trying to compile static library of libffi-3.2.1 with no success.

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

make output as follow:

MAKE armv6l-unknown-linux-gnueabihf : 0 * all-all make[1]: Entering directory '/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=' all-recursive make[2]: Entering directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' Making all in include make[3]: Entering directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/include' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/include' Making all in testsuite make[3]: Entering directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/testsuite' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/testsuite' Making all in man make[3]: Entering directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/man' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf/man' make[3]: Entering directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' restore=: && 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; then \ for 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]; do \ if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$am__cwd"; \ if /bin/bash /home/pi/libffi-3.2.1/missing makeinfo -I doc -I ../doc \ -o ../doc/libffi.info ../doc/libffi.texi; \ then \ rc=0; \ CDPATH="${ZSH_VERSION+.}:" && cd ..; \ else \ rc=$?; \ CDPATH="${ZSH_VERSION+.}:" && cd .. && \ $restore $backupdir/* echo "./../doc/libffi.info" | sed 's|[^/]*$||'; \ fi; \ rm -rf $backupdir; exit $rc /home/pi/libffi-3.2.1/missing: line 81: makeinfo: command not found WARNING: 'makeinfo' is missing on your system. You should only need it if you modified a '.texi' file, or any other file indirectly affecting the aspect of the manual. You might want to install the Texinfo package: http://www.gnu.org/software/texinfo/ The spurious makeinfo call might also be the consequence of using a buggy 'make' (AIX, DU, IRIX), in which case you might want to install GNU make: http://www.gnu.org/software/make/ Makefile:1408: recipe for target '../doc/libffi.info' failed make[3]: * [../doc/libffi.info] Error 127 make[3]: Leaving directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' Makefile:1596: recipe for target 'all-recursive' failed make[2]: [all-recursive] Error 1 make[2]: Leaving directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' Makefile:730: recipe for target 'all' failed make[1]: [all] Error 2 make[1]: Leaving directory '/home/pi/libffi-3.2.1/armv6l-unknown-linux-gnueabihf' Makefile:607: recipe for target 'all-all' failed make: * [all-all] Error 2

What am I missing? Regards


Solution

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

    Try to install texinfo:

    sudo apt-get install texinfo