Openembedded Core Discussions
 help / color / mirror / Atom feed
From: wenzong fan <wenzong.fan@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] coreutils: fix do_configure error with long TMPDIR
Date: Fri, 24 Aug 2012 12:41:44 +0800	[thread overview]
Message-ID: <50370608.50809@windriver.com> (raw)
In-Reply-To: <503703FC.60008@windriver.com>

On 08/24/2012 12:33 PM, wenzong fan wrote:
> On 08/24/2012 12:28 AM, Saul Wold wrote:
>> On 08/19/2012 07:55 PM, wenzong.fan@windriver.com wrote:
>>> From: Wenzong Fan <wenzong.fan@windriver.com>
>>>
>>> By default the 'm4/*' files will be extended with absolute path while
>>> autoreconf running, if the length of TMPDIR is too long such as 410
>>> which is the maximum value allowed by 'sanity.bbclass', autoreconf
>>> will fail with error:
>>>
>>> Can't exec "/bin/sh": Argument list too long ...
>>>
>>> Fix this issue by specific the 'acpaths' to '-I ./m4'.
>>>
>>> [YOCTO #2766]
>>>
>>> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
>>> ---
>>> meta/recipes-core/coreutils/coreutils_8.14.bb | 4 +++-
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/meta/recipes-core/coreutils/coreutils_8.14.bb
>>> b/meta/recipes-core/coreutils/coreutils_8.14.bb
>>> index 9a714a9..c7c8e13 100644
>>> --- a/meta/recipes-core/coreutils/coreutils_8.14.bb
>>> +++ b/meta/recipes-core/coreutils/coreutils_8.14.bb
>>> @@ -7,7 +7,7 @@ BUGTRACKER = "http://debbugs.gnu.org/coreutils"
>>> LICENSE = "GPLv3+"
>>> LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
>>> file://src/ls.c;startline=5;endline=16;md5=e1a509558876db58fb6667ba140137ad"
>>>
>>>
>>> -PR = "r5"
>>> +PR = "r6"
>>> DEPENDS = "gmp libcap"
>>> DEPENDS_virtclass-native = ""
>>>
>>> @@ -36,6 +36,8 @@ base_bindir_progs = "cat chgrp chmod chown cp date
>>> dd echo false kill ln ls mkdi
>>>
>>> sbindir_progs= "chroot"
>>>
>>> +acpaths = "-I ./m4"
>>> +
>> This is a poor work-around to the problem, and does not give any idea as
>> to what your fixing. Please investigate a proper fix not just a
>> work-around.
>
> Hi Saul,
>
> Because a too long TMPDIR will caused the failure:
>
> Can't exec "/bin/sh": Argument list too long at
> /usr/lib/perl/5.10/IO/File.pm line 66.
>
> So we have a limitation in the sanity.bbclass that the tmpdir can't be
> longer than 410. See commit 2dee999ab2731c2a96e82762ae04fe44f27edac6.
>
> This limitation works for mostly packages but except for coreutils.
> There are 378 m4 files under '.../coreutils-8.14/m4', so if all of them
> extended with absolute path while the TMPDIR is long enough, it will be
> a very long argument list and over the ARG_MAX value that kernel defined.

The ARG_MAX from '/usr/include/linux/limits.h' is '131072'. Only the 
m4/* extended will over than 378 * 410 = 154980 bytes, it's indeed a 
very long argument list.

Wenzong

>
> I think the best solution is reducing the length of argument list,
> because autoreconf will be run in $S dir, so absolute path is not
> necessary here. The acpaths is generated by autotools.bbclass and allow
> to overwrite by a pre-defined value. Another option is getting
> autotools.bbclass generate acpatchs with relative path directly, this
> might work, but will effect all autotool packages instead of coreutils
> only.
>
>
> Thanks
> Wenzong
>
>>
>> Thanks
>> Sau!
>>
>>> do_install_append() {
>>> for i in df mktemp base64; do mv ${D}${bindir}/$i
>>> ${D}${bindir}/$i.${BPN}; done
>>>
>>>
>>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



  reply	other threads:[~2012-08-24  4:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-20  2:55 [PATCH 0/1] coreutils: fix do_configure error with long TMPDIR wenzong.fan
2012-08-20  2:55 ` [PATCH 1/1] " wenzong.fan
2012-08-23 16:28   ` Saul Wold
2012-08-24  4:33     ` wenzong fan
2012-08-24  4:41       ` wenzong fan [this message]
2012-09-20  4:37     ` Robert Yang
2012-09-21  9:51       ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50370608.50809@windriver.com \
    --to=wenzong.fan@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox