libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Re: libtool-2.4.2 is fine but libtool-2.4.6 very slow.


From: Pavel Raiskup
Subject: [PATCH] Re: libtool-2.4.2 is fine but libtool-2.4.6 very slow.
Date: Sat, 19 Sep 2015 10:09:38 +0200
User-agent: KMail/4.14.9 (Linux/4.1.6-100.fc21.x86_64+debug; KDE/4.14.9; x86_64; ; )

Hi Hiroyuki Sato,

On Wednesday 02 of September 2015 16:00:34 Hiroyuki Sato wrote:
> This configure.ac is extreme slow on libtool-2.4.6.
> But It run smoothly on libtool-2.4.2.
> https://github.com/groonga/groonga/blob/master/configure.ac

thanks for reproducer!

This _really_ looks like issue mentioned [1], though the thread is
believed to be resolved (with existing small slowdown between
libtool-2.4.5 and 2.4.2).  Let me CC Robert whether this patch does not
actually fix the "1 sec" slowdown of libtoolize.

> Could you tell me how to fix this problem?.

You can workaround/fix this by:
-m4_define([nginx_version], m4_include(nginx_version))
-NGINX_VERSION=nginx_version
+NGINX_VERSION=m4_include([nginx_version])

See the "recursion" in 'nginx_version' definition.  Its not recursion
usually (because nginx_version is not defined in the time of m4_define)
-- but libtoolize script does 'm4_undefine(m4_include)' before
evaluating configure.ac.

> Is this libtool's Bug?

I would say so, see the attached patch I'll push very soon (if there are
no objections).

> * OS OSX 10.10.5. and CentOS7

Should be IMO reproducible everywhere.

[1] http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html

Thanks, Pavel
------

> Thanks.
> 
> libtool-2.4.6
> 
>   time /tmp/libtool246/bin/libtoolize --verbose --copy --force
>   libtoolize: found 'configure.ac'
>   libtoolize: export M4='/usr/bin/gm4'
> 
>   It takes around 10 minutes.
> 
> libtool-2.4.2
> 
>   time /tmp/libtool242/bin/libtoolize --verbose --copy --force
>   libtoolize: rm -f './ltmain.sh'
>   libtoolize: putting auxiliary files in `.'.
>   libtoolize: copying file from 
> `/tmp/libtool242/share/libtool/config/ltmain.sh'
>   libtoolize: rm -f './libtool.m4'
>   libtoolize: rm -f './ltoptions.m4'
>   libtoolize: rm -f './ltsugar.m4'
>   libtoolize: rm -f './ltversion.m4'
>   libtoolize: rm -f './lt~obsolete.m4'
>   libtoolize: Not copying `./argz.m4', libltdl not used.
>   libtoolize: putting macros in `.'.
>   libtoolize: copying file from `/tmp/libtool242/share/aclocal/libtool.m4'
>   libtoolize: Not copying `./ltdl.m4', libltdl not used.
>   libtoolize: copying file from `/tmp/libtool242/share/aclocal/ltoptions.m4'
>   libtoolize: copying file from `/tmp/libtool242/share/aclocal/ltsugar.m4'
>   libtoolize: copying file from `/tmp/libtool242/share/aclocal/ltversion.m4'
>   libtoolize: copying file from `/tmp/libtool242/share/aclocal/lt~obsolete.m4'
>   libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
>   libtoolize: rerunning libtoolize, to keep the correct libtool macros 
> in-tree.
> 
>   real 0m1.003s
>   user 0m0.364s
>   sys 0m0.540s
> 
> 
> 

Attachment: 0001-libtoolize-fix-infinite-recursion-in-m4.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]