Hi, I managed to compile 4.10.0 under CentOS 7.6. I did the following: - 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 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 These steps did it for me. Andreas -- Andreas Habel Petroleum engineering lab Geosciences | Unix network Faculty of Science and Technology University of Stavanger Norway -----Original Message----- From: samba <samba-bounces at lists.samba.org> On Behalf Of Vincent S. Cojot via samba Sent: 11. april 2019 17:11 To: Nico Kadel-Garcia <nkadel at gmail.com> Cc: samba at lists.samba.org; Gabriel O. Franca <gabriel.franca at gmail.com> Subject: Re: [Samba] compile samba 4.10.2 centos 7.6 Hi Nico, That's bad news.. but would there be an interest in opening bugs with the samba team if python2 support is not sufficient for building and running samba 4.10 on rhel7? I thought I read in the release notes that python2 support would stay for the length of 4.10.x but not afterwards. So, IMHO if it doesn't work as expected, perhaps it's time for us to file BZ issues? I've not even tried to build 4.9.x yet but I'd be willing to give 4.10.x a try if that's of interest (I'll probably do so shortly as being on 4.8.x means I'll stop receiving updates/fixes soon). Regards, Vincent On Thu, 11 Apr 2019, Nico Kadel-Garcia via samba wrote:> On Thu, Apr 11, 2019 at 8:43 AM Gabriel O. Franca via samba > <samba at lists.samba.org> wrote: >> >> Good morning people, >> >> I am opening my lab with version 4.10.2 in centos 7.6. >> I'm trying to compile using python3 without success. >> Has anyone managed to compile using python3 in the centos 7.6 that might >> give way to the stones? >> Here is the error message below. > > I've given up on it, and have segregated building Samba 4.9.x from > 4.10.x. The requirements for python3 versions of all the libraries, > the discarding of python2 for them, and the lack of a complete or well > integrated python3 environment for RHEL 7 have overwhelmed me: the > "python34-devel" or "python36-devel" from EPEL doesn't solve enough of > the build issues, and Samba 4.10 and its required libraries are, as > best I can tell, no longer compatible with /usr/bin/python2 > > I publish my tools at https://github.com/nkadel/samba4repo/ and a set > of related submodules for compiling individual components listed > there. But I think we need to wait until RHEL 8 before we'll be able > to port Samba 4.10 to RHEL. I did try building with RHEL 8 beta, the > public beta is missing critical components like "doxygen", and my > development environment is pretty one-lung. > > There are branches and tags there labeled for 4.9.5 that might satisfy > your needs for upgrade until future notice and you're welcome to clone > and work from any of my work if you like. > > Nico Kadel-Garcia <nakdel at gmail.com> > >> Testing pyembed configuration : yes >> >> Asking python-config for pyext '--cflags --libs --ldflags' >> flags : yes >> Testing pyext configuration : yes >> python-config : /usr/bin/python3-config >> Asking python-config for pyembed '--cflags --libs --ldflags' >> flags : yes >> Testing pyembed >> configuration : yes >> Asking python-config for pyext '--cflags --libs --ldflags' >> flags : yes >> Testing pyext configuration : yes >> >> extrapython 3.6 is same as main python 3.6 >> >> >> Regards, >> >> Gabriel Franca >> >> >> >> -- >> To unsubscribe from this list go to the following URL and read the >> instructions: https://lists.samba.org/mailman/options/samba > > -- > To unsubscribe from this list go to the following URL and read the > instructions: https://lists.samba.org/mailman/options/samba >-- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/options/samba
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 requirement.> - 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.6I 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
On Sat, 2019-04-13 at 07:43 -0400, Nico Kadel-Garcia via samba wrote:> 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 > requirement.At least for samba 4.8.x, you only need gnutls >= 3.4.7 if you use MIT kbr, old kbr don't need it . Anyway I did one gnutls-3.4.7 package (compat-gnutls34) for Centos 7 [1] [1] https://github.com/sergiomb2/SambaAD> > - 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 >-- Sérgio M. B.