在Ubuntu上编译JZMQ

Chr*_*ess 20 ubuntu makefile zeromq jzmq

大家好,我试图按照以下位置的说明进行操作: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
Run Code Online (Sandbox Code Playgroud)

有没有人知道这个错误源于何处以及我如何能够纠正它?

Chr*_*ess 33

显然在Ubuntu 12.04上编译JZMQ比我意识到的要多一些.但是我花时间写出了我找到的解决方案.您可以在以下位置找到它:在Ubuntu 12.04上安装Storm的Native Dependencies.时间的缘故这里是说明:

  1. 您需要确保首先安装一些软件包:build-essential,uuid-dev,libtool,git,autoconf,openjdk-6-jdk
  2. 创建一个JAVA_HOME变量,指向刚刚安装的jdk.应该在/ usr/lib/jvm目录中

    JAVA_HOME=/usr/lib/jvm/(your jdk folder); export JAVA_HOME

  3. 运行以下命令以安装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
    
    Run Code Online (Sandbox Code Playgroud)
  4. 下载JZMQ并导航到src目录

    git clone https://github.com/nathanmarz/jzmq.git
    cd jzmq
    cd src
    
    Run Code Online (Sandbox Code Playgroud)
  5. 进入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
    
    Run Code Online (Sandbox Code Playgroud)

    6.Navigate回到/ 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
    
    Run Code Online (Sandbox Code Playgroud)

部分内容是从Storm - 安装Native DependenciesTijun - 如何在Mac OS X Lion中构建jzmq拼接而成的.谢谢你们把你的拼图拼凑起来我只是将它们拼接在一起.


小智 6

现在在zeromq/jzmq repo中有一个修复,我添加到我的冻结的jzmq仓库:https://github.com/halfaleague/jzmq

现在,您只需按照指示(./autogen.sh,./configure,make,make install).