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/