上一次帖子说了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. Leetcode总结之Graph

    package Graph; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections ...

  2. Hierarchical data in postgres

    https://coderwall.com/p/whf3-a/hierarchical-data-in-postgres --------------------------------------- ...

  3. 百科知识 .tar.xz文件如何打开

    7-ZIP可以打开,右击提取到当前目录即可   发现这个压缩比例还是相当不一般的,都快十倍了.

  4. 判断是否是iso8859-1编码

    if (null == keyword || keyword.equals("关键字")) keyword = "";            if(keywor ...

  5. Solaris作业管理

    凌晨2点重启数据库 每周晚23点后都需要做备份工作 所有这些都需要作业.这时候数据库压力没那么大. 作业就像是闹钟,可以有一次性计划任务,也有重复性计划任务. 计划任务管理 ----at At [-m ...

  6. systemd、upstart和system V

    http://blog.csdn.net/kumu_linux/article/details/7653802  systemd是Linux下的一种init软件,由Lennart Poettering ...

  7. 发送验证码60s倒计时实现

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 转载---- 使用opencv源码自己编制android so库的过程

    http://blog.csdn.net/lantishua/article/details/21182965 工作需要,在Android上使用OpenCV.opencv当前的版本(2.4.8)已经有 ...

  9. Webkit一:Dom转码和解析

    因为真正的数据的处理是由DocumentParser::appendBytes以及DocumentParser::finish后续调用来完成,所以咱们重点关注这两块 数据接收和解码 TextResou ...

  10. jquery插件pagination实现分页

    1.效果 2.HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" ...