[Samba] compile samba 4.10.2 centos 7.6

Nico Kadel-Garcia nkadel at gmail.com
Sat Apr 13 11:43:24 UTC 2019

On Fri, Apr 12, 2019 at 7:20 AM Andreas Habel via samba
<samba at lists.samba.org> wrote:
> Hi,
> I managed to compile 4.10.0 under CentOS 7.6. I did the following:

I'll put muney down that you did not get it working as a full domain
controller. The"--with-dc" option activates a gnutls >= 3.4.7

> - update the yum package repository cache: sudo yum makecache
> - install yum-utils: sudo yum install yum-utils
> - add the IUS package repository: sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
> - update the yum package repository cache again: sudo yum makecache
> - install Python 3.6 including PIP: sudo yum install -y python36u python36u-libs python36u-devel python36u-pip
> - check version: python3.6 -V
> Python 3.6.7
> - Install dnspython (seems to be necessary): pip3.6 install dnspython

"pip install" is not OK in any production tools. in my very strong
personal opinion. It's why I publish SRPM's for many distinct python
modules. You simply do not know which version of a module, or which
version of a module dependency, you will wind up with depending on
what has updated on pypi.org and what you already have installed. It
is an unpredictable crapshoot. I just ran into this in force when
someone casually ran "pip instlal awscli", which was already present,
and the umask was set to 077 and broke other new dependencies for
non-root users.

pip, like CPAN, ant, maven, gradle, and rubygems, is prone to bringing
in new and incompatible components at unpredictable times. It
shouldn't be used for production setups without great caution. That
said, I've been publishing updates to the old "py2pack" tool, used to
build SRPM's and RPM's from Python modules. The toolchain for that is
at https://github.com/nkadel/py2packrepo .

RHEL 7 has the Python2 version of dnspython. Just for you, I just put
up https://github.com/nkadel/python-dnspython-srpm, which has hooks to
build the python3 RPM.

> Follow the instructions given in the wiki: https://wiki.samba.org/index.php/Build_Samba_from_Source
> Prior to running the configure command, you have to define the PYHTON env. variable: export PYTHON=/usr/bin/python3.6

I believe you meant "PYTHON", not "PYHTON ", right?

The RPM macro "python_provide" does not work for python3 components on
RHEL 7 or CentOS 7. That doesn't break compilation per-so, but it does
screw up packaging the python3 modules on RHEL 7 for That makes it
very awkward to repackage and bundle for Samba the "libtdb",
"libtalloc", "libtdb", and :"libtevent" libraries used by both Samba
and other critical systems on RHEL such as gnome-shell and nfs-utils.
I'm really leery of building and publishing those outside of the
standard RHEL layout.

Nico Kadel-Garcia

More information about the samba mailing list