Percona MySQL RPM Build - issue with numerous NOT FOUND modules

Hi,

I am new to the rpmbuild process and I’d like to build a RPM (using a rpmbuild) for the Percona MySQL 5.6.16 source codes and I obtained the source from this URL:
http://www.percona.com/downloads/ -> select Percona Server version 5.6

I attempted to execute the RPM build using this command below:
rpmbuild -bb percona-server.spec

However, from the results of the rpmbuild showed that there are “NOT FOUND” messages for numerous modules such as pthread_attr_*, HAVE_FLOATING_H, HAVE_NDIR_H, HAVE_IEEEFP_H. Sample error messages listed below:
– Looking for kqueue - not found
– Looking for HAVE_IEEEFP_H - not found
– Looking for TIOCSTAT - not found
– Looking for FIONREAD - not found
– Looking for EVFILT_TIMER - not found
– Looking for netinet/in6.h - not found
– Looking for mbscmp - not found
– Looking for strvis - not found
– Looking for strunvis - not found

The generated script from the RPM build process produced a “Bad exit status” i.e.
“RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.iTzX0v (%install)”

Could anyone help point out where I can obtain a complete source for 5.6.16 with all dependent modules available? And is there a more efficient to incorporate these modules instead of having to download and install them one at a time?

Also for those missing modules above, what is the syntax for including them into the spec file?

Thanks very much.

Here’s the generated script from the rpmbuild process:

#!/bin/sh

RPM_SOURCE_DIR="/root/rpmbuild/SOURCES"
RPM_BUILD_DIR="/root/rpmbuild/BUILD"
RPM_OPT_FLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mminimal-toc"
RPM_ARCH=“ppc64”
RPM_OS=“linux”
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="/usr/share/doc"
export RPM_DOC_DIR
RPM_PACKAGE_NAME=“Percona-Server-56”
RPM_PACKAGE_VERSION=“5.6.16”
RPM_PACKAGE_RELEASE=“64”
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
LANG=C
export LANG
unset CDPATH DISPLAY ||:
RPM_BUILD_ROOT="/root/rpmbuild/BUILDROOT/Percona-Server-56-5.6.16-64.ppc64"
export RPM_BUILD_ROOT

PKG_CONFIG_PATH="/usr/lib64/pkgconfig:/usr/share/pkgconfig"
export PKG_CONFIG_PATH

set -x
umask 022
cd “/root/rpmbuild/BUILD”
[ “$RPM_BUILD_ROOT” != “/” ] && rm -rf “${RPM_BUILD_ROOT}”
mkdir -p dirname "$RPM_BUILD_ROOT"
mkdir “$RPM_BUILD_ROOT”

cd ‘percona-server-5.6.16-64.2’
LANG=C
export LANG
unset DISPLAY

RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/percona-server-5.6.16-64.2

Ensure that needed directories exists

install -d $RBR/etc/{logrotate.d,init.d}
install -d $RBR/var/lib/mysql/mysql
install -d $RBR/usr/share/mysql-test
install -d $RBR/usr/share/percona-server/SELinux/RHEL4
install -d $RBR/usr/include
install -d $RBR/usr/lib64
install -d $RBR/usr/share/man
install -d $RBR/usr/sbin
install -d $RBR/usr/lib64/mysql/plugin

(
cd $MBD/release
make DESTDIR=$RBR benchdir_root=/usr/share install
d="pwd"
cd $MBD/UDF
make DESTDIR=$RBR benchdir_root=/usr/share install
cd “$d”
)

Install all binaries

(
cd $MBD/release
make DESTDIR=$RBR install
)

FIXME: at some point we should stop doing this and just install everything

FIXME: directly into /usr/lib64/mysql - perhaps at the same time as renaming

FIXME: the shared libraries to use libmysql*-$major.$minor.so syntax

mv -v $RBR//usr/lib64/*.a $RBR//usr/lib64/mysql/

Install logrotate and autostart

install -m 644 $MBD/release/support-files/mysql-log-rotate $RBR/etc/logrotate.d/mysql
install -m 755 $MBD/release/support-files/mysql.server $RBR/etc/init.d/mysql

Delete the symlinks to the libraries from the libdir. These are created by

ldconfig(8) afterwards.

rm -f $RBR/usr/lib64/libmysqlclient*.so.18

Create a symlink “rcmysql”, pointing to the init.script. SuSE users

will appreciate that, as all services usually offer this.

ln -s /etc/init.d/mysql $RBR/usr/sbin/rcmysql

Touch the place where the my.cnf config file might be located

Just to make sure it’s in the file list and marked as a config file

touch $RBR/etc/my.cnf

Install SELinux files in datadir

install -m 600 $MBD/support-files/RHEL4-SElinux/mysql.{fc,te}
$RBR/usr/share/percona-server/SELinux/RHEL4

Remove man pages we explicitly do not want to package, avoids 'unpackaged

files’ warning.

rm -f $RBR/usr/share/man/man1/make_win_bin_dist.1*

##############################################################################

Post processing actions, i.e. when installed

##############################################################################

/usr/lib/rpm/find-debuginfo.sh --strict-build-id “/root/rpmbuild/BUILD/percona-server-5.6.16-64.2”

/usr/lib/rpm/check-buildroot

/usr/lib/rpm/redhat/brp-compress

/usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
/usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
/usr/lib/rpm/brp-python-bytecompile
/usr/lib/rpm/redhat/brp-python-hardlink
/usr/lib/rpm/redhat/brp-java-repack-jars