Tensorflow源码编译分两种:一种是本地源码编译,另一种是针对ARM平台的源码编译.
接下来分别介绍:
一.本地编译
本地编译时,使用的编译工具是本地GCC.
一般会碰到以下问题:
第1个:external/nasm/include/error.h 找不到
解决方法:
执行命令:sudo cp external/nasm/include/error.h external/nasm/
二.ARM交叉编译
第一步:配置环境:
./configure
配置python环境为:/usr/bin/python2.7
编译时,常见问题:
第1个:/home/jim/sysroots/x86_64-pokysdk-linux/usr/lib/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.3.0/include-fixed/openssl/bn.h:fatal error: openssl/e_os2.h: No such file or directory
修改目录:/home/jim/sysroots/x86_64-pokysdk-linux/usr/lib/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.3.0/include-fixed/openssl 为openssl_old
/home/jim/sysroots/x86_64-pokysdk-linux/cortexa9hf-neon-poky-linux-gnueabi/usr/include/openssl 为openssl_old
第2个:int_max_32 :redifinition in in /usr/include/google/protobuf/
修改目录:/usr/include/google/protobuf 为protobuf_old
第3个:/usr/include/python2.7/pyconfig.h:24:54: fatal error: arm-linux-gnueabihf/python2.7/pyconfig.h: No such file or directory
打开文件:/usr/include/python2.7/pyconfig.h, 去掉前缀:arm-linux-gnueabihf/