[PROPOSAL] To retire autoconf for 4.1

yaberger at ca.ibm.com yaberger at ca.ibm.com
Thu May 23 07:27:18 MDT 2013


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/ and 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
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
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