首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法使用Bazel (v0.10)编译Guava (v24.0)

Bazel是一个开源的构建工具,用于构建和测试软件项目。它支持多种编程语言,并提供高效的增量构建和缓存机制,以加快构建过程。Guava是Google开发的一个Java核心库,提供了许多实用的工具类和函数,用于简化Java开发过程。

然而,由于版本兼容性的问题,Bazel v0.10可能无法直接编译Guava v24.0。这是因为Bazel的版本可能不支持Guava v24.0的某些特性或API变化。

解决这个问题的方法有两种:

  1. 升级Bazel版本:尝试升级Bazel到最新版本,以确保它支持Guava v24.0。可以通过访问Bazel官方网站(https://bazel.build/)获取最新版本的下载链接和文档。
  2. 降低Guava版本:如果升级Bazel不可行,可以考虑降低Guava的版本,以与Bazel v0.10兼容。可以查看Guava的版本历史记录,选择一个与Bazel v0.10兼容的版本。可以在Guava的官方GitHub仓库(https://github.com/google/guava)中找到版本历史记录和相关文档。

无论选择哪种方法,都建议在进行任何更改之前先进行充分的测试,以确保代码的正确性和稳定性。

腾讯云提供了一系列与云计算相关的产品和服务,可以帮助开发者构建和部署应用程序。具体推荐的产品和服务取决于具体的需求和场景。可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息,并浏览相关产品的介绍和文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 连1.0版本都没有,Uber为什么会采用这样一项新技术?

    因此,用于构建 Go Monorepo 的 Go 编译器不会受系统上安装的编译器影响(如果有的话)。因此,无论在哪个环境下构建,都会使用相同版本的 Go。Bazel 文档对此做了很好的解释。...我们无法使用新的编译器,即使它提供了更好的优化功能,因为我们在构建机群上运行的是旧版本的操作系统(只向后迁移编译器,而不迁移 glibc,本身就有风险)。...我花了几个晚上基于 musl.cc 创建了一个 Bazel 工具链,但没走多远,因为当时我无法深入理解 Bazel 的工具链文档,而且也没有找到一个好的示例可以参照。...bazel-zig-cc 有点用,但 bazel-zig-cc 和 zig cc 已知都存在 Bug。 我无法实现必要的修改或 Bug 修复。...评估不同的编译器 我们需要一个交叉编译器,摆在我们面前的选项有两个: grailbio/bazel-toolchain:使用普通的 Clang。没有风险。容易理解。

    1.5K20

    envoy vscode调试环境搭建

    之前在使用 jetbrain 全家桶体验都不错,包括 java的 idea,go的goland,python的pycharm,因此搜了一下 c++ 有对应的 clion 这个 ide。...使用 Clion 查看源码,但是 Clion 只能识别 CMakeLists 文件,需要安装 bazel 插件, 通过 bazel-cmakelists 工具 将 envoy 的 bazel 转为 cmake...网上有网友生成的 cmake 工程文件 CMakeLists.txt,参考, 效果也不如意 vscode Mac 本机调试 编译没问题,但是 **打的断点无效,无法进入断点** # 安装依赖的工具 brew...bazel 多版本管理的工具,它可以自动识别项目中 .bazelversion 文件,选取指定版本的 bazel 来进行构建(可以自动下载对应版本的 bazel 二进制) brew install bazel...# 实际上添加了这个参数也没用 bazel build -c dbg --spawn\_strategy=local //source/exe:envoy-static # 编译完成 # INFO

    2.6K20

    Win10系统编译Tensorflow Lite 2.3为动态链接库tensorflowlite_c.dll

    这里我本机已经安装了Anaconda,使用的python版本为3.6.3: E:\>python --version Python 3.6.3 :: Anaconda 4.4.0 (64-bit) 理论上...因此,要确认好当前的tensorflow源码应该使用哪个bazel版本。 解压缩tensorflow-2.3.1.zip文件后,打开cmd,进入tensorflow-2.3.1。...按照我对tensorflow官方的尿性的了解, 他们每个版本都会使用当前最新的bazel,换言之,在编译tensorflow 2.3.1期间很有可能最新的bazel版本是3.1.0,也就是说官方用的是bazel...2.2 编译 直接执行bazel进行编译即可: bazel build -c opt --config=mkl //tensorflow/lite/c:tensorflowlite_c.dll 稍等片刻...: 无法识别的选项“/s”;已忽略 正在创建库 bazel-out/x64_windows-opt/bin/tensorflow/lite/c/tensorflowlite_c.dll.if.lib

    4.7K50

    VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件

    使用 Visual Studio Code 写 C++ 程序最烦心的是大概就是使用 Code Runner 插件无法编译运行文件名带空格的文件了,这个问题困扰了我好久,虽然不影响学习,但太多分隔符总觉得不顺眼...No such file or directory 意思是没有这样的文件或目录,fatal error: no input files 的意思是致命错误:没有输入文件,然后就编译已终止了。...根据报错,我们发现 C++ 编译器是把 hello world.cpp 当成了 hello 和 world.cpp 两个文件,我的第一反应就是文件名带空格,要加上双引号。...我又在 CMD 中测试了一下,是能编译通过并运行程序的,问题立马锁定在了 Powershell 上,我想,一定是 CMD 和 Powershell 运行程序的代码不同,所以才会出故障。...最终编译运行代码就变成了: "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt.exe\" && & \".

    1.6K30

    重构基于CMake的构建工具链

    但是即便是比较主流的 bazel 和 vcpkg,也无法满足我们的需求。 Bazel的问题 bazel 号称是原生支持分布式编译的构建系统。...但是 bazel 有一些问题。首先,他需要所有的依赖包都提供 bazel 构建系统支持。现有支持 bazel 的包并不是特别多,而且即便支持,也并不是都支持得很好(有些环境编译还是有问题的)。...而 bazel 构建的包,大多情况下由那个包本身去提供一些config,来实现不同的功能组,而编译的时候需要用户去设置使用哪些功能组。...也可能是我对 bazel 的理解有限,我没有找到使用 bazel 做功能检测进行功能开关或者依赖包切换的方法。...bazel select 和宏仅能在 BUILD 阶段使用,WORKSPACE 声明阶段无法使用。但是包的声明在 WORKSPACE 阶段。

    5.1K10

    AI运行环境的搭建

    考虑到升级GLIBC有一定的风险,所以决定使用编译安装的方式安装tensorflow。...因为这里编译的gcc高版本只用于编译tensorflow,并且不希望对系统原来的gcc产生影响。所以单独创建一个文件夹用于安装编译使用的环境软件。使用 --prefix 可以自定义安装路径。...编译编译时出现了类似下面的问题后来尝试使用0.4.5未出现此问题 ERROR: /home/krishna/tensorflow/WORKSPACE:3:1: //external:io_bazel_rules_closure...home/makeuser/software/lib64/libvtv.so /home/makeuser/software/lib64/libubsan.so.0 ………… 上面说的这步修改是普通用户权限无法完成的...,现在开始编译(如果运行编译的服务器上内存比较紧张,可以添加参数: --local_resources 2048,.5,1.0 来限制编译线程,防止内存不足报错 ) bazel build -c

    1.7K20

    centos7环境下ModSecurity-envoy编译和测试(一)-野路子技术宅

    i686.rpm.html#安装GeoIP数据库yum install GeoIP-data#开发工具包yum install GeoIP-devel#lcurl工具包ecntos自带的culr是旧版本,无法满足编译要求...命令构建工程代码bazel build //:envoy编译错误修正记录因本人能力和水平有限,仅设定本次工作目标是修正代码错误,保证代码能正常通过和运行,是不严谨和取巧的方式。.../mirror/tclap/archive/tclap-1-2-1-release-final.tar.gz保存,继续编译bazel build //:envoy第二次错误,三方类库代码异常 /root...注释#error宏定义保存,继续编译bazel build //:envoy无法找到lib包异常编译test阶段,提示无法找到包的异常,提示:/usr/bin/ld: cannot find -lxxx.../libcurl.so继续编译bazel build //:envoy后续出现异常,根据提示解决问题,完成最终编译。时间已经到 3:06 2023/1/10,明天还要上班,今天先到这里。

    1.8K51

    自定义命令行编译标志

    使用 Starlark Configurations 可以让你: 定义项目自己的编译标志,而不再需要 --define 对于规则,可以实现默认的编译配置 不像传统的 --cpu 、--copt 、--compilation_mode...=(-c) 等方式,是 Bazel 版本内置,而用户自定义的编译设置可以在 .bzl 文件中实现,不需要重新编译 Bazel 源码就可以实现 我们最终实现: $ bazel build //my:binary...attrs = { "_today" : attr.label(default = ":week") } ) 通过在 date 规则中声明私有属性 _today,即 date 规则使用用户无法直接更改...更多的使用场景可以参考官方文档,包括 Bazel 内置的 label_flag 和 label_setting;结合 select() 使用; 参考资料 [1] 这里: https://docs.google.com.../skylark/lib/config.html [3] bazel-skylib: https://github.com/bazelbuild/bazel-skylib/releases

    2.6K40

    使用GitHub镜像加速TensorFlow编译

    由于GitHub的访问不是很稳定,速度经常很慢,这就给某些需要编译TensorFlow的同学带来了问题,因为TensorFlow主代码库放在GitHub上,更麻烦的是TensorFlow有很多第三方依赖库也在...GitHub上,即使通过访问gitee等国内代码库把TF的代码clone下来,编译的时候也可能出问题,因为bazel需要在编译的时候动态下载GitHub上的第三方库。.../tensorflow.git/': LibreSSL SSL_connect: Operation timed out in connection to github.com:443 这时候我们可以使用...比如我在编译TFLite benchmark的时候就出现问题,LLVM文件无法下载 (python3.7) user-macbookpro2:tensorflow user$ bazel build.../tensorflow/*.bzl 再次尝试编译bazel就会去国内镜像下载文件进入编译过程,这样就绕过了对GitHub的依赖 (python3.7) user-macbookpro2:tensorflow

    1.9K20

    自定义规则实现将多个静态库合并为一个动态库或静态库

    规则是没有这个功能的,Bazel C/C++ 相关的内置规则有: cc_binary :生成可执行文件 cc_import :允许用户导入预编译的 C/C++ 库,包括动态库、静态库 cc_library...在编写规则中我们就需要获取当前的编译器,我们不能直接使用固定的路径,比如 Linux 下 /usr/bin/gcc,因为可能是交叉编译器,路径就不一样了。...将多个静态库合并成一个静态库: 方式一: $ cd temp $ ar x libA.a $ ar x libB.a $ ar x libC.a $ ar rc libcombined.a *.o 用这种方式无法指定库的输出目录...创建操作(Action)时,Bazel 不会立即运行命令。它将其注册在依赖关系图中,因为一个 Action 可以依赖于另一个 Action 的输出(例如,在 C 语言中,必须在编译后调用链接器)。...已经做了处理,居然是软链接到沙箱(sandbox)源文件,这中间的原理我暂未弄清楚,或许就是沙箱优化 对于交叉编译器,我们必须使用 find_cpp_toolchain(ctx),而不是直接使用 /usr

    5.2K20

    如何挖掘 Bazel 的极致性能

    并行编译 Bazel 精准的知道每个 Action 依赖哪些文件,这使得没有相互依赖关系的 Action 可以并行执行,而不用担心竞争问题。...增量编译Bazel 来说,每个 Target 的构建过程,都对应若干 Action 的执行。Action 的执行本质上就是"输入文件 + 编译命令 + 环境信息 = 输出文件"的过程。...如何高效使用 Bazel Bazel 为了正确性和高性能,做了很多优秀的设计,那么我们如何正确的使用这些能力,让我们的构建性能“起飞”呢, 我们将从本地研发和 CI pipeline 两种场景进行分析...工具,把它变成更可读的形式: 该工具需要源码编译 bazel: 图 11 使用 parser 工具把 log 变成可读形式 转换后的文件如下图所示: 图 12 转换后的 execution_log...这种模式对于 Bazel 构建很不友好,不仅外部依赖要重新下载,而且增量编译功能也无法使用。但我们也有办法尽可能的加快构建速度。

    66020

    多年C++开发使用经验总结

    使用CMake,就意味着: 你可以把你熟悉CMake的技能用在折腾别的C++项目上。而这点之所以重要,是因为你在利用某个第三方库的时候,往往需要大概研究下它的编译过程。...而这就使得你无需丢弃在其他工具上所积累起来的开发经验——例如你熟悉make工具,哪怕是一个CMake维护的项目,你也可以毫不费力就知道如何来查看编译参数,以及控制编译并发度等等。...而对于Bazel则不是如此。Bazel完全以革命者的姿态完整提供了一整套解决方案,所有的使用细节你都要从头开始。加上文档的匮乏,这就使得你也得花上一段时间,才能熟悉Bazel。...3、其它 Bazel和CMake当然还有些其它方面值得对比,但并非一些通用的点,这里就简单列举下,不再详细展开了: IDE集成 缓存编译结果,从而加速编译过程 多语言混合变成的支持 分布式编译 跨平台的支持...唯一想补充的是异常: C++在语法层面对异常支持不太友好:你无法通过函数签名来得知一个函数到底会抛出哪些异常。

    2.9K30
    领券