这是一个初步的小结,记录中间所踩的坑,同时在我的服务器尚有问题未解决。
从官方的github库直接下载下来,按照官方指南进行编译。
mkdir ~/mapd && cd ~/mapd git clone https://github.com/mapd/mapd-core.git cd mapd-core
0、准备工作
需要已经安装好nvidia cuda相关的驱动和软件包。
1、安装依赖包
cd scripts ./mapd-deps-ubuntu.sh
在安装thrift时遇到第一个坑,居然golang.org官方网站已经被墙,导致其在安装一些附加包时遇到网络错误,编译过程终止。
解决办法:可以使用github的官方镜像库下载到指定目录后安装,然后再进行编译。
在编译过程中需要用到go的net包和gomock包。
mkdir -p $GOPATH/src/golang.org/x/ cd $GOPATH/src/golang.org/x/ git clone https://github.com/golang/net.git net go install net git clone https://github.com/golang/mock.git mock go install mock
关键要判断好$GOPATH这个路径,根据错误提示来确定对应的路径,其中一个是scripts/thrift-0.10.0/test/go/。
第二个坑是在mapd-deps-ubuntu.sh脚本中已经安装了诸多依赖,但其实还不完整。还需要安装:
sudo apt install cppcheck clang-tidy libegl1-mesa-dev
不过,这个在github上有一个issue也指出了方案。
编译完成后,其自动安装到/usr/local/mapd-deps目录下,其提示需要执行一个sh脚本,这又是一个小坑。即脚本执行完成后,运行程序还提示相关库文件找不到。
这时应该将对应的目录加入/etc/ld.so.conf.d目录下,即在此目录下添加一个文件,如名称为mapd.conf,其内容为:
/usr/local/mapd-deps/lib
然后执行:
sudo ldconfig
这样就可以将库目录搜索路径加进来了。
2、编译MapD
参照官方说明处理
cd ~/mapd/mapd-core/ mkdir build cd build cmake -DCMAKE_BUILD_TYPE=debug .. make -j $(nproc) sudo make install
这样就可以安装完成,但在服务器上运行时还存在问题,待摸索后再记录。
发表回复