[ZBX-7227] current versions of autotools give a lot of warnings when running ./bootstrap.sh Created: 2013 Oct 28  Updated: 2017 May 30  Resolved: 2013 Dec 28

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Installation (I)
Affects Version/s: 2.1.9
Fix Version/s: 2.2.2rc1, 2.3.0

Type: Incident report Priority: Minor
Reporter: Aleksandrs Saveljevs Assignee: Unassigned
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

autoconf 2.69
automake 1.14


Attachments: File build_modernise-automake.patch    

 Description   

$ ./bootstrap.sh
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:23: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see:
configure.in:23: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
src/libs/zbxsysinfo/Makefile.am:50: warning: source file '@ARCH@/@[email protected]' is in a subdirectory,
src/libs/zbxsysinfo/Makefile.am:50: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled. For now, the corresponding output
automake: object file(s) will be placed in the top-level directory. However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
src/libs/zbxsysinfo/Makefile.am:50: warning: source file '@ARCH@/hostname.c' is in a subdirectory,
src/libs/zbxsysinfo/Makefile.am:50: but option 'subdir-objects' is disabled
src/libs/zbxsysinfo/Makefile.am:69: warning: source file '@ARCH@/hostname.c' is in a subdirectory,
src/libs/zbxsysinfo/Makefile.am:69: but option 'subdir-objects' is disabled
src/zabbix_server/nodewatcher/Makefile.am:5: warning: source file '../trapper/nodesync.c' is in a subdirectory,
src/zabbix_server/nodewatcher/Makefile.am:5: but option 'subdir-objects' is disabled
src/zabbix_server/trapper/Makefile.am:5: warning: source file '../nodewatcher/nodesender.c' is in a subdirectory,
src/zabbix_server/trapper/Makefile.am:5: but option 'subdir-objects' is disabled
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:23: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see:
configure.in:23: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
src/libs/zbxsysinfo/Makefile.am:50: warning: source file '@ARCH@/@[email protected]' is in a subdirectory,
src/libs/zbxsysinfo/Makefile.am:50: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled. For now, the corresponding output
automake: object file(s) will be placed in the top-level directory. However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
src/libs/zbxsysinfo/Makefile.am:50: warning: source file '@ARCH@/hostname.c' is in a subdirectory,
src/libs/zbxsysinfo/Makefile.am:50: but option 'subdir-objects' is disabled
src/libs/zbxsysinfo/Makefile.am:69: warning: source file '@ARCH@/hostname.c' is in a subdirectory,
src/libs/zbxsysinfo/Makefile.am:69: but option 'subdir-objects' is disabled
src/zabbix_server/nodewatcher/Makefile.am:5: warning: source file '../trapper/nodesync.c' is in a subdirectory,
src/zabbix_server/nodewatcher/Makefile.am:5: but option 'subdir-objects' is disabled
src/zabbix_server/trapper/Makefile.am:5: warning: source file '../nodewatcher/nodesender.c' is in a subdirectory,
src/zabbix_server/trapper/Makefile.am:5: but option 'subdir-objects' is disabled



 Comments   
Comment by Dmitry Smirnov [ 2013 Nov 29 ]

Proposed patch.

Comment by Dmitry Smirnov [ 2013 Nov 29 ]

I would fix the issue by applying proposed patch and renaming 'configure.in' --> 'configure.ac'.

Please review.

Patch is already applied to Zabbix-2.2.0 in Debian "unstable".

Comment by Aleksandrs Saveljevs [ 2013 Dec 02 ]

Useful reading:

There is a discussion on KDE bug tracker regarding deprecation of "configure.in": https://bugs.kde.org/show_bug.cgi?id=111686#c2 . It says that "configure.ac" is the preferred file since around 2001 and autoconf change log confirms this (see http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blob_plain;f=ChangeLog.2;hb=HEAD):

2000-12-23  Akim Demaille  <[email protected]>

	* autoconf.sh: Promote `configure.ac' over `configure.in'.
        * ...

So it should be safe to rename "configure.in" to "configure.ac" in 2.2 branch.

Comment by Aleksandrs Saveljevs [ 2013 Dec 02 ]

Fixed in development branch svn://svn.zabbix.com/branches/dev/ZBX-7227 .

In addition to Dmitry's patch, I have specified the first argument to AC_INIT() as "Zabbix" (note that it is capitalized). The reason is that the first link on AM_INIT_AUTOMAKE() above says that it should be package name, not tarball name, and tarball name is derived automatically from it.

Comment by Andris Zeila [ 2013 Dec 04 ]

Successfully tested

Comment by Aleksandrs Saveljevs [ 2013 Dec 09 ]

Fixed in pre-2.2.2rc1 r40844 and pre-2.3.0 (trunk) r40846.

Comment by richlv [ 2013 Dec 28 ]

current situation seems to result in warning with recent autotools :

warning: both `configure.ac' and `configure.in' are present.
warning: proceeding with `configure.ac'.

i assume that is intended to support older versions as well ?

Comment by Aleksandrs Saveljevs [ 2013 Dec 28 ]

No, this is not intended and it seems to be a problem with the merge into trunk.

Here is the list of changes in 2.2:

$ svn log -v -c 40844
------------------------------------------------------------------------
r40844 | asaveljevs | 2013-12-09 14:45:57 +0200 (Mon, 09 Dec 2013) | 1 line
Changed paths:
   M /branches/2.2
   M /branches/2.2/ChangeLog
   A /branches/2.2/configure.ac (from /branches/dev/ZBX-7227/configure.ac:40842)
   D /branches/2.2/configure.in
   M /branches/2.2/src/libs/zbxsysinfo/aix
   M /branches/2.2/src/libs/zbxsysinfo/freebsd
   M /branches/2.2/src/libs/zbxsysinfo/hpux
   M /branches/2.2/src/libs/zbxsysinfo/linux
   M /branches/2.2/src/libs/zbxsysinfo/netbsd
   M /branches/2.2/src/libs/zbxsysinfo/openbsd
   M /branches/2.2/src/libs/zbxsysinfo/osf
   M /branches/2.2/src/libs/zbxsysinfo/osx
   M /branches/2.2/src/libs/zbxsysinfo/solaris
   M /branches/2.2/src/libs/zbxsysinfo/unknown
   M /branches/2.2/src/zabbix_server/nodewatcher
   M /branches/2.2/src/zabbix_server/trapper

....I..... [ZBX-7227] modernized autoconf invocation and renamed "configure.in" to "configure.ac"
------------------------------------------------------------------------

Here is the list of changes in trunk, obtained with "svn merge -c 40844 ^/branches/2.2" (as my bash history shows):

$ svn log -v -c 40846
------------------------------------------------------------------------
r40846 | asaveljevs | 2013-12-09 14:47:41 +0200 (Mon, 09 Dec 2013) | 1 line
Changed paths:
   M /trunk
   M /trunk/ChangeLog
   A /trunk/configure.ac (from /branches/2.2/configure.ac:40844)
   M /trunk/src/libs/zbxsysinfo/aix
   M /trunk/src/libs/zbxsysinfo/freebsd
   M /trunk/src/libs/zbxsysinfo/hpux
   M /trunk/src/libs/zbxsysinfo/linux
   M /trunk/src/libs/zbxsysinfo/netbsd
   M /trunk/src/libs/zbxsysinfo/openbsd
   M /trunk/src/libs/zbxsysinfo/osf
   M /trunk/src/libs/zbxsysinfo/osx
   M /trunk/src/libs/zbxsysinfo/solaris
   M /trunk/src/libs/zbxsysinfo/unknown
   M /trunk/src/zabbix_server/nodewatcher
   M /trunk/src/zabbix_server/trapper

....I..... [ZBX-7227] modernized autoconf invocation and renamed "configure.in" to "configure.ac"
------------------------------------------------------------------------

It can be seen that in trunk configure.in was not removed for some reason.

Reopening to fix that.

Comment by Aleksandrs Saveljevs [ 2013 Dec 28 ]

Fixed directly in trunk (pre-2.3.0) in r41178. Please take a look.

Comment by Andris Zeila [ 2013 Dec 28 ]

Successfully tested

Comment by Aleksandrs Saveljevs [ 2013 Dec 28 ]

Closing.

Comment by richlv [ 2013 Dec 28 ]

thanks for the quick fix

Generated at Thu Apr 18 15:10:53 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.