问题描述
大家好,我尝试按照以下说明进行操作:https://github.com/nathanmarz/storm/wiki/Installing-native-dependencies,用于在Ubuntu 12.04计算机上将Zero MQ安装为Storm的依赖项。但是,当尝试运行make命令时,出现以下错误
Making all in src
make[1]: Entering directory `/home/localadmin/jzmq/src'
make[1]: *** No rule to make target `classdist_noinst.stamp', needed by `org/zeromq/ZMQ.class'. Stop.
make[1]: Leaving directory `/home/localadmin/jzmq/src'
make: *** [all-recursive] Error 1
有谁知道这个错误的根源以及如何纠正该错误?
最佳思路
显然,在Ubuntu 12.04上编译JZMQ比我意识到的要复杂得多。但是,我花时间写出了找到的解决方案。您可以在以下位置找到它:Installing Storm’s Native Dependencies on Ubuntu 12.04。为了方便起见,以下是说明:
-
您需要确保先安装一些软件包:build-essential,uuid-dev,libtool,git,autoconf,openjdk-6-jdk
-
创建一个JAVA_HOME变量,该变量指向刚安装的jdk。应该在/usr /lib /jvm目录
JAVA_HOME=/usr/lib/jvm/(your jdk folder); export JAVA_HOME
中 -
运行以下命令以安装Zero MQ:
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz tar -xzf zeromq-2.1.7.tar.gz cd zeromq-2.1.7 ./configure make sudo make install
-
下载JZMQ并导航到src目录
git clone https://github.com/nathanmarz/jzmq.git cd jzmq cd src
-
进入src目录后,运行touch命令创建一个文件,然后重新定义类路径。
touch classdist_noinst.stamp CLASSPATH=.:./.:$CLASSPATH javac -d . org/zeromq/ZMQ.java org/zeromq/ZMQException.java org/zeromq/ZMQQueue.java org/zeromq/ZMQForwarder.java org/zeromq/ZMQStreamer.java
6,导航回/jzmq并运行make
cd .. ./autogen.sh If you get this error "autogen.sh: error: could not find pkg-config.pkg-config is required to run autogen.sh", then install pkg-config. In Ubuntu sudo apt-get install pkg-config and again run the above command. ./configure make sudo make install
Storm – Installing Native Dependencies和Tijun – How to build jzmq in Mac OS X Lion将其中的一部分缝合在一起。谢谢你们把拼图拼凑起来,我只是将它们拼在一起。
次佳思路
现在,我在冻结的jzmq存储库中添加的zeromq /jzmq存储库中有针对此问题的修复程序:https://github.com/halfaleague/jzmq
现在,您只需按照说明(./autogen.sh
,./configure
,make
,make install
)。
第三种思路
为什么不只使用软件包管理器进行安装?
sudo apt-get install libzmq0 libzmq-dev zeromq-bin
第四种思路
您需要在jzmq/src/**Makefile.am**
中将classdist_noinst.stamp
替换为classnoinst.stamp