jzmq
jzmq copied to clipboard
does not build on ubuntu 12.04
Its been working flawlessly on ubuntu 11 and 10, but once we move the env to 12.04, the compilation failed on "make":
ubuntu@ip-10-72-110-107:~/zeromq-jzmq-fe47a77$ make
Making all in src
make[1]: Entering directory /home/ubuntu/zeromq-jzmq-fe47a77/src' make[1]: *** No rule to make target
classdist_noinst.stamp', needed by org/zeromq/ZMQ.class'. Stop. make[1]: Leaving directory
/home/ubuntu/zeromq-jzmq-fe47a77/src'
make: *** [all-recursive] Error 1
I checked the makfile under src, and the classdist_noinst.stamp target is actually missing, so it must be something wrong while doing "configure", but there wasnt any error for that.
Could someone help please?
thanks, kenny
I have exactly the same setup and exactly the same problem with Pangolin. No problem with Ubuntu 11.10. Something is different about Ubuntu 12.04 ... might it be the compiler version or library version? I installed g++ 4.6 with libstc++6-4.6 on both OSes, so those are likely not the problem.'
BTW, I documented how I build the library here: https://github.com/mslinn/zeromq-demo
+1
also have this issue
edit: if you do not do the autogen.sh step and go straight to ./configure it compiles and installs fine. just take a tiny bit more time making.
+1 on Debian the same.
I got it figured out. downgraded to automake-1.11.1 and pkg-config-0.22 will solve the problem. what a pain~~
let me know if that works for you, or you have a better solution.
as i stated above much easier is to just not run autogen.sh it basically only makes the ./configure stage take slightly longer as it does more guess and check work but solves all the other issues.
Not running autogen works for me.. (clean things up first)
Ok, now I get WSAEINVAL errors on Linux. ZMQ thinks I have Windows.
I have the same problem on 12.04 x86_64 too. And I found a workaround here: http://tjun.jp/blog/2012/04/how-to-build-jzmq-in-mac-os-x-lion/
The detailed steps on Ubuntu 12.04: touch src/classdist_noinst.stamp cd src/ CLASSPATH=.:./.:$CLASSPATH javac -d . org/zeromq/ZMQ.java org/zeromq/App.java org/zeromq/ZMQForwarder.java org/zeromq/EmbeddedLibraryTools.java org/zeromq/ZMQQueue.java org/zeromq/ZMQStreamer.java org/zeromq/ZMQException.java cd .. make
The solution of @TigerZhang works.. but I don't know why
I believe there are something wrong in the Makefiles. But I didn't spend too much time to figure it out.
It looks like automake used to use classdist_noinst.stamp
as a flag file, and has since switched to classnoinst.stamp
.
Changing classdist_noinst.stamp
to classnoinst.stamp
in src/Makefile.am
and then re-running ./autogen.sh
seems to fix the issue, though I'm not sure how to handle that in a way that works for all versions of automake.
@ebroder your solution works for me on Mac OSX! really helps.
+1 to @ebroder . worked for me
+1 @ebroder . It works
me too, +1 @ebroder . It works
Can anybody provide a pull request?
@ebroder Thanks for solution.
Is this still an issue? I use ubuntu 12.04 LTS without problems.
cd /tmp
git clone [email protected]:zeromq/jzmq.git
./autogen.sh
./configure --prefix=/tmp
make
For Ubuntu 12.04, run the following before the ./autogen.sh
step:
sed -i 's/classdist_noinst.stamp/classnoinst.stamp/g' src/Makefile.am
the workaround works on smartos too
Skipping ./autogen.sh is not possible since this is the script generating the ./configure script (there is none after cloning), I don't get why people says skipping autogen is working...
I tried @TigerZhang solution instead and it worked.
+1 @ebroder . It works for Fedora 18 x86_64, too
@ptgoetz solution worked for me. I'm using Ubuntu 13.04 (Raring)
@ebroder Your solution works. Thank you.
+1 @ebroder . Works on Ubuntu 14.04
+1 @ebroder Works after the trick on Ubuntu 12.04
+1 @ebroder thanks solved mine issue also
The solution of @TigerZhang works.