如何构建 pipeline_kafka 扩展

Posted

技术标签:

【中文标题】如何构建 pipeline_kafka 扩展【英文标题】:how to build pipeline_kafka extension 【发布时间】:2016-09-07 22:50:55 【问题描述】:

我目前正在尝试从Github 编译 pipeline_kafka 扩展,以将其添加到我的 pipelinedb 实例中,但我遇到了一个我和谷歌似乎都无法解决的问题。

当我执行 make 命令时,我得到以下错误

stc@vm:~/pipeline_kafka$ make gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing - fwrapv -fexcess-precision=standard -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/mit-krb5 -fPIC -pie -DLINUX_OOM_SCORE_ADJ=0 -fno-omit-帧指针-fpic -I。 -I./ -I/usr/include/postgresql/9.4/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.6 -c -o pipeline_kafka.o pipeline_kafka.c pipeline_kafka.c:23:40: 致命错误:catalog/pipeline_stream_fn.h: No such file or directory #include "catalog/pipeline_stream_fn.h" ^ 编译终止。 : 目标“pipeline_kafka.o”的配方失败 make: *** [pipeline_kafka.o] 错误 1

有人知道该怎么做吗?我在 debian 8 上运行。

有人知道为什么这个扩展不再是 pipelinedb 的一部分吗?

提前致谢

【问题讨论】:

【参考方案1】:

错误的原因是我使用/安装 pipelinedb 和 pipeline_kafka 的整个方法。

以下脚本适用于标准 Debian 8 安装。也许有帮助。

下载并安装 PipelineDB

wget -O pipelinedb_install_package "https://www.pipelinedb.com/download/0.9.1/debian8"

sudo dpkg -i pipelinedb_install_package

mkdir ~/logs

pipeline-init -D ~/data/pipelinedb
pipeline-ctl -D ~/data/pipelinedb -l ~/logs/pipelinedb.log start
sleep 5.0
pipeline pipeline 

下载并安装 pipeline_kafka 扩展

sudo apt-get install git gcc g++ zlib1g-dev

mkdir ~/git

git clone https://github.com/edenhill/librdkafka.git ~/git/librdkafka
git clone https://github.com/pipelinedb/pipeline_kafka.git  >~/git/pipeline_kafka

cd ~/git/librdkafka
./configure --prefix=/usr 
make
sudo make install

cd ~/git/pipeline_kafka
./configure 
make
sudo make install

pipeline pipeline -c "CREATE EXTENSION pipeline_kafka;"

sed -i 's/#shared_preload_libraries/shared_preload_libraries/' ~/data/pipelinedb/pipelinedb.conf
sed -i "s/shared_preload_libraries = ''/shared_preload_libraries=pipeline_kafka/" ~/data/pipelinedb/pipelinedb.conf

【讨论】:

以上是关于如何构建 pipeline_kafka 扩展的主要内容,如果未能解决你的问题,请参考以下文章

pip - 如何使用预先构建的***而不是再次拉动 git 以避免冲突?

怎么安装python扩展包管理工具pip

关于如何让在离线环境下安装Python的pip第三方扩展包

如何使用 github 操作发布 pip ***

构建 Python 扩展失败(“kernel32.lib”无法打开 |“x64”与目标机器类型“x86”冲突)

python怎么安装pip?