Alex Braunegg
2019-Jun-02 10:00 UTC
[Samba] Build error while compiling 4.9.8 when using gcc 4.8.5
Hi all, In attempting to build Samba 4.9.8 on CentOS 6 using mock, but using Kernel 4.19.46 as a base, Samba failed to compile spitting out the following error: [ 178/3886] Generating smbd/build_options.c [ 179/3886] Generating PKGCONFIG_netapi.pc [ 180/3886] Generating samba-passdb_empty_c [ 181/3886] Generating PKGCONFIG_smbclient.pc [ 182/3886] Generating vfs_empty_c [ 183/3886] Generating nfs41acl-xdr-c [ 184/3886] Generating nfs41acl-h rpcgen: C preprocessor failed with exit code 1 rpcgen: C preprocessor failed with exit code 1 fooresult B.1,rfc4518-map Waf: Leaving directory `/builddir/build/BUILD/samba-4.9.8/bin' Build failed: -> task failed (err #1): {task: nfs41acl-h nfs41acl.x -> nfs41acl.h} make: *** [all] Error 1 RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.qXnSSf (%build) Bad exit status from /var/tmp/rpm-tmp.qXnSSf (%build) Child return code was: 1 EXCEPTION: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/samba.spec'] Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/mockbuild/trace_decorator.py", line 70, in trace result = func(*args, **kw) File "/usr/lib/python2.6/site-packages/mockbuild/util.py", line 359, in do raise mockbuild.exception.Error, ("Command failed. See logs for output.\n # %s" % (command,), child.returncode) Error: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/samba.spec'] LEAVE do --> EXCEPTION RAISED Compiling the same Samba package, but using Kernel 4.4.180, Samba 4.9.8 compiles successfully without issue. The only difference between each build environment is below: Works Fails kernel-4.4.180-1.el6.src.rpm kernel-4.19.46-1.el6.src.rpm gcc-4.6.2-1.el6.src.rpm gcc-4.8.5-36.el6.src.rpm binutils-2.23.51.0.1-3.fc18.src.rpm binutils-2.27-34.base.el7.src.rpm curl-7.29.0-25.el7.centos.src.rpm curl-7.29.0-52.el6.src.rpm python-pycurl-7.19.0-17.el7.src.rpm python-pycurl-7.19.0-19.el7.src.rpm pesign-0.106-1.el6.src.rpm The package upgrades were essentially needed to support the newer 4.19.x kernel series to compile successfully and to support CONFIG_RETPOLINE (Compile kernel with the retpoline compiler options to guard against kernel-to-user data leaks by avoiding speculative indirect branches). In terms of kernel configuration - these are pretty much the same. Reading the lists this issue has been seen before (https://lists.samba.org/archive/samba/2018-December/219926.html), however on both build systems the following is installed in the build root, and the 'older' gcc (4.6.2) seems to handle what rpcgen is generating. DEBUG util.py:264: libldb-devel x86_64 1.4.6-1.el6 Local_Repo 71 k DEBUG util.py:264: libtalloc-devel x86_64 2.1.14-1.el6 Local_Repo 51 k DEBUG util.py:264: libtdb-devel x86_64 1.3.16-1.el6 Local_Repo 15 k DEBUG util.py:264: libtevent-devel x86_64 0.9.37-2.el6 Local_Repo 53 k DEBUG util.py:264: pyldb-devel x86_64 1.4.6-1.el6 Local_Repo 11 k DEBUG util.py:264: pytalloc-devel x86_64 2.1.14-1.el6 Local_Repo 6.5 k DEBUG util.py:264: python-tdb x86_64 1.3.16-1.el6 Local_Repo 15 k DEBUG util.py:264: python-tevent x86_64 0.9.37-2.el6 Local_Repo 13 k DEBUG util.py:264: libldb x86_64 1.4.6-1.el6 Local_Repo 134 k DEBUG util.py:264: libtalloc x86_64 2.1.14-1.el6 Local_Repo 28 k DEBUG util.py:264: libtdb x86_64 1.3.16-1.el6 Local_Repo 43 k DEBUG util.py:264: libtevent x86_64 0.9.37-2.el6 Local_Repo 34 k DEBUG util.py:264: pyldb x86_64 1.4.6-1.el6 Local_Repo 39 k DEBUG util.py:264: pytalloc x86_64 2.1.14-1.el6 Local_Repo 13 k Just wondering if anyone has any suggestions as where to look further in solving this. Best regards, Alex
Nico Kadel-Garcia
2019-Jun-02 11:26 UTC
[Samba] Build error while compiling 4.9.8 when using gcc 4.8.5
On Sun, Jun 2, 2019 at 6:02 AM Alex Braunegg via samba <samba at lists.samba.org> wrote:> > Hi all, > > > > In attempting to build Samba 4.9.8 on CentOS 6 using mock, but using Kernel > 4.19.46 as a base, Samba failed to compile spitting out the following error:Friend, I urge you to get off of CentOS 6 for domain controllers. Trying to keep current versions of Samba backported that far is just not going to be your friend. I had to give up on that years ago. RHEL 7 and CentOS 7 work fine from my testing, if you do the extra work I've taken the liberty of publishing over at https://github.com/nkadel/samba4repo/
Alex Braunegg
2019-Jun-02 18:53 UTC
[Samba] Build error while compiling 4.9.8 when using gcc 4.8.5
Thanks for that suggestion, however that piece is a 'work in progress', but not the actual problem I am facing right now. FYI - domain controller piece works flawlessly on the 4.4.180 kernel build based around CentOS6 including many integration tests to Windows DC / replication and the like that I have configured. -----Original Message----- From: Nico Kadel-Garcia [mailto:nkadel at gmail.com] Sent: Sunday, 2 June 2019 9:26 PM To: Alex Braunegg Cc: samba at lists.samba.org Subject: Re: [Samba] Build error while compiling 4.9.8 when using gcc 4.8.5 On Sun, Jun 2, 2019 at 6:02 AM Alex Braunegg via samba <samba at lists.samba.org> wrote:> > Hi all, > > > > In attempting to build Samba 4.9.8 on CentOS 6 using mock, but using Kernel > 4.19.46 as a base, Samba failed to compile spitting out the following error:Friend, I urge you to get off of CentOS 6 for domain controllers. Trying to keep current versions of Samba backported that far is just not going to be your friend. I had to give up on that years ago. RHEL 7 and CentOS 7 work fine from my testing, if you do the extra work I've taken the liberty of publishing over at https://github.com/nkadel/samba4repo/