From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roel Janssen Subject: Re: [PATCH] Fix compiling on CentOS 7. Date: Sat, 27 Aug 2016 02:16:47 +0200 Message-ID: <878tvjxdzk.fsf@gnu.org> References: <87d1kvpazv.fsf@gnu.org> <878tvjglfw.fsf@we.make.ritual.n0.is> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50572) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bdRIA-0008Nm-TV for guix-devel@gnu.org; Fri, 26 Aug 2016 20:16:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bdRI6-0006Ps-JU for guix-devel@gnu.org; Fri, 26 Aug 2016 20:16:09 -0400 In-reply-to: <878tvjglfw.fsf@we.make.ritual.n0.is> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: ng0 Cc: guix-devel@gnu.org ng0 writes: > Roel Janssen writes: > >> From dcbf57e6b7e6798a321d599390a052953ab3a75a Mon Sep 17 00:00:00 2001 >> From: Roel Janssen >> Date: Fri, 26 Aug 2016 15:22:00 -0400 >> Subject: [PATCH] Changes to compile it on Centos 7. >> >> --- >> doc/local.mk | 84 +-- >> emacs/local.mk | 74 +-- >> gnu/local.mk | 1712 ++++++++++++++++++++++++++++---------------------------- >> nix/local.mk | 134 ++--- >> 4 files changed, 1002 insertions(+), 1002 deletions(-) > > ... > >> Dear Guix, >> >> Due to an old Automake version (1.13), running the `./configure' phase on >> CentOS 7 fails with: >> >>> autoreconf: running: automake --add-missing --copy --force-missing >>> configure.ac:21: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged. >>> configure.ac:21: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead, >>> configure.ac:21: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files. >>> Makefile.am:422: warning: AM_GNU_GETTEXT used but 'po' not in SUBDIRS >>> automake: error: cannot open < ./%D%/guix.texi: No such file or directory >>> autoreconf: automake failed with exit status: 1 >> >> (It does not replace %D% with the appropriate directory..) >> >> The attached patch replaces each instance of %D%, which I believe stands >> for the current subdirectory from the project root, with the appropriate >> directory. With these changes, I've been able to compile GNU Guix on >> CentOS 7. >> >> I am not sure how this change impacts custom configure options, so I >> would like to ask someone with more Automake knowledge and experience to >> elaborate on the possible downsides of applying this patch. >> >> If this change is acceptable to the project, I will update the commit >> message to a more detailed and conforming message. Suggestions are >> welcome here though. >> >> What do you think about making Guix compilable on this "stable" >> distribution? :-) >> >> Thanks! >> >> Kind regards, >> Roel Janssen > > On the one hand it's nice to have Guix run everywhere, on the other hand > why is CentOS using this old automake? Can't this be fixed in another > way in CentOS itself, or is CentOS stable like Debian stable with their > release and update cycles? My debian has 1.14.1 automake. Thanks for your quick response. Yes, CentOS is just like Red Hat Enterprise Linux (in fact, they are almost identical distributions), and RHEL has support for up to 10 years on major releases! I don't think we can convince Red Hat that they need to upgrade Automake on RHEL 7, so that CentOS 7 gets an updated Automake. The patch is actually quite simple (I used four replace-all actions) and I don't think it negatively impacts the building (but I'm no expert on custom configuration stuff). I think it's good for GNU Guix to support older versions when the cost is low (which is the case here). Kind regards, Roel Janssen