我的需求如下:

  • 禁用zlib、禁用syslob;

  • 全静态编译、单文件模式;

  • 使用arm-vfp-linux-gnu工具链交叉编译;

由此根据Dropbear源码中的INSTALLMULTI两个文档,得出如下到编译步骤:

./configure –disable-zlib –disable-syslog –host=arm-vfp-linux-gnu

make PROGRAMS=“dropbear dbclient dropbearkey dropbearconvert scp” MULTI=1 STATIC=1

结果出现

svr-authpasswd.c:(.text+0x3c): undefined reference to `crypt'

collect2: ld returned 1 exit status

make: *** [multibinary] 错误 1

这样的错误提示。解决方法很简单,修改Makefile,找到LIBS+=-lutil这一行(应该是第80行),在后面添加个-lcrypt即可!