[MDEV-14954] Build environment information seriously lacking Created: 2018-01-15  Updated: 2020-08-25  Resolved: 2018-09-10

Status: Closed
Project: MariaDB Server
Component/s: Compiling, Documentation
Affects Version/s: 10.0, 10.1, 10.2, 10.3
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Hartmut Holzgraefe Assignee: Kenneth Dyer (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux


Issue Links:
Relates
relates to MDEV-7066 No Source RPMs ... (and so no "yum-bu... Closed
relates to MDEV-12642 apt metadata in source repository for... Closed
relates to MDEV-14928 DEB Source Packages Missing From Repo... Closed

 Description   

The build environment setup instructions in the knowledge base are seriously lacking,
especially for RHEL/CentOS, and seem to still be at the state of MariaDB 5.5 days

https://mariadb.com/kb/en/library/Build_Environment_Setup_for_Linux/

The list of required libraries is missing libaio for example, and the description how to install dependencies via "apt build-dep", "yum-builddep" or "zypper" is only functional when the distribution comes with the same MariaDB version you want to compile against, which in the case of CentOS and RHEL would currently limit us to building MariaDB 5.5 (and even then the CentOS 7 MariaDB source RPM does not list gcc and gcc-c++ as dependencies).

For the distribution tool shortcuts the problem even persists when using MariaDB (com or org) repositories as we don't provide source RPM or DEB packages, so the distribution tools still fetch the build dependencies from their owh source packages. (see also MDEV-1066)

The setup steps I use to build CentOS7 RPMs from source myself right now are:

yum-builddep -y mariadb
 
yum install -y \
bison \
bzip2-devel \
cracklib-devel \
gcc \
gcc-c++ \
java-1.8.0-openjdk-devel \
jemalloc-devel \
libaio-devel \
libcurl-devel \
libevent-devel \
libuuid-devel \
libxml2-devel \
rpm-devel \
systemd-devel \
 
# set up MariaDB repository for jemalloc packages
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup |
sudo bash -s -- --mariadb-server-version=mariadb-10.3
 
yum install -y jemalloc-devel

With this I'm still missing the oqgraph-storage and cassandra-storage packages from my own build results.

And I'm also not sure whether my own builds are indeed similar enough to the official RPMs.



 Comments   
Comment by Daniel Black [ 2018-03-25 ]

Docker build environment Dockerfiles in the source tree like suggested in MDEV-15622? Use these to produce the published packages and include a bunch of disto tests around them. Seems to solve a few issues along with the maintainability one.

Generated at Thu Feb 08 08:17:35 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.