Fw: [PROPOSAL] To retire autoconf for 4.1

Jelmer Vernooij jelmer at samba.org
Thu May 23 18:07:34 MDT 2013


On Thu, May 23, 2013 at 04:25:46PM -0700, C.J. Adams-Collier KF7BMP wrote:
> you're throwing away a build system that has been dominant for longer
> than you have been alive.  You should re-consider the impact of your
> decision.  How well do you know autoconf?  You should know what you're
> getting rid of before you do so, so that you can replace all of the bits
> and pieces that you did not realize you were getting rid of.

It's not like we're just starting to consider this. waf has been used to
build Samba 4 with success for quite some time now. Even what we used before
was quite different from the traditional autoconf + automake + libtool + make
combo.

Either way, I don't see how the age of the technology matters other than
as a rough indicator of its maturity. The technologies the old and the new
build system were built on (Python and autoconf) both date from '91. 

The waf-based build system has a number of advantages over the autoconf+make
based system. If there are regressions or concrete concerns, by all means,
please bring them up and we can discuss them. 

Cheers,

Jelmer

> On Thu, 2013-05-23 at 16:18 -0500, Ricky Nance wrote:
> > What? Why is it a bad idea on a system without python?
> > 
> > 
> > Ricky
> > 
> > 
> > On Thu, May 23, 2013 at 3:33 PM, C.J. Adams-Collier KF7BMP
> > <cjac at colliertech.org> wrote:
> >         Oh, god.  Oh, god.  This is *so* not a good idea people.
> >          REVERT REVERT.
> >         
> >         On Thu, 2013-05-23 at 09:33 -0500, Ricky Nance wrote:
> >         > If you get too new of a version of python (3.0+), it can
> >         break thinks, this
> >         > version is known to work with samba. I'd be willing to bet
> >         that 2.7.5 will
> >         > cause things to break, but I haven't tested it myself (I
> >         want to say 2.7.3
> >         > worked, so I very well could be wrong about this).
> >         >
> >         > Good luck,
> >         > Ricky
> >         >
> >         >
> >         > On Thu, May 23, 2013 at 9:15 AM, <yaberger at ca.ibm.com>
> >         wrote:
> >         >
> >         > > nevermind, install_with_python.sh is part of
> >         samba-4.0.6.tar.gz
> >         > >
> >         > > However, I'm not sure I like it.
> >         > > It tries to use rsync (not available on our system but can
> >         be installed)
> >         > > to download this file:
> >         > > ftp://ftp.samba.org/pub/tridge/python/Python-2.6.5.tar
> >         > > It doesn't look like something recent (2.6.5 was released
> >         in 2010, 2.6.8
> >         > > and 2.7.5 are available)
> >         > >
> >         > > I believe I would prefer to build and maintain it myself.
> >         > >
> >         > >
> >         > > Best regards,
> >         > >
> >         > > Yannick Bergeron
> >         > > 450 534-7711
> >         > > yaberger at ca.ibm.com
> >         > > Advisory IT Specialist
> >         > >
> >         > > Never say never, say "it depends" / Ne jamais dire jamais,
> >         dites "ca
> >         > > dépend"
> >         > > ----- Forwarded by Yannick Y Bergeron/Bromont/IBM on
> >         05/23/2013 10:12 AM
> >         > > -----
> >         > >
> >         > > From:        Yannick Y Bergeron/Bromont/IBM
> >         > > To:        Ricky Nance <ricky.nance at gmail.com>,
> >         > > Cc:        Andrew Bartlett <abartlet at samba.org>, Samba
> >         Technical <
> >         > > samba-technical at lists.samba.org>
> >         > > Date:        05/23/2013 10:08 AM
> >         > > Subject:        Re: [PROPOSAL] To retire autoconf for 4.1
> >         
> >         > > ------------------------------
> >         > >
> >         > >
> >         > > Can't find it in the samba-4.0.6.tar.gz
> >         > >
> >         > > It seems to be in master with the name
> >         "install_with_python.sh"
> >         
> >         > > *this script installs a private copy of python in the same
> >         prefix as Samba
> >         > > *
> >         > >
> >         > > This would definitely looks like an interesting
> >         alternative if the Samba
> >         > > team keep this version up-to-date with security issues.
> >         > > If I can find a few minutes, I might attempt to fetch the
> >         master tree and
> >         > > see if I can build it with it
> >         > >
> >         > >
> >         > > Best regards,
> >         > >
> >         > > Yannick Bergeron
> >         > > 450 534-7711
> >         > > yaberger at ca.ibm.com
> >         > > Advisory IT Specialist
> >         > >
> >         > > Never say never, say "it depends" / Ne jamais dire jamais,
> >         dites "ca
> >         > > dépend"
> >         > >
> >         > >
> >         > >
> >         > > From:        Ricky Nance <ricky.nance at gmail.com>
> >         > > To:        yaberger at ca.ibm.com,
> >         > > Cc:        Samba Technical
> >         <samba-technical at lists.samba.org>, Andrew
> >         > > Bartlett <abartlet at samba.org>
> >         > > Date:        05/23/2013 09:41 AM
> >         > > Subject:        Re: [PROPOSAL] To retire autoconf for 4.1
> >         
> >         > > ------------------------------
> >         > >
> >         > >
> >         > >
> >         > > Give the build_with_python.sh script a try. I am at work
> >         right now and
> >         > > can't confirm that is the correct name, but it should be
> >         similar, and it
> >         > > will be in the base directory.
> >         > >
> >         > > Ricky
> >         > >
> >         > >
> >         
> >         > > On Thu, May 23, 2013 at 8:27 AM,
> >         <*yaberger at ca.ibm.com*<yaberger at ca.ibm.com>>
> >         > > wrote:
> >         > > Hi,
> >         > >
> >         > > We are using Samba 3.6.x built by ourself on AIX with IBM
> >         XL C/C++
> >         > > compiler, with the autoconf build system and it's working
> >         without issue.
> >         > > We use Samba mainly for its file-server feature to share
> >         DFS, GPFS and
> >         > > JFS2 filesystems to Windows systems and to Linux
> >         workstations.
> >         > > We will be looking in the upcoming months/years (before
> >         you stop providing
> >         > >
> >         > > security fixes for 3.6) to upgrade to Samba 4.x
> >         (file-server only) so we
> >         > > hope to be able to build it in our environment.
> >         > >
> >         > > We currently don't have Python on these systems as nothing
> >         requires it.
> >         > > There is no IBM supported python package for AIX.
> >         
> >         > > There is some sites providing Python packages (such as*
> >         > > **http://www-frec.bull.com/* <http://www-frec.bull.com/>
> >         and *
> >         > > http://www.perzl.org/aix/* <http://www.perzl.org/aix/>)
> >         but on a best
> >         > > effort basis and not always at the latest release.
> >         > > Being able to be on a supported version (or at least, an
> >         up-to-date
> >         > > version for security fixes) is mandatory for us.
> >         > > Therefore, the most logical solution remaining is to build
> >         Python ourself
> >         > > and maintain it.
> >         > >
> >         > > I believe waf requires Python 2.x so I've tried to compile
> >         Python 2.7.5 on
> >         > >
> >         > > AIX with IBM XL C/C++.
> >         > > "configure" and "make" worked well.
> >         > > make test is throwing some error and wasn't able to
> >         complete
> >         > > test_hotshot
> >         > > make: 1254-059 The signal code from the last command is
> >         11.
> >         > > Stop.
> >         > > I've did the make install anyway, tested it with a simple
> >         python script
> >         > > and it worked.
> >         > >
> >         
> >         > > I've downloaded Samba 4.0.6 and tried it with waf
> >         following this wiki:*
> >         > >
> >         **https://wiki.samba.org/index.php/Waf#Using_waf_directly*<https://wiki.samba.org/index.php/Waf#Using_waf_directly>
> >         > > cd lib/tdb
> >         > > waf configure --enable-developer --prefix=$HOME/testprefix
> >         > > waf
> >         > > waf install
> >         > >
> >         > > One of the "warning" I've got while running "waf" is that
> >         many options are
> >         > >
> >         > > not supported by IBM XL C/C++ (but probably are by gcc)
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wall was
> >         incorrectly specified.
> >         > > The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wshadow was
> >         incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option
> >         -Werror=strict-prototypes was
> >         > > incorrectly specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option
> >         -Wstrict-prototypes was
> >         > > incorrectly specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option
> >         -Werror=pointer-arith was
> >         > > incorrectly specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wpointer-arith
> >         was incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wcast-align was
> >         incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option
> >         -Werror=write-strings was
> >         > > incorrectly specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wwrite-strings
> >         was incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option
> >         > > -Werror-implicit-function-declaration was incorrectly
> >         specified. The
> >         > > option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wformat=2 was
> >         incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wno-format-y2k
> >         was incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option
> >         -Wmissing-prototypes was
> >         > > incorrectly specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Werror=address
> >         was incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Wcast-qual was
> >         incorrectly
> >         > > specified. The option will be ignored.
> >         > > /usr/vacpp/bin/xlc_r: 1501-289 (W) Option -Werror=format
> >         was incorrectly
> >         > > specified. The option will be ignored.
> >         > >
> >         > > I've did it again but from the samba-4.0.6 directory this
> >         time.
> >         > > gzip -cd samba-4.0.6.tar.gz |tar xf -
> >         > > cd samba-4.0.6
> >         > > waf configure --enable-developer
> >         --prefix=/usr/local/samba-4.0.6
> >         > > waf
> >         > > waf install
> >         > > I've had the following error while running "waf"
> >         > > "../lib/socket/interfaces.c", line 150.42: 1506-045 (S)
> >         Undeclared
> >         > > identifier IFF_UP.
> >         > > "../lib/socket/interfaces.c", line 204.44: 1506-045 (S)
> >         Undeclared
> >         > > identifier IFF_BROADCAST.
> >         > > "../lib/socket/interfaces.c", line 204.58: 1506-045 (S)
> >         Undeclared
> >         > > identifier IFF_LOOPBACK.
> >         > > "../lib/socket/interfaces.c", line 208.51: 1506-045 (S)
> >         Undeclared
> >         > > identifier IFF_POINTOPOINT.
> >         > > Waf: Leaving directory `/usr/src/samba-4.0.6/bin'
> >         > > Build failed:  -> task failed (err #1):
> >         > >         {task: cc interfaces.c -> interfaces_1.o}
> >         > > The problem is probably related to the code itself and not
> >         to the waf
> >         > > build engine.
> >         > > But as this haven't allowed me to complete the build, I
> >         don't know if I
> >         > > would have any waf issue after that.
> >         > >
> >         > >
> >         > >
> >         > > Conclusion
> >         > > While I'm not 100% comfortable to see the autoconf build
> >         option removed, I
> >         > >
> >         > > don't have any strong technical argument to be against.
> >         > > I would however try to find time with one of the Samba
> >         team member to see
> >         > > if it would be possible to fix the warnings/errors
> >         reported on AIX with
> >         > > IBM XL C/C++.
> >         > >
> >         > >
> >         > > Best regards,
> >         > >
> >         > >
> >         > > Yannick Bergeron
> >         
> >         > > 450 534-7711*
> >         > > **yaberger at ca.ibm.com* <yaberger at ca.ibm.com>
> >         > > Advisory IT Specialist
> >         > >
> >         > > Never say never, say "it depends" / Ne jamais dire jamais,
> >         dites "ca
> >         > > dépend"
> >         > >
> >         > >
> >         
> >         
> > 
> > 
> 



-- 


More information about the samba-technical mailing list