[Pacemaker] building on Mac OS X (Snow Leopard)

Andrew Beekhof andrew at beekhof.net
Sat Mar 27 16:59:27 EDT 2010


On Sat, Mar 27, 2010 at 6:04 PM, Ray Kiddy <ray at ganymede.org> wrote:
>
> I hope this is not an aggressively obnoxious first post, but I did look for archives....

I figured I was the only one doing this :-)
I usually just use the same prefix as used by the ports system...

For glue I use:
  ./configure --prefix /opt/local --with-daemon-user=root
--with-daemon-group=admin

Then for agents, heartbeat and pacemaker:
  ./configure --prefix /opt/local

For corosync I used:
  ./configure --prefix /opt/local --disable-nss


Let me know how that works for you.
If you still have trouble, I can send a list of the ports I have
installed (its a lot and not just for pacemaker).

>
> I followed the (very concise) instructions on http://clusterlabs.org/wiki/install#Darwin.2FMacOS_X and got:
>
>        sh-3.2# pwd
>        /Users/ray/Projects/Clustering/Reusable-Cluster-Components-f46f8eb768f4
>        sh-3.2#
>        sh-3.2# ./autogen.sh && ./configure --prefix=3D$PREFIX --with-daemon-user=3D${CLUSTER_USER} --with-daemon-group=3D${CLUSTER_GROUP}
>        ....
>        checking for CRYPTO_free in -lcrypto... yes
>        using /opt/local/bin/pkg-config glib-2.0
>        checking for gettext in -lc... no
>        checking for gettext in -lintl... no
>        configure: error: You need gettext installed in order to build cluster-glue
>        sh-3.2#
>        sh-3.2#
>        sh-3.2# port install gettext
>        --->  Computing dependencies for gettext
>        --->  Cleaning gettext
>        sh-3.2#
>
> I had set the PREFIX to a directory inside my home directory (to /Users/ray/Projects/Clustering/). But I also set the PREFIX to /usr and this did not help.
>
> Obviously I got gettext via port at some time in the past. And I got the direct dependencies for this via port. Is there another bit of advice, like the "make sure the default autoconf understands the pkg-config macros..." bit?
>
> I see a few errors below, in the getpid() and byteorder checks, but I cannot see that that would cause my problem....
>
> I will update the wiki, if necessary, if I find something or if someone has a suggestion.
>
> cheers - ray
>
> -------
> ps:
>
> sh-3.2# pwd
> /Users/ray/Projects/Clustering/Reusable-Cluster-Components-f46f8eb768f4
> sh-3.2#
> sh-3.2# port install gettext
> --->  Computing dependencies for gettext
> --->  Cleaning gettext
> sh-3.2#
> sh-3.2# ./autogen.sh && ./configure --prefix=3D$PREFIX --with-daemon-user=3D${CLUSTER_USER} --with-daemon-group=3D${CLUSTER_GROUP}
> autoconf:       autoconf (GNU Autoconf) 2.61
> automake:       automake (GNU automake) 1.10
> glibtoolize --ltdl --force --copy
> glibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `.'.
> glibtoolize: copying file `./ltmain.sh'
> glibtoolize: putting auxiliary files in `.'.
> glibtoolize: copying file `libltdl/config/compile'
> glibtoolize: copying file `libltdl/config/config.guess'
> glibtoolize: copying file `libltdl/config/config.sub'
> glibtoolize: copying file `libltdl/config/depcomp'
> glibtoolize: copying file `libltdl/config/install-sh'
> glibtoolize: copying file `libltdl/config/missing'
> glibtoolize: copying file `libltdl/config/ltmain.sh'
> glibtoolize: putting macros in `libltdl/m4'.
> glibtoolize: copying file `libltdl/m4/argz.m4'
> glibtoolize: copying file `libltdl/m4/libtool.m4'
> glibtoolize: copying file `libltdl/m4/ltdl.m4'
> glibtoolize: copying file `libltdl/m4/ltoptions.m4'
> glibtoolize: copying file `libltdl/m4/ltsugar.m4'
> glibtoolize: copying file `libltdl/m4/ltversion.m4'
> glibtoolize: copying file `libltdl/m4/lt~obsolete.m4'
> glibtoolize: putting libltdl files in `libltdl'.
> glibtoolize: `COPYING.LIB' not found in `/usr/bin/../share/libtool/libltdl'
> aclocal
> autoheader
> automake --add-missing --include-deps --copy
> configure.ac:28: installing `./config.sub'
> configure.ac:28: installing `./config.guess'
> autoconf
> Now run ./configure
> checking build system type... i386-apple-darwin10.2.0
> checking host system type... i386-apple-darwin10.2.0
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... ./install-sh -c -d
> checking for gawk... no
> checking for mawk... no
> checking for nawk... no
> checking for awk... awk
> checking whether make sets $(MAKE)... yes
> checking for gcc... gcc
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking for style of include used by make... GNU
> checking dependency style of gcc... gcc3
> checking whether gcc and cc understand -c and -o together... yes
> checking for gcc option to accept ISO C99... -std=3Dgnu99
> checking for gcc -std=3Dgnu99 option to accept ISO Standard C... (cached) -std=3Dgnu99
> checking for a sed that does not truncate output... /usr/bin/sed
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for egrep... /usr/bin/grep -E
> checking for fgrep... /usr/bin/grep -F
> checking for ld used by gcc -std=3Dgnu99... /usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld
> checking if the linker (/usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld) is GNU ld... no
> checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
> checking the name lister (/usr/bin/nm) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... 196608
> checking whether the shell understands some XSI constructs... yes
> checking whether the shell understands "+=3D"... yes
> checking for /usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld option to reload object files... -r
> checking how to recognize dependent libraries... pass_all
> checking for ar... ar
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /usr/bin/nm output from gcc -std=3Dgnu99 object... ok
> checking for dsymutil... dsymutil
> checking for nmedit... nmedit
> checking for lipo... lipo
> checking for otool... otool
> checking for otool64... no
> checking for -single_module linker flag... yes
> checking for -exported_symbols_list linker flag... yes
> checking how to run the C preprocessor... gcc -std=3Dgnu99 -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking for dlfcn.h... yes
> checking for objdir... .libs
> checking if gcc -std=3Dgnu99 supports -fno-rtti -fno-exceptions... no
> checking for gcc -std=3Dgnu99 option to produce PIC... -fno-common -DPIC
> checking if gcc -std=3Dgnu99 PIC flag -fno-common -DPIC works... yes
> checking if gcc -std=3Dgnu99 static flag -static works... no
> checking if gcc -std=3Dgnu99 supports -c -o file.o... yes
> checking if gcc -std=3Dgnu99 supports -c -o file.o... (cached) yes
> checking whether the gcc -std=3Dgnu99 linker (/usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld) supports shared libraries... yes
> checking dynamic linker characteristics... darwin10.2.0 dyld
> checking how to hardcode library paths into programs... immediate
> checking for dlopen in -ldl... yes
> checking whether a program can dlopen itself... yes
> checking whether a statically linked program can dlopen itself... yes
> checking whether stripping libraries is possible... yes
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking for preprocessor stringizing operator... yes
> checking for size_t... yes
> checking for char... yes
> checking size of char... 1
> checking for short... yes
> checking size of short... 2
> checking for int... yes
> checking size of int... 4
> checking for long... yes
> checking size of long... 8
> checking for long long... yes
> checking size of long long... 8
> checking whether struct tm is in sys/time.h or time.h... time.h
> checking for struct tm.tm_zone... yes
> Our Host OS: darwin10.2.0/i386-apple-darwin10.2.0
> configure: Sanitizing prefix: /usr
> configure: Sanitizing exec_prefix: NONE
> configure: Sanitizing INITDIR
> checking which init (rc) directory to use...
> configure: Sanitizing libdir: ${exec_prefix}/lib
> checking which lib directory to use... /usr/lib
> checking for the location of the lock directory... configure: WARNING: sysconfdir directory (/usr/etc) does not exist!
> configure: WARNING: sharedstatedir directory (/usr/com) does not exist!
> configure: WARNING: localstatedir directory (/usr/var) does not exist!
> configure: WARNING: INITDIR directory () does not exist!
> configure: WARNING: docdir directory (/usr/share/doc/cluster-glue) does not exist!
> configure: WARNING: HA_VARLOCKDIR directory (/usr/var/lock) does not exist!
> configure: Host CPU: i386
> checking which format is needed to print uint64_t... %llu
> checking for hg... no
> checking for false... /usr/bin/false
> checking build version... f46f8eb768f4c6f18fa92c69c54b4fb273d0dddb
> checking for getpid() consistency in multi-process/threads program... cat: ./config/pidtest.c: No such file or directory
> fail
> checking for byteorder... cat: ./config/byteorder_test.c: No such file or directory
> big-endian
> checking for glibtool... $(SHELL) $(top_builddir)/libtool
> checking for python... /usr/bin/python
> checking for python version... 2.6
> checking for python platform... darwin
> checking for python script directory... ${prefix}/lib/python2.6/site-packages
> checking for python extension module directory... ${exec_prefix}/lib/python2.6/site-packages
> checking for gmake... no
> checking for make... make
> checking for lynx... no
> checking for w3m... no
> checking for help2man... /opt/local/bin/help2man
> checking for pod2man... /opt/local/bin/pod2man
> checking for ssh... /usr/bin/ssh
> checking for scp... /usr/bin/scp
> checking for hg... (cached) /usr/bin/false
> checking for tar... /usr/bin/tar
> checking for md5... /sbin/md5
> checking for rpm... no
> checking for test... /bin/test
> checking for ping... /sbin/ping
> checking for ifconfig... /sbin/ifconfig
> checking for mailx... /usr/bin/mailx
> checking for egrep... (cached) /usr/bin/grep -E
> checking for pkg-config... /opt/local/bin/pkg-config
> checking for xml2-config... /usr/bin/xml2-config
> checking for xsltproc... /usr/bin/xsltproc
> checking for valgrind... no
> checking ifconfig option to list interfaces... -a
> checking for socket in -lsocket... no
> checking for dlopen in -lc... yes
> checking for dlopen in -ldl... (cached) yes
> checking for sched_getscheduler in -lrt... no
> checking for getopt_long in -lgnugetopt... no
> checking for uuid_parse in -luuid... no
> checking for uuid_create in -luuid... no
> checking for sched_getscheduler in -lposix4... no
> checking for CRYPTO_free in -lcrypto... yes
> using /opt/local/bin/pkg-config glib-2.0
> checking for gettext in -lc... no
> checking for gettext in -lintl... no
> configure: error: You need gettext installed in order to build cluster-glue
> sh-3.2#
>
>
>
>
> _______________________________________________
> Pacemaker mailing list
> Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>




More information about the Pacemaker mailing list