首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Bazel-Skylark检查体系结构

用Bazel-Skylark检查体系结构
EN

Stack Overflow用户
提问于 2017-06-05 19:14:53
回答 1查看 260关注 0票数 1

在最近的一次提交中,我试图从源代码中构建ppc64le中的Tensorflow,但是我遇到了一些问题(https://github.com/tensorflow/tensorflow/issues/10306结束/问题/207),这些问题来自bazebuild/rules_ come。

大多数情况下,我需要检查目标机器是否是ppc64le (有任何本地Bazel方式来运行类似于uname -m之类的东西吗?)然后,我们不应该将'-client‘传递给JVM调用--不幸的是,到目前为止,在openjdk8 for ppc64le中还没有对openjdk8(客户端)编译器的支持。

此外,还有一些预先构建的x64二进制文件(nodejs和protoc)是在构建可移植性之前的rules_closure时下载的。我想知道是否有一种方法可以避免这个问题,例如添加到包含ppcle64二进制文件的存储库的链接,或者返回到系统的二进制文件。

(我也在bazel讨论邮件列表中问过这个问题)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-06 14:00:59

为什么需要-client标志?它能被所有的架构删除吗?Bazel调整JDK配置的内置方式是工具链()规则 (您可以在源存储库中看到工具链 Bazel的使用)。如果某些平台确实需要标记,而另一些平台则不需要,那么应该添加一个java_toolchain来提供该标记,而不支持该标志的平台可以在没有标记的情况下使用自定义工具链。

至于二进制文件,现在唯一可用的选择是使用select()规则,检查host_cpu设置,选择将在本地平台上工作的二进制文件。

我正在积极地开发一个名为“Bazel平台”的新特性( 设计文档是公开的)。这将允许像TensorFlow或rules_closure这样的项目定义它们支持的平台,并提供不同的工具链和配置,最终包括诸如Proc二进制文件和JDK标志之类的东西。不幸的是,虽然开发进行得很顺利,但是更新本机Java规则需要一些时间。您可以在发布的#2219上跟踪Github的进度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44376101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档