Hi
I'm trying to build (compile) MySQL with PKGBUILD from aur as follows:
$this->bbcode_second_pass_code('', '
#pkgname=('mysql' 'libmysqlclient' 'mysql-clients')
pkgname=mysql
pkgbase=mysql
#pkgver=7.3.8
pkgver=7.2.19
pkgrel=1
pkgdesc="Fast SQL database server, cluster edition"
arch=('armv7h')
makedepends=('openssl' 'zlib' 'cmake' 'systemd-tools' 'libaio' 'jemalloc')
license=('GPL')
url="http://www.mysql.com/products/cluster/"
options=('!libtool')
source=("http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/$pkgbase-cluster-gpl-$pkgver.tar.gz")
sha256sums=('SKIP')
<<EOF
prepare() {
cd "$pkgbase-cluster-gpl-$pkgver"
#patch -p0 -i "../../mysql-srv_buf_size.patch"
# Fixes bug http://bugs.mysql.com/bug.php?id=75622
patch -p0 -i "../../mysql-openssl-1.0.2.patch"
#cd "../.."
#pwd
}
EOF
build() {
rm -rf build
mkdir build
cd build
cmake "../$pkgbase-cluster-gpl-$pkgver" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWITH_NDBCLUSTER_STORAGE_ENGINE=ON \
-DWITH_NDBCLUSTER=ON \
-DWITH_NDBMTD=ON \
-DWITH_NDB_JAVA=OFF \
-DCMAKE_AR=/usr/bin/gcc-ar \
-DCMAKE_RANLIB=/usr/bin/gcc-ranlib \
-DBUILD_CONFIG=mysql_release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DSYSCONFDIR=/etc/mysql \
-DMYSQL_DATADIR=/srv/mysql \
-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DINSTALL_INFODIR=share/mysql/docs \
-DINSTALL_MANDIR=share/man \
-DINSTALL_PLUGINDIR=lib/mysql/plugin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_DOCREADMEDIR=share/mysql \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_DOCDIR=share/mysql/docs \
-DINSTALL_SHAREDIR=share/mysql \
-DWITH_ZLIB=system \
-DWITH_SSL=system \
-DWITH_LIBWRAP=OFF \
-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \
-DWITH_EXTRA_CHARSETS=complex \
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=ON \
-DWITH_PARTITION_STORAGE_ENGINE=ON \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=ON \
-DWITHOUT_FEDERATED_STORAGE_ENGINE=ON \
-DENABLE_DOWNLOADS=1 \
-DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks" \
-DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti -fno-delete-null-pointer-checks" \
-DWITH_MYSQLD_LDFLAGS="-pie ${LDFLAGS},-z,now"
make
}
package_libmysqlclient(){
pkgdesc="MySQL client libraries"
depends=('openssl')
conflicts=('libmariadbclient')
provides=("libmariadbclient=${pkgver}")
cd build
for dir in include libmysql libmysqld libservices
do
make VERBOSE=1 -n -C "${dir}" DESTDIR="${pkgdir}" install
done
install -m 755 -d "${pkgdir}/usr/bin"
install -m 755 scripts/mysql_config "${pkgdir}/usr/bin/"
install -m 755 -d "${pkgdir}/usr/share/man/man1"
for man in mysql_config mysql_client_test_embedded mysqltest_embedded
do
install -m 644 "${srcdir}/${pkgbase}-${pkgver}/man/${man}.1" "${pkgdir}/usr/share/man/man1/${man}.1"
done
}
package_mysql-clients(){
pkgdesc="MySQL client tools"
depends=('libmysqlclient' 'jemalloc')
conflicts=('mariadb-clients')
provides=("mariadb-clients=${pkgver}")
cd build
make VERBOSE=1 -n -C "client" DESTDIR="${pkgdir}" install
# install man pages
install -d "${pkgdir}/usr/share/man/man1"
for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap
do
install -m644 "${srcdir}/${pkgbase}-${pkgver}/man/${man}.1" "${pkgdir}/usr/share/man/man1/${man}.1"
done
# provided by mysql
rm "${pkgdir}/usr/bin/mysql_plugin"
rm "${pkgdir}/usr/bin/mysql_upgrade"
rm "${pkgdir}/usr/bin/mysql_config_editor"
rm "${pkgdir}/usr/bin/mysqlbinlog"
rm "${pkgdir}/usr/bin/mysqltest"
}
package_mysql(){
pkgdesc="Fast SQL database server, cluster edition"
backup=('etc/mysql/my.cnf')
install="${pkgbase}.install"
depends=('mysql-clients' 'libaio')
conflicts=('mariadb')
provides=("mariadb=${pkgver}")
options=('emptydirs')
cd build
make VERBOSE=1 -n DESTDIR="${pkgdir}" install
install -m 644 -D "${pkgdir}/usr/share/mysql/my-default.cnf" "${pkgdir}/etc/mysql/my.cnf"
install -m 755 -D "${srcdir}/mysqld-post.sh" "${pkgdir}/usr/bin/mysqld-post"
install -m 644 -D "${srcdir}/mysqld-tmpfile.conf" "${pkgdir}/usr/lib/tmpfiles.d/mysqld.conf"
install -m 755 -d "${pkgdir}/usr/lib/systemd/system"
install -m 644 -D "${srcdir}/mysqld.service" "${pkgdir}/usr/lib/systemd/system/"
# provided by libmysqlclient
rm "${pkgdir}/usr/bin/mysql_config"
rm "${pkgdir}/usr/bin/mysql_client_test_embedded"
rm "${pkgdir}/usr/bin/mysqltest_embedded"
rm "${pkgdir}"/usr/lib/libmysql*
rm -r "${pkgdir}/usr/include/"
rm "${pkgdir}/usr/share/man/man1/mysql_config.1"
rm "${pkgdir}/usr/share/man/man1/mysql_client_test_embedded.1"
rm "${pkgdir}/usr/share/man/man1/mysqltest_embedded.1"
# provided by mysql-clients
rm "${pkgdir}/usr/bin/mysql"
rm "${pkgdir}/usr/bin/mysqladmin"
rm "${pkgdir}/usr/bin/mysqlcheck"
rm "${pkgdir}/usr/bin/mysqldump"
rm "${pkgdir}/usr/bin/mysqlimport"
rm "${pkgdir}/usr/bin/mysqlshow"
rm "${pkgdir}/usr/bin/mysqlslap"
rm "${pkgdir}/usr/share/man/man1/mysql.1"
rm "${pkgdir}/usr/share/man/man1/mysqladmin.1"
rm "${pkgdir}/usr/share/man/man1/mysqlcheck.1"
rm "${pkgdir}/usr/share/man/man1/mysqldump.1"
rm "${pkgdir}/usr/share/man/man1/mysqlimport.1"
rm "${pkgdir}/usr/share/man/man1/mysqlshow.1"
rm "${pkgdir}/usr/share/man/man1/mysqlslap.1"
# not needed
rm -r "${pkgdir}/usr/data"
rm -r "${pkgdir}/usr/mysql-test"
rm -r "${pkgdir}/usr/sql-bench"
rm "${pkgdir}/usr/share/man/man1/mysql-test-run.pl.1"
}
')
But - whatever version i take - i allways have error like below:
$this->bbcode_second_pass_code('', '
Linking CXX static library libndbblocks.a
cd /home/h3x0r/mysql-cluster/src/build/storage/ndb/src/kernel/blocks && /usr/bin/cmake -P CMakeFiles/ndbblocks.dir/cmake_clean_target.cmake
cd /home/h3x0r/mysql-cluster/src/build/storage/ndb/src/kernel/blocks && /usr/bin/cmake -E cmake_link_script CMakeFiles/ndbblocks.dir/link.txt --verbose=1
/usr/bin/gcc-ar cq libndbblocks.a CMakeFiles/ndbblocks.dir/tsman.cpp.o CMakeFiles/ndbblocks.dir/lgman.cpp.o CMakeFiles/ndbblocks.dir/pgman.cpp.o CMakeFiles/ndbblocks.dir/diskpage.cpp.o CMakeFiles/ndbblocks.dir/restore.cpp.o CMakeFiles/ndbblocks.dir/cmvmi/Cmvmi.cpp.o CMakeFiles/ndbblocks.dir/dbacc/DbaccInit.cpp.o CMakeFiles/ndbblocks.dir/dbacc/DbaccMain.cpp.o CMakeFiles/ndbblocks.dir/dbdict/Dbdict.cpp.o CMakeFiles/ndbblocks.dir/dbdih/DbdihInit.cpp.o CMakeFiles/ndbblocks.dir/dbdih/DbdihMain.cpp.o CMakeFiles/ndbblocks.dir/dblqh/DblqhInit.cpp.o CMakeFiles/ndbblocks.dir/dblqh/DblqhMain.cpp.o CMakeFiles/ndbblocks.dir/dbtc/DbtcInit.cpp.o CMakeFiles/ndbblocks.dir/dbtc/DbtcMain.cpp.o CMakeFiles/ndbblocks.dir/dbgdm/DbgdmProxy.cpp.o CMakeFiles/ndbblocks.dir/dbspj/DbspjInit.cpp.o CMakeFiles/ndbblocks.dir/dbspj/DbspjMain.cpp.o CMakeFiles/ndbblocks.dir/dbspj/DbspjProxy.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupExecQuery.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupBuffer.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupRoutines.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupCommit.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupFixAlloc.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupTrigger.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupAbort.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupPageMap.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupPagMan.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupStoredProcDef.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupMeta.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupTabDesMan.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupGen.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupIndex.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupDebug.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupScan.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupDiskAlloc.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupVarAlloc.cpp.o CMakeFiles/ndbblocks.dir/dbtup/tuppage.cpp.o CMakeFiles/ndbblocks.dir/dbtup/Undo_buffer.cpp.o CMakeFiles/ndbblocks.dir/ndbfs/AsyncIoThread.cpp.o CMakeFiles/ndbblocks.dir/ndbfs/AsyncFile.cpp.o CMakeFiles/ndbblocks.dir/ndbfs/Ndbfs.cpp.o CMakeFiles/ndbblocks.dir/ndbfs/VoidFs.cpp.o CMakeFiles/ndbblocks.dir/ndbfs/Filename.cpp.o CMakeFiles/ndbblocks.dir/ndbcntr/NdbcntrInit.cpp.o CMakeFiles/ndbblocks.dir/ndbcntr/NdbcntrSysTable.cpp.o CMakeFiles/ndbblocks.dir/ndbcntr/NdbcntrMain.cpp.o CMakeFiles/ndbblocks.dir/qmgr/QmgrInit.cpp.o CMakeFiles/ndbblocks.dir/qmgr/QmgrMain.cpp.o CMakeFiles/ndbblocks.dir/trix/Trix.cpp.o CMakeFiles/ndbblocks.dir/backup/Backup.cpp.o CMakeFiles/ndbblocks.dir/backup/BackupInit.cpp.o CMakeFiles/ndbblocks.dir/dbutil/DbUtil.cpp.o CMakeFiles/ndbblocks.dir/suma/Suma.cpp.o CMakeFiles/ndbblocks.dir/suma/SumaInit.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxGen.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxMeta.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxMaint.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxNode.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxTree.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxScan.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxSearch.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxCmp.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxStat.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxDebug.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxBuild.cpp.o CMakeFiles/ndbblocks.dir/LocalProxy.cpp.o CMakeFiles/ndbblocks.dir/dblqh/DblqhProxy.cpp.o CMakeFiles/ndbblocks.dir/dbacc/DbaccProxy.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupProxy.cpp.o CMakeFiles/ndbblocks.dir/dbtux/DbtuxProxy.cpp.o CMakeFiles/ndbblocks.dir/backup/BackupProxy.cpp.o CMakeFiles/ndbblocks.dir/RestoreProxy.cpp.o CMakeFiles/ndbblocks.dir/dbtc/DbtcProxy.cpp.o CMakeFiles/ndbblocks.dir/dbinfo/Dbinfo.cpp.o CMakeFiles/ndbblocks.dir/dblqh/DblqhCommon.cpp.o CMakeFiles/ndbblocks.dir/PgmanProxy.cpp.o CMakeFiles/ndbblocks.dir/dbtup/DbtupClient.cpp.o CMakeFiles/ndbblocks.dir/ndbfs/PosixAsyncFile.cpp.o CMakeFiles/ndbblocks.dir/thrman.cpp.o CMakeFiles/ndbblocks.dir/trpman.cpp.o
/usr/bin/gcc-ranlib libndbblocks.a
make[2]: Leaving directory '/home/h3x0r/mysql-cluster/src/build'
/usr/bin/cmake -E cmake_progress_report /home/h3x0r/mysql-cluster/src/build/CMakeFiles 44 45 46 47 48 49
[ 26%] Built target ndbblocks
make[1]: Leaving directory '/home/h3x0r/mysql-cluster/src/build'
Makefile:150: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
')
I'm using 5 plugs(slaves) with distcc and my makepkg.conf(from master server) looks like this:
$this->bbcode_second_pass_code('', '
[root@r1 ~]# cat /etc/makepkg.conf
#
# /etc/makepkg.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The the package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="armv7h"
CHOST="armv7h-linux-gnueabihf"
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
#CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=armv7ve -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a7 -mtune=cortex-a7 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
#CFLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
CXXFLAGS="-march=armv7ve -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a7 -mtune=cortex-a7 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
CPPFLAGS="-march=armv7ve -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a7 -mtune=cortex-a7 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
#CXXFLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j11"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(!distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- fakeroot: Allow building packages as a non-root user
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
DISTCC_HOSTS="r1.dom markone.dom marktwo.dom vulcanone.dom vulcantwo.dom"
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- upx: Compress binary executable files using UPX
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:
')
I need clustered MySQL or MariaDB (but in this case build of wsrep lib failed for me and that is why i'm trying now with MySQL).
Any one knows how to fix it or ... where i can find couse ? I've been searching in logs
$this->bbcode_second_pass_code('', '
/src/mysql-cluster-gpl-7.3.8/CMakeFiles/CMakeError.log
./src/mysql-cluster-gpl-7.3.8/CMakeFiles/CMakeOutput.log
./src/build/storage/innobase/CMakeFiles/innobase.dir/log
./src/build/CMakeFiles/CMakeError.log
./src/build/CMakeFiles/CMakeOutput.log
')
but there is nothing (only notices about tests)