Heka 的编译
Heka是Mozilla开源的,基于Go语言实现的,插件式log收集和分析系统。
已经编译好的 release 版本可以在下面地址下载:
https://github.com/mozilla-services/heka/releases
如果我们想自行编译,以windows下为例,如下:
下载源码:
C:\>go get github.com/mozilla-services/heka
package github.com/mozilla-services/heka
imports github.com/mozilla-services/heka
imports github.com/mozilla-services/heka: no buildable Go source files in d:\mycodes\golang\src\github.com\mozilla-services\heka
编译时,需要
D:\mycodes\golang\src\github.com\mozilla-services\heka>build.bat
'cmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'mingw32-make' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
编译的需要:
Prerequisites (all systems):
- CMake 2.8.7 or greater http://www.cmake.org/cmake/resources/software.html
- Git http://git-scm.com/download
- Go 1.3 or greater http://code.google.com/p/go/downloads/list
- Mercurial http://mercurial.selenic.com/wiki/Download
- Protobuf 2.3 or greater (optional - only needed if message.proto is modified) http://code.google.com/p/protobuf/downloads/list
- Sphinx (optional - used to generate the documentation) http://sphinx-doc.org/
- An internet connection to fetch sub modules
Prerequisites (Unix):
- make
- gcc
- patch
- dpkg (optional)
- rpmbuild (optional)
- packagemaker (optional)
Prerequisites (Windows):
Git 和 Mercurial 的安装请参考:
http://www.cnblogs.com/ghj1976/p/4049786.html
CMake 的默认选项变更

MinGW
MinGW安装时,几个特殊的选项如下:


这些相关工具配置好后, 在下载的目录下执行 build.bat 就开始编译了。
如果没有任何依赖库需要下载,就类似下面的提示:
D:\mycodes\golang\src\github.com\mozilla-services\heka>build.bat
-- GeoIP.h was not found, GeoIP functionality will not be included in this build
.
-- sphinx-build was not found, the documentation will not be generated.
-- Configuring done
-- Generating done
-- Build files have been written to: D:/mycodes/golang/src/github.com/mozilla-se
rvices/heka/build
[ 5%] Built target gogoprotobuf
[ 10%] Built target gomock
[ 15%] Built target go-simplejson
[ 20%] Built target whisper-go
[ 25%] Built target go-notify
[ 30%] Built target toml
[ 35%] Built target raw
[ 39%] Built target amqp
[ 44%] Built target slices
[ 49%] Built target sets
[ 54%] Built target goamz
[ 59%] Built target g2s
[ 64%] Built target gospec
[ 69%] Built target xmlpath
[ 74%] Built target go-ircevent
[ 79%] Built target go-uuid
[ 79%] Built target GoPackages
[ 84%] Built target lua_sandbox
Install dll's for the mock generation and unit tests
[ 84%] Built target heka_source
[ 84%] Built target message_matcher_parser
[100%] Built target mocks
[100%] Built target hekad
[100%] Built target flood
[100%] Built target heka-cat
[100%] Built target inject
[100%] Built target logstreamer
[100%] Built target sbmgr
[100%] Built target sbmgrload
D:\mycodes\golang\src\github.com\mozilla-services\heka\build>
相关参考资料:
http://hekad.readthedocs.org/en/latest/installing.html
Heka 的编译的更多相关文章
- Heka 的编译 和 Heka 插件的编译
相关英文文档在: https://hekad.readthedocs.io/en/latest/installing.html 所有系统都必须的如下: Prerequisites (all syste ...
- Heka 最简单例子
技术人员学习都是从简单例子开始的, Heka的应用也是从简单开始的. 需求: 监控一个日志文件的内容, 在标准输出显示出来. 操作步骤: 使用下载好或者编译好的 heka 已经编译好的 rel ...
- Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1. Start heka ...
- Heka 的 CMake 编译配置分析
CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件. CMakeLists.txt 的语法比较简单,由命令.注释和 ...
- Heka GeoIpDecoder 配置
Prepare: 安装geoip-api-c,确保/usr/include/GeoIP.h存在: 源码编译安装Heka (容易出现问题): 下载GeoLiteCity.dat数据库. 配置文件举例: ...
- TODO:macOS编译PHP7.1
TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...
- Centos6.5下编译安装mysql 5.6
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
- CENTOS 6.5 平台离线编译安装 PHP5.6.6
一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...
- CENTOS 6.5 平台离线编译安装 Mysql5.6.22
一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...
随机推荐
- 面对对象二,super......反射
一.super() super() : 主动调用其他类的成员 # 单继承 # 在单继承中 super,主要是用来调用父类的方法的. class A: def __init__(self): self ...
- Corn表达式
CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表.CronTr ...
- CentOS 7 查看和设置防火墙状态
CentOS7 默认使用的是firewall作为防火墙 查看防火墙状态 firewall-cmd --state 停止firewall systemctl stop firewalld.service ...
- fetch网络请求 get 和 post
//在React Native中,使用fetch实现网络请求 /* fetch 是一个封装程度更高的网络API, 使用了Promise* Promise 是异步编程的一种解决方案* Promise 对 ...
- java面向对象概念2
一.理解“万事万物皆对象”. 1.在java语言范畴中,我们都将功能.结构等封装到类中,通过类的实例化,来调用具体的功能结构. 2.涉及到java语言与前端html.后端的数据库交互时,前后端的结构在 ...
- Linux环境部署安装Maven
第一步:Maven下载 1. 手动下载 访问官网:http://maven.apache.org/download.cgi 当前最新版本是3.6.0,如果想下载其他版本 可通过点击下图选中项进入历史更 ...
- pydicom读取dicom文件报错
之前采用pydicom读取dicom文件一切都很正常,不过最近读取一批数据的时候,会报错 读取代码 file = pydicom.read_file(filepath) data = file.pix ...
- vue-cli 启动过项目步骤
一. 安装 node.js 安装完成后,可以命令行工具中输入 node -v 和 npm -v,如果能显示出版本号,就说明安装成功. 二.安装webpack npm install webpack - ...
- JS中将XML转为JSON对象
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script> <scr ...
- iview 之 穿梭框 transfer
概述 双栏穿梭选择框,常用于将多个项目从一边移动到另一边. 说明 Transfer 组件主要基于以下四个 API 来使用: :data:总体数据,数组,每项为一个对象,且必须含有 key 值,组件基于 ...