前言
近期学习mediapipe,遇到一些编译问题,mark一下。
目录
1.Ubuntu16.04
2.openjdk1.8
sudo apt-get install openjdk-8-jdk (java -version查看是否安装成功)
配置环境变量:
# /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
# config Android env ~/.bashrc
export ANDROID_HOME=/home/xhw/Android/Sdk
export ANDROID_NDK_HOME=/home/xhw/Android/Sdk/ndk-bundle/android-ndk-r21
3.python3.5
配置对应版本,如下:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
sudo update-alternatives --config python
4.gcc-8/g++-8
sudo apt-get install g++-8
sudo apt-get install gcc-8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 101
5.安装bazel
Bazel 包含一个捆绑的私有 JRE 作为其运行时,不需要您安装任何特定版本的 Java。不过,如果您希望使用 Bazel 构建 Java 代码,则必须安装 JDK。
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install bazel sudo apt-get upgrade bazel
二、编译问题
1.jdk版本不正确
[ERROR]
/home/base/.cache/bazel/_bazel_base/10f4be354af48e783fcaf1c23632155f/
external/com_google_absl/absl/types/BUILD.bazel:54:11: undeclared inclusion(s) in rule '@com_google_absl//absl/types:bad_any_cast_impl':
this rule is missing dependency declarations for the following files included by 'com_google_absl/absl/types/bad_any_cast.cc':
'/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h'
'/usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h'
'/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h'
Target //mediapipe/examples/desktop/libexample:libexample.so failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 1.981s, Critical Path: 0.28s
INFO: 106 processes: 106 internal.
FAILED: Build did NOT complete successfully
2.zip未安装
sudo apt-get install zip
3.https可能下载失败
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy
4.Bazel 6.1.1提示ERROR
安装bazel时,提示“ERROR: The project you're trying to build requires Bazel 6.1.1 (specified in /home/xhw/Projects/mediapipe-master/.bazelversion), but it wasn't found in /usr/bin”,如下:
可以执行:
sudo apt update && sudo apt install bazel-6.1.1
5.bazel-release.pub.gpg下载失败
在执行“curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -”时,需要翻墙下载bazel-release.pub.gpg,内部服务器无外网的情况下,可以先在有外网的环境下载完成后再拷贝过来,然后执行:
cat bazel-release.pub.gpg | sudo apt-key add -