上一次帖子说了thrift编译java出现错误,由于只用到cpp版的,就将此略过。但是老版本的ycsb不是很好用,于是决定以locall的方式编译mapkeeper供最新版ycsb使用。目前根据

https://github.com/brianfrankcooper/YCSB/pull/262/files

https://github.com/baonguyen84/YCSB

的说法,在mapkeeper下的thrift中编译出的jar文件拷贝安装到(换名,上面第二个链接)ycsb下就可以用了。

因此,本帖进行对编译java版的错误进行解决。

1. 怀疑是thrift版本的问题。安装的版本是0.9.2,估计需要0.8.0版本。

首先,ll /usr/local/cuda-8.0/lib64 /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /usr/lib/nvidia-375 /usr/lib32/nvidia-375 /lib32 /usr/lib32 /lib /usr/lib |grep thrift

发现有很多thrift包,而且很多是0.9.2版本的,这些是手动安装的,在0.9.2版本下进行make uninstall后删除了大部分,并且再次在mapkeeper thrift下make时就出现了make: /usr/local/bin/thrift: Command not found 的错误。

然后在手动把其他的删除掉(目录 /usr/local/lib)

2. 装0.8.0的问题

首先是 LoadError: cannot load such file — spec/rake/spectask

/home/lds/mapkeeper/thrift-0.8.0/lib/rb/Rakefile:24:in `<top (required)>'

根据 https://stackoverflow.com/questions/25622488/loaderror-cannot-load-such-file-spec-rake-spectask-fedena 将  Rakefile 进行了修改

仍然是该错误,只是  spec/rake/spectask 换成了  rspec/core/rake_task

再根据 https://stackoverflow.com/questions/30114733/loaderror-cannot-load-such-file-rspec-core-rake-task

After : sudo gem install bundler

I created a Gemfile with:

gem 'rake'
gem 'rspec'
gem 'kramdown'

and did bundle install . Now I dont get the error.

这个操作要根据 https://stackoverflow.com/questions/30358612/how-to-create-a-gemfile 这个来,也就是随便找个目录创建这个文件,然后在此目录运行  bundle install 。

成功后,再次make,出现

rake aborted!
NameError: uninitialized constant Spec
Did you mean? RSpec

3.

卸载新的rspec,装老的

https://guleriay2k.wordpress.com/2011/04/26/after-installing-rspec-if-you-get-no-such-file-to-load-specrakespectask/

https://www.reddit.com/r/ruby/comments/3ess4g/how_to_uninstall_rspec/

sudo gem install -v=1.3.0 rspec

还是没有解决

4. 最终,直接在thrift编译时选择不要ruby

https://stackoverflow.com/questions/13498721/cannot-build-apache-thrift-due-to-ruby-rake-errors

$ ./configure --without-ruby

 成功解决,成功编译了thrift 0.8.0

make instal 成功

5. 此时在mapkeeper下的thrift中make时,会出现uint32_t 未定义等错误,这是生成c++时的错误。

    此时,跳过编译c++,直接进入gen-java进行 mvn clean package

成功,生成了mapkeeper-1.1-SNAPSHOT.jar

thrift编译java的问题-(安装thrift0.8.0成功-编译mapkeeper.java成功)的更多相关文章

  1. Thrift0.11.0基于Intellij IDEA的简单的例子

    前言 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等.其中所用到的数据传输方式包括 XML,JSON 等,然 ...

  2. CefSharp基于.Net Framework 4.0 框架编译

    CefSharp基于.Net Framework 4.0 框架编译 本次源码使用的是Github上CefSharp官方的79版本源码 准备 IDE Visual Studio 2017 Enterpr ...

  3. Apache Thrift 在Windows下的安装与开发

    Windows下安装Thrift框架的教程很多.本文的不同之处在于,不借助Cygwin或者MinGW,只用VS2010,和Thrift官网下载的源文件,安装Thrift并使用. 先从官网 下载这两个文 ...

  4. hadoop-2.2.0 的编译安装及HA配置

    一 准备工作 准备工作中要求有 1.centOs 6.4,添加hadoop用户,配置集群内的/etc/hosts文件. 2.安装hadoop用户的ssh,并打通集群内所有机器,(ha执行fencing ...

  5. Java学习-001-JDK安装配置

    本节主要讲述在 Win7 64bit 系统下安装.配置 JDK8u25,敬请参阅.详细步骤如下: 一.JDK下载 您可到 官方网站 或 我的云盘 下载,对应的JDK8u25的安装程序,下载过程不再赘述 ...

  6. 【转】ubuntu下安装eclipse以及配置python编译环境

    原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...

  7. 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)

    在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...

  8. Java基础:Java简介及安装配置(1)

    Java简介 Java是Sun公司于1995年推出的高级编程语言,具有跨平台特性,编译后的程序能够运行在多种类型的操作系统平台上. 1.1 Java应用程序版本 Java的3个独立用于开发不同类型应用 ...

  9. Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32'

    Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32' 在编译Thrift的时候,无论是Apache官网tar包,还是Github ...

随机推荐

  1. 【bootstrap】modal模态框的几种打开方法+问题集锦

    第一部分: 关于bootstrap中modal的使用,下面把几种自己用的打开方法展示出来 首先呢,得有个Bootstrap的页面,这里就不说了. 其次呢,得有个modal放在页面中,不管你这段代码加在 ...

  2. 记录一下:关于mysql数据误删除恢复的问题

    大概看来几篇博客: 1.delete的可以通过回滚(rollback)的方式恢复;但是前提是,你的数据表引擎是InnoDB而不是MyISAM,而且操作不是自动提交的 但是这种方式不可以恢复trunca ...

  3. c++ concurrency serial 1: introduction

    platform: vs2012 Code#include <iostream> #include <thread> using namespace std; void Fun ...

  4. Hive UDF开发-简介

    Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以. Hive的UDF开发只需要重构UDF类的evaluate函数即可.例 ...

  5. 百科知识 华为手机P7如何更换电池

    参考下面 教程 https://item.jd.com/3265516.html  

  6. Sales Team 仪表盘

                实际设定值         仪表定义     <div class="oe_center" t-if="record.invoiced_ta ...

  7. 深度解析开发项目之 01 - SVProgressHUD用法

    深度解析开发项目之 01 - SVProgressHUD用法 首先来到工程的pch文件中 01 - 导入头文件 02 - 定义宏 03 - 项目中的使用 3.1 - SVHUD_Normal:  3. ...

  8. “懒”也要有境地---大部分程序猿都在的地方,再不来就out了。

    别人在玩.你也在玩,为什么别人天天进步,职业晋升. 而你则原地踏步. 事实上你和他的距离仅仅有一个微信公众号的距离. 假设你说.我根本没有时间学习,不想看书,我仅仅想睡觉.我想你要接着往下看,由于.谁 ...

  9. 兼容最新firefox、chrome和IE的javascript图片预览实现代码

    这篇文章主要介绍了兼容最新firefox.chrome和IE的javascript图片预览实现代码,测试了浏览器firefox6.firefox12.chrome 25.0.1364.172 m.IE ...

  10. FreeCMS怎么动态訪问模板?

    原文地址:http://javaz.cn/site/javaz/site_study/info/2015/31166.html​ 项目地址:http://www.freeteam.cn/ FreeCM ...