大家好我正试图按照位于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
有没有人知道这个错误源于何处以及我如何能够纠正它?
答案 0 :(得分:33)
显然在Ubuntu 12.04上编译JZMQ比我意识到的要多一些。但是我花时间写出了我找到的解决方案。您可以在Installing Storm's Native Dependencies on Ubuntu 12.04找到它。 为时间的缘故,这里有说明:
创建一个指向刚刚安装的jdk的JAVA_HOME变量。应该在/ 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拼接而成的。谢谢你们把你的拼图拼凑起来我只是将它们拼接在一起。
答案 1 :(得分:6)
现在我在zeromq / jzmq repo中修复了这个问题,我添加到了我的冻结的jzmq仓库:https://github.com/halfaleague/jzmq
现在,您只需按照说明操作(./autogen.sh
,./configure
,make
,make install
)。
答案 2 :(得分:4)
为什么不直接使用包管理器进行安装呢?
sudo apt-get install libzmq0 libzmq-dev zeromq-bin
答案 3 :(得分:0)
对于Ubuntu 13.04(Raring),我需要在./autogen.sh步骤之前运行以下命令:
sed -i's / classdist_noinst.stamp / classnoinst.stamp / g'src / Makefile.am
我在这里找到了这个解决方法,我认为这个线程可能对遇到这类问题的人有用:https://github.com/zeromq/jzmq/issues/114