TensorFlow 1.15.X源码编译报错:找不到@highwayhash//包
解决TensorFlow 1.15编译时
@highwayhash//包找不到的问题 这个问题本质是TensorFlow 1.15的依赖管理中,highwayhash库的仓库声明缺失或拉取失败导致的,下面是具体的解决步骤:
步骤1:检查并修复WORKSPACE文件中的highwayhash依赖声明
打开TensorFlow源码根目录下的WORKSPACE文件,在第三方依赖声明的区域(比如和io_rules_docker、grpc等依赖相近的位置)添加以下内容:http_archive( name = "highwayhash", urls = [ "https://github.com/google/highwayhash/archive/refs/tags/v0.1.2.tar.gz", ], sha256 = "d4b85858f97e428996fc4610a62095dd439b3654b75b390c08f7f13a2f4f3251", strip_prefix = "highwayhash-0.1.2", )如果文件中已经存在
highwayhash的声明,检查urls、sha256和strip_prefix是否匹配上述内容——旧的声明可能因为版本不对或校验码错误导致拉取失败。步骤2:手动拉取highwayhash依赖(可选,若步骤1无效)
如果修改WORKSPACE后仍然报错,可能是网络问题导致bazel无法自动拉取依赖,可以先手动执行fetch命令:bazel fetch @highwayhash//...如果fetch失败,你可以手动下载highwayhash v0.1.2的压缩包,解压后在编译时通过
--override_repository参数指定本地路径:bazel --output_base=/media/odroid/.../CacheFolder build --config=opt --config=monolithic --config=noaws --jobs 1 --define=grpc_no_ares=true --local_resources 1536,0.5,1.0 --override_repository=highwayhash=/path/to/your/local/highwayhash tensorflow:libtensorflow_cc.so --discard_analysis_cache把
/path/to/your/local/highwayhash替换成你实际解压后的highwayhash目录路径。额外提示
因为你是在Odroid-XU4的ARM架构上编译,确认highwayhash的源码对ARM的支持没问题——实际上highwayhash官方是支持ARM平台的,所以重点还是依赖的正确引入。
内容的提问来源于stack exchange,提问作者Yasin Kumar
相关产品推荐
相关产品推荐

