mac 安装thrift0.9.2 日记

303 阅读1分钟
  1. 下载源码包 源码包

  2. 前置依赖

  •  brew install boost
    
  •  brew install libevent
    
  •  brew install openssl
    
  •  bews install bison  > 2.5
    
  1. config
./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local --without-csharp --without-erlang --without-java --without-haskell --without-ruby --without-cpp --without-perl --without-php --without-python --without-php_extension --with-c_glib=no CXXFLAGS="-std=c++11"

--without 把不需要用到的开发语言剔除掉,可以避免错误

  1. make

执行make遇到错误修改:

  1. [Error message "go: go.mod file not found in current directory or any parent directory; see 'go help modules'"]
    解决办法:执行 go env -w GO111MODULE=auto
  2. package code.google.com/p/gomock/gomock: unrecognized import path "code.google.com/p/gomock/gomock": https fetch: Get "code.google.com/p/gomock/go…": dial tcp 172.217.160.110:443: i/o timeout 或者 package code.google.com/p/gomock/gomock: unrecognized import path "code.google.com/p/gomock/gomock"
    解决办法 :替换code.google.com/p/gomock/gomock 为github.com/golang/mock/gomock,包在以下两个文件中
    test/go/Makefile.in
    test/go/src/common/mock_handler.go
  3. 有很多go的测试用例失败,是格式化类型不对、缺少参数 两个原因造成的。直接根据错误提示的文件,修改代码更改格式化类型,或者直接不输出,不返回