[Clamav-devel] Linux, configure.ac: automake 1.16, AC_SYS_LARGEFILE

Micah Snyder (micasnyd) micasnyd at cisco.com
Fri Apr 26 11:17:25 EDT 2019


Hi Sergey,

Sorry for the delay in responding. 

   > 1. automake 1.16
   > 
   > ClamAV isn't built if autoreconf was used. AC_CONFIG_AUX_DIR([config])
   > should be placed after AC_INIT before all other.
    
Do you suggest this? 

diff --git a/configure.ac b/configure.ac
index b333e3eb2..fbb62526c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,13 +23,13 @@ AC_PREREQ([2.59])
 dnl For a release change [devel] to the real version [0.xy]
 dnl also change VERSION below
 AC_INIT([ClamAV], [0.102.0-devel], [https://bugzilla.clamav.net/], [clamav], [https://www.clamav.net/])
+AC_CONFIG_AUX_DIR([config])

 dnl enable C++
 AC_PROG_CXX()

 AH_BOTTOM([#include "platform.h"])
 dnl put configure auxiliary into config
-AC_CONFIG_AUX_DIR([config])
 AC_CONFIG_HEADERS([clamav-config.h libclammspack/config.h:libclammspack/config.h.in])

 dnl safety check, this used to be a parameter to AC_INIT

   > 2. AC_SYS_LARGEFILE.
   > 
   > It is needed for i586. What do you think about to add it globally?
   > There's the one problem: glibc version check is needed. 
   > 
   > For example glibc 2.17 contains (in include/fts.h):
   > 
   > #ifdef __USE_FILE_OFFSET64
   > # error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
   > #endif
   > 
   > I don't know when it was removed but glibc 2.23 isn't contains it
   > and AC_SYS_LARGEFILE works.

I don't have any complaint about setting it AC_SYS_LARGEFILE globally, rather than just in the system-installed libmspack condition we have right now.  You're quite right about requiring the glibc version check in configure.ac.  From https://sourceware.org/glibc/wiki/Release, it appears that RHEL 6, RHEL 7 still use glibc 2.17 or older.  Did you validate if glibc 2.18 allows AC_SYS_LARGEFILE?

-Micah




More information about the clamav-devel mailing list