Discussion:
distro diversity in autobuilds
Douglas Bagnall via samba-technical
2018-03-21 23:07:43 UTC
Permalink
as I'm probably the only one who actually runs our tests on a
different distro than Ubuntu, [...]
Which, along with recent Python 2.6 regressions, has prompted me to
try running something else on the Catalyst cloud. And after much
tweaking, we can successfully run... {drum-roll}... Debian!
(Debian 9/stretch/stable to be precise).

But I also have plans for Centos 6.6 and 7.

In Centos 6.6, I arrive here in samba.stderr:

[ 671/4143] Compiling lib/util/become_daemon.c
cc1: warnings being treated as errors
../lib/util/become_daemon.c: In function ‘daemon_ready’:
../lib/util/become_daemon.c:128: error: declaration of ‘daemon’ shadows
a global declaration
/usr/include/unistd.h:956: error: shadowed declaration is here

GCC is "gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)".

Commit a50092531af8c837c6e45c3c755fcb20b6ce323b looks culpable.

With Centos 7, I end up here:

[31(761)/2231 at 21m46s] samba4.blackbox.dbcheck.release-4-0-0
UNEXPECTED(failure): samba4.blackbox.dbcheck.release-4-0-0.ldapcmp(none)
REASON: Exception: Exception:
* Place-holders for
tdb:///home/centos/autobuild/b2132/samba/bin/ab/provision/release-4-0-0_reference/private/sam.ldb:
${DOMAIN_DN} => DC=release-4-0-0,DC=samba,DC=corp
${DOMAIN_NETBIOS} => SAMBA
${SERVER_NAME} => ['ARES'

FAILED (1 failures, 0 errors and 0 unexpected successes in 0 testsuites)

I'll keep chipping away at these when I have time.

cheers,
Douglas
Douglas Bagnall via samba-technical
2018-03-22 00:43:47 UTC
Permalink
Post by Douglas Bagnall via samba-technical
as I'm probably the only one who actually runs our tests on a
different distro than Ubuntu, [...]
Which, along with recent Python 2.6 regressions, has prompted me to
try running something else on the Catalyst cloud. And after much
tweaking, we can successfully run... {drum-roll}... Debian!
(Debian 9/stretch/stable to be precise).
But I also have plans for Centos 6.6 and 7.
[ 671/4143] Compiling lib/util/become_daemon.c
cc1: warnings being treated as errors
../lib/util/become_daemon.c:128: error: declaration of ‘daemon’ shadows
a global declaration
/usr/include/unistd.h:956: error: shadowed declaration is here
GCC is "gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)".
Commit a50092531af8c837c6e45c3c755fcb20b6ce323b looks culpable.
So I fixed this one (attached) but now it fails on a similar thing a
moment later:

[ 701/4151] Compiling lib/util/tini.c
cc1: warnings being treated as errors
../lib/util/tfork.c: In function ‘tfork_status’:
../lib/util/tfork.c:809: error: declaration of ‘wait’ shadows a global declaration
/usr/include/sys/wait.h:116: error: shadowed declaration is here
Waf: Leaving directory `/home/centos/autobuild/b16891/samba/bin'
Build failed: -> task failed (err #1):
{task: cc tfork.c -> tfork_32.o}
make: *** [all] Error 1

which suggests I should just find a way of turning off this silly
warning. Therefore I NACK my own patch and recommend you do the same
unless you think gcc 4.4.7 was onto something important.

Douglas
Martin Schwenke via samba-technical
2018-03-22 02:37:48 UTC
Permalink
On Thu, 22 Mar 2018 13:43:47 +1300, Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
as I'm probably the only one who actually runs our tests on a
different distro than Ubuntu, [...]
Which, along with recent Python 2.6 regressions, has prompted me to
try running something else on the Catalyst cloud. And after much
tweaking, we can successfully run... {drum-roll}... Debian!
(Debian 9/stretch/stable to be precise).
But I also have plans for Centos 6.6 and 7.
[ 671/4143] Compiling lib/util/become_daemon.c
cc1: warnings being treated as errors
../lib/util/become_daemon.c:128: error: declaration of ‘daemon’ shadows
a global declaration
/usr/include/unistd.h:956: error: shadowed declaration is here
GCC is "gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)".
Commit a50092531af8c837c6e45c3c755fcb20b6ce323b looks culpable.
So I fixed this one (attached) but now it fails on a similar thing a
[ 701/4151] Compiling lib/util/tini.c
cc1: warnings being treated as errors
../lib/util/tfork.c:809: error: declaration of ‘wait’ shadows a global declaration
/usr/include/sys/wait.h:116: error: shadowed declaration is here
Waf: Leaving directory `/home/centos/autobuild/b16891/samba/bin'
{task: cc tfork.c -> tfork_32.o}
make: *** [all] Error 1
which suggests I should just find a way of turning off this silly
warning. Therefore I NACK my own patch and recommend you do the same
unless you think gcc 4.4.7 was onto something important.
I broke it, the compiler is stupid, we should fix it...

Reviewed-by: Martin Schwenke <***@meltin.net>

Provided, if course, you nix your own NACK. ;-)

peace & happiness,
martin
Douglas Bagnall via samba-technical
2018-03-22 02:53:08 UTC
Permalink
Post by Martin Schwenke via samba-technical
On Thu, 22 Mar 2018 13:43:47 +1300, Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
as I'm probably the only one who actually runs our tests on a
different distro than Ubuntu, [...]
Which, along with recent Python 2.6 regressions, has prompted me to
try running something else on the Catalyst cloud. And after much
tweaking, we can successfully run... {drum-roll}... Debian!
(Debian 9/stretch/stable to be precise).
But I also have plans for Centos 6.6 and 7.
[ 671/4143] Compiling lib/util/become_daemon.c
cc1: warnings being treated as errors
../lib/util/become_daemon.c:128: error: declaration of ‘daemon’ shadows
a global declaration
/usr/include/unistd.h:956: error: shadowed declaration is here
GCC is "gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)".
Commit a50092531af8c837c6e45c3c755fcb20b6ce323b looks culpable.
So I fixed this one (attached) but now it fails on a similar thing a
[ 701/4151] Compiling lib/util/tini.c
cc1: warnings being treated as errors
../lib/util/tfork.c:809: error: declaration of ‘wait’ shadows a global declaration
/usr/include/sys/wait.h:116: error: shadowed declaration is here
Waf: Leaving directory `/home/centos/autobuild/b16891/samba/bin'
{task: cc tfork.c -> tfork_32.o}
make: *** [all] Error 1
which suggests I should just find a way of turning off this silly
warning. Therefore I NACK my own patch and recommend you do the same
unless you think gcc 4.4.7 was onto something important.
I broke it, the compiler is stupid, we should fix it...
Thank you for that.
Post by Martin Schwenke via samba-technical
Provided, if course, you nix your own NACK. ;-)
I will think about it overnight.

BTW, for others who are following, it turns out that my "centos-6.6" is
actually Centos 6.9. Although weird, that's good from the point of view
of relevance. Cloud people tell me it's perfectly normal.

Douglas
Douglas Bagnall via samba-technical
2018-05-04 04:47:10 UTC
Permalink
Post by Martin Schwenke via samba-technical
On Thu, 22 Mar 2018 13:43:47 +1300, Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
as I'm probably the only one who actually runs our tests on a
different distro than Ubuntu, [...]
Which, along with recent Python 2.6 regressions, has prompted me to
try running something else on the Catalyst cloud. And after much
tweaking, we can successfully run... {drum-roll}... Debian!
(Debian 9/stretch/stable to be precise).
But I also have plans for Centos 6.6 and 7.
[ 671/4143] Compiling lib/util/become_daemon.c
cc1: warnings being treated as errors
../lib/util/become_daemon.c:128: error: declaration of ‘daemon’ shadows
a global declaration
/usr/include/unistd.h:956: error: shadowed declaration is here
GCC is "gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)".
Commit a50092531af8c837c6e45c3c755fcb20b6ce323b looks culpable.
So I fixed this one (attached) but now it fails on a similar thing a
[ 701/4151] Compiling lib/util/tini.c
cc1: warnings being treated as errors
../lib/util/tfork.c:809: error: declaration of ‘wait’ shadows a global declaration
/usr/include/sys/wait.h:116: error: shadowed declaration is here
Waf: Leaving directory `/home/centos/autobuild/b16891/samba/bin'
{task: cc tfork.c -> tfork_32.o}
make: *** [all] Error 1
which suggests I should just find a way of turning off this silly
warning. Therefore I NACK my own patch and recommend you do the same
unless you think gcc 4.4.7 was onto something important.
I broke it, the compiler is stupid, we should fix it...
Provided, if course, you nix your own NACK. ;-)
Nup, I have decided my NACK stands.

Your 'daemon' here and Ralph's 'wait' in lib/util/tfork.c are
exemplary names. Changing them for an obsolete compiler would be
silly.

What I have tried instead is the attached patch which turns off
-Werror=shadow for compilers with this problem. But I'm not proposing
that either, because it turns out not to be sufficient.

cheers,
Douglas
Stefan Metzmacher via samba-technical
2018-05-04 05:56:44 UTC
Permalink
Post by Douglas Bagnall via samba-technical
Post by Martin Schwenke via samba-technical
On Thu, 22 Mar 2018 13:43:47 +1300, Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
Post by Douglas Bagnall via samba-technical
as I'm probably the only one who actually runs our tests on a
different distro than Ubuntu, [...]
Which, along with recent Python 2.6 regressions, has prompted me to
try running something else on the Catalyst cloud. And after much
tweaking, we can successfully run... {drum-roll}... Debian!
(Debian 9/stretch/stable to be precise).
But I also have plans for Centos 6.6 and 7.
[ 671/4143] Compiling lib/util/become_daemon.c
cc1: warnings being treated as errors
../lib/util/become_daemon.c:128: error: declaration of ‘daemon’ shadows
a global declaration
/usr/include/unistd.h:956: error: shadowed declaration is here
GCC is "gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)".
Commit a50092531af8c837c6e45c3c755fcb20b6ce323b looks culpable.
So I fixed this one (attached) but now it fails on a similar thing a
[ 701/4151] Compiling lib/util/tini.c
cc1: warnings being treated as errors
../lib/util/tfork.c:809: error: declaration of ‘wait’ shadows a global declaration
/usr/include/sys/wait.h:116: error: shadowed declaration is here
Waf: Leaving directory `/home/centos/autobuild/b16891/samba/bin'
{task: cc tfork.c -> tfork_32.o}
make: *** [all] Error 1
which suggests I should just find a way of turning off this silly
warning. Therefore I NACK my own patch and recommend you do the same
unless you think gcc 4.4.7 was onto something important.
I broke it, the compiler is stupid, we should fix it...
Provided, if course, you nix your own NACK. ;-)
Nup, I have decided my NACK stands.
Your 'daemon' here and Ralph's 'wait' in lib/util/tfork.c are
exemplary names. Changing them for an obsolete compiler would be
silly.
What I have tried instead is the attached patch which turns off
-Werror=shadow for compilers with this problem. But I'm not proposing
that either, because it turns out not to be sufficient.
I'd propose to add an option to autobuild.py to avoid using
--picky-developer in order to support older systems. Similar to the
AUTOBUILD_NO_EXTRA_PYTHON check. Maybe AUTOBUILD_NO_PICKY_DEVELOPER=1

metze

Loading...