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
------


_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to