[Pacemaker] Problem building development version on Solaris

Andrew Beekhof beekhof at gmail.com
Thu Sep 11 05:32:38 EDT 2008


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





More information about the Pacemaker mailing list