On Sep 11, 2008, at 11:25 AM, Paul Walsh wrote:

Hardware: V210
O/S: Solaris 10 Update 5 with recommended patch cluster
Required packages (autoconf automake libtool etc) obtained from sunfreeware.com repository Heartbeat development version Linux-HA-Dev-fc047640072c (installed in /opt/LXHAhb )
Pacemaker development version Pacemaker-Devel-7173fd1de394

wow - thats old.  please run:

  hg update -C tip




Am trying to build Pacemaker, starting with the following command:

./ConfigureMe configure --with-heartbeat-support --without-ais-support

This eventually fails with

checking for ll_cluster_new in -lhbclient... no
checking for msgfromIPC_timeout... no
configure: error: You must choose at least one cluster stack to support
See `config.log' for more details.



After taking a look at config.log I found the following:

configure:32622: result: no
configure:32664: checking for msgfromIPC_timeout
configure:32720: gcc -std=gnu99 -o conftest -I/opt/LXHAhb/include/ heartbeat -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include   -I/usr/local/include/libxml2
conftest.c -lxslt -lxml2 -lc -lpam -lrt -ldl -lc -lposix4 -lsocket - lnsl -lltdl >&5
Undefined                       first referenced
symbol                             in file
msgfromIPC_timeout                  /var/tmp//ccub8AFP.o
ld: fatal: Symbol referencing errors. No output written to conftest
collect2: ld returned 1 exit status

After searching around I found that the routine is in /opt/LXHAhb/ lib/libplumb.so :

$ nm libplumb.so |grep msgfrom
0000f2d0 T ipcmsgfromIPC
0001054c T msgfromIPC
000103f4 t msgfromIPC_ll
00010530 T msgfromIPC_noauth
00010564 T msgfromIPC_timeout
0000f15c T msgfromstream
0000f01c T msgfromstream_netstring
0000eeb0 T msgfromstream_string

So it appears Configure isn't picking up the libraries in /opt/ LXHAhb/lib

I then tried after setting LDFLAGS :

export LDFLAGS=-L/opt/LXHAhb/lib

so this needs to be added to ConfigureMe?



This, at least, allows ConfigureMe to finish:

pacemaker configuration:
 Version                  = 0.7.0
 Prefix                   = /opt/LXHAhb
 Executables              = /opt/LXHAhb/sbin
 Man pages                = /opt/LXHAhb/share/man
 Libraries                = /opt/LXHAhb/lib
 Header files             = /opt/LXHAhb/include
 Arch-independent files   = /opt/LXHAhb/share
 State information        = /var/opt/LXHAhb
 System configuration     = /etc/opt/LXHAhb
 Init (rc) scripts        = /etc/init.d
 Use system LTDL          = yes
 HA group name            = haclient
 HA user name             = hacluster
 With Heartbeat support   = 1
 With AIS support         = 0
 With AIS prefix          =
CC_WARNINGS = -Wall -Wmissing-prototypes -Wmissing- declarations -Wstrict-prototypes -Wdeclaration-after-statement -Wpointer-arith -Wwrite-strings -Wcast- qual -Wcast-align -Wbad-function-cast -Winline -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat- nonliteral -Wno-long-long -Wno-strict-aliasing Mangled CFLAGS = -I/opt/LXHAhb/include/heartbeat -Wall - Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wdeclaration-after-statement -Wpointer-arith - Wwrite-strings -Wcast-qual -Wcast-align -Wbad-function-cast -Winline -Wmissing-format-attribute -Wformat=2 - Wformat-security -Wformat-nonliteral -Wno-long-long
-Wno-strict-aliasing   -ggdb3 -funsigned-char
Libraries = -lgnutls -lbz2 -lxslt -lxml2 -lc -lplumb -lpam -lrt -ldl -lc -lposix4 -lsocket -lnsl -lltdl


HOWEVER......

We don't get very far before we hit a problem:

/bin/sh ../../../libtool --tag=CC --tag=CC --mode=compile gcc - std=gnu99 -DHAVE_CONFIG_H -I. -I../../../include -I../../../include -I../../../include -I../../../libltdl - I../../../libltdl -I/include/openais -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/local/ include/libxml2 -I/opt/LXHAhb/include/heartbeat -Wall -Wmissing-prototypes -Wmissing-declarations -Wstrict- prototypes -Wdeclaration-after-statement -Wpointer-arith -Wwrite-strings -Wcast-qual -Wcast-align -Wbad-function-cast - Winline -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict- aliasing -MT ipc.lo -MD -MP -MF .deps/ipc.Tpo -c -o
ipc.lo ipc.c
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../include -I../../../ include -I../../../include -I../../../libltdl -I../../../libltdl -I/include/openais -I/usr/include/glib-2.0 -I/usr/ lib/glib-2.0/include -I/usr/local/include/libxml2 -I/opt/LXHAhb/include/heartbeat -Wall -Wmissing-prototypes -Wmissing- declarations -Wstrict-prototypes -Wdeclaration-after-statement -Wpointer-arith -Wwrite-strings -Wcast- qual -Wcast-align -Wbad-function-cast -Winline -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat- nonliteral -Wno-long-long -Wno-strict-aliasing -MT
ipc.lo -MD -MP -MF .deps/ipc.Tpo -c ipc.c  -fPIC -DPIC -o .libs/ipc.o
In file included from ipc.c:31:
../../../include/crm/crm.h:28:31: clplumbing/cl_log.h: No such file or directory ../../../include/crm/crm.h:29:34: clplumbing/cl_malloc.h: No such file or directory
In file included from ../../../include/crm/common/xml.h:29,
                from ../../../include/crm/common/util.h:22,
                from ../../../include/crm/crm.h:67,
                from ipc.c:31:
/opt/LXHAhb/include/heartbeat/ha_msg.h:27:28: clplumbing/ipc.h: No such file or directory /opt/LXHAhb/include/heartbeat/ha_msg.h:28:34: clplumbing/ longclock.h: No such file or directory /opt/LXHAhb/include/heartbeat/ha_msg.h:29:32: clplumbing/cl_uuid.h: No such file or directory

.
.
.

(see attached file for full output from make).


The errors regarding the header files can be resolved by defining CFLAGS prior to ConfigureMe:

export CFLAGS=-I/opt/LXHAhb/include

Though we still end up with a failure when compiling ipc.c  :

In file included from ipc.c:31:
../../../include/crm/crm.h:29:34: clplumbing/cl_malloc.h: No such file or directory
ipc.c: In function `xml2ipcchan':
ipc.c:120: warning: int format, pid_t arg (arg 4)
ipc.c: In function `send_ipc_message':
ipc.c:165: warning: int format, pid_t arg (arg 5)
ipc.c:165: warning: int format, pid_t arg (arg 4)
ipc.c: In function `init_client_ipc_comms_nodispatch':
ipc.c:268: warning: implicit declaration of function `cl_malloc'
ipc.c:268: warning: assignment makes pointer from integer without a cast
ipc.c:282: warning: implicit declaration of function `cl_free'
ipc.c: In function `subsystem_msg_dispatch':
ipc.c:409: warning: int format, pid_t arg (arg 5)
ipc.c:409: warning: int format, pid_t arg (arg 4)
ipc.c: In function `new_ha_msg_input':
ipc.c:572: warning: assignment makes pointer from integer without a cast
make[3]: *** [ipc.lo] Error 1
make[3]: Leaving directory `/software/Pacemaker-Devel-7173fd1de394/ lib/crm/common'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/software/Pacemaker-Devel-7173fd1de394/ lib/crm'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/software/Pacemaker-Devel-7173fd1de394/ lib'
make: *** [all-recursive] Error 1


this has since been fixed (Lars removed cl_malloc form heartbeat).
see note above about getting the latest version


_______________________________________________
Pacemaker mailing list
[email protected]
http://list.clusterlabs.org/mailman/listinfo/pacemaker

Reply via email to