显示标签为“bazel”的博文。显示所有博文
显示标签为“bazel”的博文。显示所有博文

2020年1月13日星期一

bazel 2.0.0新版本问题

更新了最新的bazel,报错:
name 'maven_server' is not defined
name 'maven_jar' is not defined

新版本不支持这些了,需要切换到旧版本的bazel,参考:https://github.com/google/mediapipe/issues/337

mac系统如何降级bazel,参考https://github.com/bazelbuild/homebrew-tap/issues/39

2019年1月11日星期五

tensorflow的c++ so编译问题

tensorflow1.6的二进制包是用gcc4编译的,bazel在gcc5上使用到tensorflow的库的话编译会有问题,如下:


如果需要在gcc5上兼容tensorflow库,需要在编译选项中加上 bazel build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"

2018年5月28日星期一

intellij import bazel 项目报错

intellij 加载 bazel 项目刚开始就报错:cannot run program bazel error=2

解决:在 settings 中的 other settings -> bazel settings 将 bazel binary location 改为 /usr/local/bin/bazel 即可。

2018年4月28日星期六

migration-tooling项目的问题

国内的https://repo1.maven.org/maven2/连不上了,导致我们使用的https://github.com/bazelbuild/migration-tooling项目都无法运行。

解决方法:
在migration-tooling项目根目录的WORKSPACE文件最前面添加:
maven_server(
    name = "default",
    url = "http://maven.aliyun.com/nexus/content/groups/public/",
)

全局搜索项目中的MAVEN_CENTRAL_URL,将https://repo1.maven.org/maven2/替换为http://maven.aliyun.com/nexus/content/groups/public/

然后就可以正常运行bazel run //generate_workspace -- --xxx 了。

2018年3月21日星期三

rules_docker的使用

以python举例。

先写好py_image规则,写法和py_binary几乎一样,需要多加一个main参数指定启动main的文件,通过py_image规则无法指定repo和tag。

如果打包到本地需要自己指定repo和tag的话,只能使用container_bundle,container_bundle中的images参数的key为指定的repo和tag名称,value为对应的py_image或者其他image规则。

container_push用于将镜像推到docker仓库,有两种方式可以指定tag(https://github.com/bazelbuild/rules_docker#varying-image-names)。一种是使用$(tag)变量,然后bazel run --define tag=xxx来指定不同的tag;另一种是使用stamp=True,参考bazel的workspace_status使用:https://docs.bazel.build/versions/master/user-manual.html#workspace_status

2017年12月19日星期二

mac使用bazel编译报错

TypeError: add() got an unexpected keyword argument 'replace'

原因:setuptools版本过低导致。

pip install --upgrade setuptools --user python

但pip list查看setuptools还是旧版本。然后顺便升级了一下mac系统,再发现setuptools版本正常了,可能是旧版本的mac系统的问题。

2017年9月30日星期六

bazel build ... experimental文件夹不生效

bazel build ... 发现experimental中的没有编出来,猜测应该是bazel在递归查找的时候自动过滤了experimental的文件夹。

cd experimental
bazel build ...
进入experimental目录之后编是可以的。

2017年9月12日星期二

spring boot使用bazel编译运行时无法注入bean

使用到了azure-storage-spring-boot-starter中的bean,所以我增加了@ComponentScan({"com.xxx", "com.microsoft.azure"}),还是无法注入bean。

最后增加了@PropertySource("classpath:application.properties")显示指定application.properties文件(配置文件中有azure storage连接的配置)才解决问题。不知道啥原因,瞎打瞎碰解决了问题。

2017年7月20日星期四

centos安装bazel

sudo yum install java-1.8.0-openjdk-devel

试了一下从git仓库下载源码安装,不work,只能从release页面下载安装包安装。

下载dist.zip或者对应系统版本的sh脚本,安装。