[zeromq-dev] OSX universal zmq, java and php install and build instructions
malist
mailing.list at manageapp.com
Thu Nov 11 23:41:01 CET 2010
I had lots of trouble finding a way to build 32-bit i386 zmq and be able to build also working Java and PHP bindings. Finally I was able to do it and I want to share this info to others. I used OSX 10.6.5.
These 2 scripts will
* clone from git
* build zeromq2 and zfl as i386+ x86_64 universal binary, PHP and Java bindings as x86_64.
I have not tested PPC build.
I did get "FAIL: test_shutdown_stress" in both zmq builds (known bug), but zmq still works.
Feel fee to use these guides anywhere.
Regards,
Pasi Mankinen
Finland
---------------------
* Load the latest pkg-config:
http://pkg-config.freedesktop.org/releases/pkg-config-0.25.tar.gz
Install pkg-config:
http://stackoverflow.com/questions/3522248/how-do-i-compile-jzmq-for-zeromq-on-osx
http://www.zeromq.org/docs:procedures
* If you need to build Java zmq:
Load and install Java for Mac OS X 10.6 Update 3 Developer Package (javadeveloper_10.6_10m3261.dmg) from:
http://developer.apple.com/java/download/
* Create new file (chmod ug=+x to become double-clicable)
zeromq2_git_clone_all.command
------
#!/bin/bash
MY_ZMQ_PATH="/Users/pasi/svnroot/cpp/zmq"
echo "cd $MY_ZMQ_PATH"
cd $MY_ZMQ_PATH
git clone git://github.com/zeromq/zeromq2.git
echo "zmq git clone done
"
git clone git://github.com/zeromq/zfl.git
echo "zfl git clone done
"
git clone git://github.com/zeromq/jzmq.git
echo "php-zmq git clone done
"
git clone git://github.com/mkoppanen/php-zmq.git
echo "php-zmq git clone done
...press return to close this window:"
read
------
* Create a new file (chmod ug=+x to become double-clicable)
zeromq2_git_build_all.command
------
#!/bin/bash
MY_ZMQ_PATH="/Users/pasi/svnroot/cpp/zmq"
echo "
...zeromq2 build autogen.sh...
"
cd $MY_ZMQ_PATH/zeromq2
sh autogen.sh
echo "
...zeromq2 build i386...
"
CFLAGS="-arch i386" CXXFLAGS="-arch i386" LDFLAGS="-arch i386" ./configure --prefix=$MY_ZMQ_PATH/zeromq2/lib_i386
echo "
...zeromq2 i386 make...
"
make clean
make
echo "
...zeromq2 i386 make check...
"
make check
make install
echo "
...zeromq2 i386 lipo:
"
lipo -info $MY_ZMQ_PATH/zeromq2/lib_i386/lib/libzmq.a
echo "
...zeromq2 x86_64 ./configure...
"
CFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ./configure
echo "
...zeromq2 x86_64 make...
"
make clean
make
echo "
...zeromq2 x86_64 make check...
"
make check
echo "
...zeromq2 x86_64 sudo make install, give password here:
"
sudo make install
echo "
...zeromq2 x86_64 copy to zeromq2/lib_x86_64/libzmq.a...
"
cp /usr/local/lib/libzmq.a $MY_ZMQ_PATH/zeromq2/lib_x86_64
echo "
...zeromq2 x86_64 lipo:
"
lipo -info $MY_ZMQ_PATH/zeromq2/lib_x86_64/libzmq.a
echo "
...zeromq2, using lipo to make universal library...
"
sudo rm /usr/local/lib/libzmq.a
sudo lipo -create $MY_ZMQ_PATH/zeromq2/lib_i386/lib/libzmq.a $MY_ZMQ_PATH/zeromq2/lib_x86_64/libzmq.a -output /usr/local/lib/libzmq.a
echo "
...zeromq2 build final lipo:
"
lipo -info /usr/local/lib/libzmq.a
echo "
=== === zeromq2 build done === ===
... zfl build autogen.sh...
"
cd $MY_ZMQ_PATH/zfl
sh autogen.sh
echo "
... zfl ./configure...
"
CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" ./configure
echo "
... zfl make all...
"
make clean
make all
echo "
zfl ./zfl_selftest
"
cd src
./zfl_selftest
echo "
... zfl build done, give password to install
"
sudo make install
echo "
=== === zeromq2 + zfl build done === ===
... Java jzmq build autogen.sh...
"
cd $MY_ZMQ_PATH/jzmq
./autogen.sh
echo "
... Java jzmq configure...
"
./configure JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/
echo "
... Java jzmq make...
"
make
echo "
... Java jzmq sudo make install...
"
sudo make install
echo "
=== === zeromq2 + Java jzmq build done === ===
... php-zmq ./configure...
"
cd $MY_ZMQ_PATH/php-zmq
phpize && ./configure
echo "
... php-zmq make...
"
make
echo "
... php-zmq make...
"
make
echo "
... php-zmq make test...
"
make test
echo "
... php-zmq sudo make install...
"
sudo make install
echo "
=== === ALL: zeromq2 + zfl + Java jzmq + PHP-zmq, build and install done === ===
press return to close this window:"
read
------
More information about the zeromq-dev
mailing list