mac 上protobuf-2.6.0安装步骤

注:参考  http://www.cnblogs.com/yuhan-TB/p/4629362.html


我自己的brew安装踩坑了~ 所以就采取了跟Ubuntu下相似的安装方式,这里做一下笔记。

1.  git 上 https://github.com/google/protobuf下载tag v 2.6.0的代码。解压缩。

2. cd protobuf-2.6.0

3.网上说 ./configure 但是报没有这个命令。但是里面有autogen.sh的脚本。运行sudo ./autogen.sh, 发现出错了。按参考的博客


sudo brew automake

sudo brew libtool 

sudo brew autoconf

错误,错误信息表示没有automake,libtool.于是自己就手动安装了。

这里参考了这篇博客(http://blog.sina.com.cn/s/blog_586c261a0101jil1.html)

curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz
tar -xzvf m4-1.4.13.tar.gz
cd m4-1.4.13
./configure –prefix=/usr/local
make
sudo make install



cd ..
curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz
tar -xzvf autoconf-2.65.tar.gz
cd autoconf-2.65
./configure --prefix=/usr/local
make
sudo make install


cd ..
curl -O http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz
tar xzvf automake-1.11.tar.gz
cd automake-1.11
./configure --prefix=/usr/local
make
sudo make install


cd ..
curl -O http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz
tar xzvf libtool-2.2.6b.tar.gz
cd libtool-2.2.6b
./configure --prefix=/usr/local
make

sudo make install


4.这些文件安装完成之后,在

./configure

make

make check (检查是否通过)


我在make check的时候报错了。错误如下:

Making lib/libgtest.a lib/libgtest_main.a in gtest
depbase=`echo src/gtest-all.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
    /bin/sh ./libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I./build-aux  -I. -I./include  -D_THREAD_SAFE  -DGTEST_HAS_PTHREAD=1 -g -DNDEBUG -MT src/gtest-all.lo -MD -MP -MF $depbase.Tpo -c -o src/gtest-all.lo src/gtest-all.cc &&\
    mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I./build-aux -I. -I./include -D_THREAD_SAFE -DGTEST_HAS_PTHREAD=1 -g -DNDEBUG -MT src/gtest-all.lo -MD -MP -MF src/.deps/gtest-all.Tpo -c src/gtest-all.cc  -fno-common -DPIC -o src/.libs/gtest-all.o
In file included from src/gtest-all.cc:39:
In file included from ./include/gtest/gtest.h:57:
In file included from ./include/gtest/internal/gtest-internal.h:40:
./include/gtest/internal/gtest-port.h:449:10: fatal error: 'tr1/tuple' file not found
#include <tr1/tuple>  // NOLINT
         ^
1 error generated.
make[3]: *** [src/gtest-all.lo] Error 1
make[2]: *** [check-local] Error 2
make[1]: *** [check-am] Error 2
make: *** [check-recursive] Error 1
解决方案:  ./configure CPPFLAGS=-DGTEST_USE_OWN_TR1_TUPLE=1 

5. make install

我在make install 的时候报错了

错误信息:

Making install in .
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/lib/pkgconfig" || ./install-sh -c -d "/usr/local/lib/pkgconfig"
mkdir: /usr/local/lib/pkgconfig: Permission denied
make[2]: *** [install-pkgconfigDATA] Error 1
make[1]: *** [install-am] Error 2


是因为没有安装这个包pkgconfig文件,但是自己下载安装,却又报错误,错误信息如下。但是这个解压命令解压其他的压缩文件是可以的。唯独这个文件不可以(暂时没搞明白为什么)。


➜  ~ curl http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz -o pkg-config-0.28.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   365  100   365    0     0    349      0  0:00:01  0:00:01 --:--:--   349
➜  ~
➜  ~ tar -xf pkg-config-0.28.tar.gz
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.

6 .最后不顾错误提醒。看到了Permission denied。因此 sudo make install  安装OK。

protoc --version 查看是否安装成功。

➜  ~ protoc --version
libprotoc 2.6.0

先记录一下手动安装成功的。有空再按brew在安装一次。把遇到的坑填了~~



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值