[ClusterLabs] Unable to run Pacemaker: pcmk_child_exit
Jan Pokorný
jpokorny at redhat.com
Fri May 6 12:16:30 UTC 2016
On 06/05/16 16:59 +0530, Nikhil Utane wrote:
>
> [...]
>
>> On 05/06/2016 12:40 PM, Nikhil Utane wrote:
>>> As I am cross-compiling pacemaker on a build machine and later moving
>>> the binaries to the target, few binaries were missing. After fixing
>>> that and bunch of other errors/warning, I am able to get pacemaker
>>> started though not completely running fine.
> As I mentioned, I am cross-compiling and copying the relevant files
> on target platform.
I am afraid you are doing the "install" step of deploying from sources
across the machines utterly wrong.
> In one of the earlier run pacemaker cribbed out not finding
> /usr/share/pacemaker/pacemaker-1.0.rng.
What more to expect if you believe you can do with moving binaries
and getting relevant files OK by hand. That doesn't really scale
and is error-prone, leading to more time spent on guesstimating
authoritative installation recipe that's already there (see below).
> I found this file under xml folder in the build folder, so I copied all the
> files under xml folder onto the target.
> Did that screw it up?
>
> This is the content of the folder:
> [root at airv_cu pacemaker]# ls /usr/share/pacemaker/
> Makefile constraints-2.1.rng nodes-1.0.rng
> pacemaker-2.1.rng rule.rng
> Makefile.am constraints-2.2.rng nodes-1.2.rng
> pacemaker-2.2.rng score.rng
> Makefile.in constraints-2.3.rng nodes-1.3.rng
> pacemaker-2.3.rng status-1.0.rng
> Readme.md constraints-next.rng nvset-1.3.rng
> pacemaker-2.4.rng tags-1.3.rng
> acls-1.2.rng context-of.xsl nvset.rng
> pacemaker-next.rng upgrade-1.3.xsl
> acls-2.0.rng crm-transitional.dtd ocf-meta2man.xsl
> pacemaker.rng upgrade06.xsl
> best-match.sh crm.dtd options-1.0.rng
> regression.core.sh versions.rng
> cib-1.0.rng crm.xsl pacemaker-1.0.rng
> regression.sh
> cib-1.2.rng crm_mon.rng pacemaker-1.2.rng
> resources-1.0.rng
> constraints-1.0.rng fencing-1.2.rng pacemaker-1.3.rng
> resources-1.2.rng
> constraints-1.2.rng fencing-2.4.rng pacemaker-2.0.rng
> resources-1.3.rng
Now, you got overapproximation of what you really need
(e.g., context-of.xsl and best-match.sh are just helpers for developers
and make sense only from within the source tree, just as Makefile etc.
does), which is what you want to avoid, especially in case of the
embedded board.
So now, what you should do instead is along these lines:
$ mkdir pcmk-tree
$ export CFLAGS=... CC=... # what you need for cross-compilation
$ ./configure ...
$ make && make install DESTDIR=$(pwd)/pcmk-tree
$ tar czpf pcmk-tree.tar.gz pcmk-tree
and now, distribute pcmk-tree.tar.gz to you target, untar it with
something like "-k --strip-components=1" in the / dir.
Or better yet, go a proper package management route, best using
"make rpm" target (you'll have to edit pacemaker.spec or RPM macros
on your system so as to pass the cross-compilation flags across)
and then just install the package at the target if that's doable
in your environment.
Hope this helps.
--
Jan (Poki)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.clusterlabs.org/pipermail/users/attachments/20160506/4c4d93aa/attachment-0004.sig>
More information about the Users
mailing list