Revision as of 05:56, 18 May 2014 by Craig Peacock (Talk | contribs)

Flex: the fast lexical analyser

Flex is a dependency for Wide-DHCPv6. It requires the GNU M4 macro processor & texi2dvi installed on your build system:

sudo apt-get install m4
sudo apt-get install texinfo
sudo apt-get install texlive

Download flex and cross compile for ARM assuming your ARM cross compiler is located at /opt/arm-2011.09/

tar -xjf flex-2.5.39.tar.bz2
cd flex-2.5.39/
./configure --host=arm-linux-gnueabi --prefix=/usr/arm-linux-gnueabi ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes
make install

Cross Compiling Wide DHCPv6 for ARM

Wide-DHCPv6 has not been updated for some time and uses structures no longer avaliable in glibc without the use of the #define _GNU_SOURCE

Instead, we patch it with a patch developed by Jeremie Corbier

tar -xzf wide-dhcpv6-20080615.tar.gz 
cd wide-dhcpv6-20080615/
patch -p1 < ../0004-GNU-libc6-fixes.patch 
./configure --prefix=/home/export/rootfs --host=arm-linux-gnueabi --with-localdbdir=/tmp ac_cv_func_setpgrp_void=yes ac_cv_lib_fl_yywrap=yes
make install