[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
>
>
>
0001-libtoolize-fix-infinite-recursion-in-m4.patch
Description: Text Data