Linux平台下的watchman源码编译

2022-05-06 10:43:17 浏览数 (1)

参考英文:https://facebook.github.io/watchman/docs/install.html

0、准备工作

      (1)确定gcc版本

[root@master ~]# gcc --version gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)

        如果gcc版本低于4.8,需要升级,参考http://blog.csdn.net/chengyuqiang/article/details/53868915

       (2)python

        [root@master ~]# yum install -y python-devel

1、下载源码

        git clone https://github.com/facebook/watchman.git

        最近国外网络很慢,可以通过迅雷等下载工具下载

        打开 https://github.com/facebook/watchman,单击“download”

2、安装编译工具

       [root@master ~]# yum install -y automake

       [root@master watchman-master]# yum install -y gcc gcc-c

3、编译源码

      (1)解压缩

        [root@master ~]# unzip watchman-master.zip

      (2)进入watchman根目录         [root@master ~]# cd watchman-master         [root@master watchman-master]#

      (3)执行脚本

        [root@master watchman-master]# ./autogen.sh

configure.ac:29: installing `./compile' configure.ac:2: installing `./config.guess' configure.ac:2: installing `./config.sub' configure.ac:3: installing `./install-sh' configure.ac:3: installing `./missing' Makefile.am: installing `./depcomp'

     (4)[root@master watchman-master]# ./configure

       Your build configuration:         CC = gcc         CPPFLAGS =  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE         CFLAGS = -g -O2 -Wall -Wextra -Wdeclaration-after-statement -g -gdwarf-2 -fno-omit-frame-pointer         CXX = g -std=c 11         CXXFLAGS = -g -O2 -Wall -Wextra -g -gdwarf-2 -fno-omit-frame-pointer         LDFLAGS =          prefix: /usr/local         version: 4.8.0         state directory: /usr/local/var/run/watchman

       (5)[root@master watchman-master]# make

   gcc -pthread -shared build/temp.linux-x86_64-2.6/pywatchman/bser.o -L/usr/lib64 -lpython2.6 -o /root/watchman-master/python/pywatchman/bser.so    make[1]: Leaving directory `/root/watchman-master'

        (6)make install

           [root@master watchman-master]# make install

           /usr/bin/install -c -d -m 777 //usr/local/var/run/watchman            chmod g s //usr/local/var/run/watchman            touch //usr/local/var/run/watchman/.not-empty            test -z "/usr/local/share/doc/watchman-4.8.0" || /bin/mkdir -p "//usr/local/share/doc/watchman-4.8.0"            /usr/bin/install -c -m 644 README.markdown '//usr/local/share/doc/watchman-4.8.0'            make[1]: Leaving directory `/root/watchman-master'

0 人点赞