浅谈Scalable inference for Correlated Topic Models(ScaCTM)编译过程

注:本文用于记录本人编译ScaCTM过程中,出现的错误及解决方案。本人研一小硕,技术较渣,正在向一名合格程序员做转变,所以技术大牛如果看到这些问题是低级错误的话还望海涵,包容一下小弟学识浅显。

ScaCTM是清华大学朱军老师带领学生所开发的并发topic model系统。

系统code地址:https://github.com/cjf00000/ScaCTM

在安装第三方库的时候,有些被墙了,所以用的离线安装,https://github.com/cjf00000/ScaCTM/issues/1

OS:ubuntu14.04

编译器准备:gcc 4.8,g++4.8,gfortran

1)make third_party过程中出现下图所示错误,经试验求证,最初缺少gfortran编译器,或修改third_party/third_party.mk文件的第304行,将它改为

./configure --disable-f77 --disable-fc --prefix=$(THIRD_PARTY); \



2)make third_party中还会遇到下图所示错误:


向上查找最终错误来源是:

./boost/atomic/atomic.hpp:202:16: error: ‘uintptr_t’ was not declared in this scope
./boost/atomic/atomic.hpp:202:25: error: template argument 1 is invalid
./boost/atomic/atomic.hpp:202:43: error: invalid type in declaration before ‘;’ token

uintptr_t表示64位整数(在64位机器上),而本机编译器不支持。到http://sourceforge.net/projects/boost/files/boost/1.59.0/下载一个最新的boost并替换boost_1_54_0.tar.bz2,同时修改third_party.make中boost编译版本号就可以了。至此,third_payty  make过程基本上通过。

最终结果如下图所示:


至此看到上如所示make结果,third_ party   编译过程应该已经完成了。


3)此时make src主程序。

首先make时会曝出语法错误,如图所示:


解决方案:在Unigram_Train_Data_Formatter.cc及Unigram_Test_Data_formatter.cc中增加include <iostream>此错误可以避免,至此编译可以通过,结果如下图所示:


整个系统编译过程完成,系统使用将在下次博文中进行介绍。

linux小渣,很多低级错误不知道什么原因,非常感谢HZ、BW的帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值