Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: Michael Halstead <mhalstead@linuxfoundation.org>
Cc: ming.liu@toradex.com, rpurdie@linuxfoundation.org,
	openembedded-core@lists.openembedded.org
Subject: Re: [PATCH v2] uninative: Update to 2.7 release
Date: Fri, 11 Oct 2019 10:26:46 +0200	[thread overview]
Message-ID: <1cc830a84a8b5e58672806f515f0fd0c@agner.ch> (raw)
In-Reply-To: <20191007164757.29687-1-mhalstead@linuxfoundation.org>

On 2019-10-07 18:47, Michael Halstead wrote:
> The 2.7 release updates glibc to version 2.30. Recently added to openSUSE
> Tumbleweed and needed for Fedora Core 31.

Since we updated master to include this commit we see regularly the following
issues:


WARNING: Disabling uninative as unable to install uninative tarball: Command 'mkdir -p /workdir/oe/tmp/sysroots-uninative; cd /workdir/oe/tmp/sysroots-uninative; tar -xJf
/workdir/downloads/uninative//9498d8bba047499999a7310ac2576d0796461184965351a56f6d32c888a1f216/x86_64-nativesdk-libc.tar.xz; /workdir/oe/tmp/sysroots-uninative/relocate_sdk.py   /workdir/oe/tmp/sysroots-uninative/x86_64-linux  
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2   /workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2   /workdir/oe/tmp/sysroots-uninative/x86_64-linux//usr/bin/patchelf-uninative  
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libc*.so' returned non-zero exit status 1.
WARNING: To build your own uninative loader, please bitbake uninative-tarball and set UNINATIVE_TARBALL appropriately.

[...]

ERROR: ldconfig-native-2.12.1-r2 do_populate_sysroot_setscene: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:uninative_changeinterp(d)
     0003:
File: '/workdir/oe/build/conf/../../layers/openembedded-core/meta/classes/uninative.bbclass', lineno: 165, function: uninative_changeinterp
     0161:                continue
     0162:            if not elf.isDynamic():
     0163:                continue
     0164:
 *** 0165:            subprocess.check_output(("patchelf-uninative", "--set-interpreter", d.getVar("UNINATIVE_LOADER"), f), stderr=subprocess.STDOUT)
     0166:}
File: '/usr/lib/python3.6/subprocess.py', lineno: 336, function: check_output
     0332:        # empty string. That is maintained here for backwards compatibility.
     0333:        kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b''
     0334:
     0335:    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
 *** 0336:               **kwargs).stdout
     0337:
     0338:
     0339:class CompletedProcess(object):
     0340:    """A process that has finished running.
File: '/usr/lib/python3.6/subprocess.py', lineno: 403, function: run
     0399:        if 'stdin' in kwargs:
     0400:            raise ValueError('stdin and input arguments may not both be used.')
     0401:        kwargs['stdin'] = PIPE
     0402:
 *** 0403:    with Popen(*popenargs, **kwargs) as process:
     0404:        try:
     0405:            stdout, stderr = process.communicate(input, timeout=timeout)
     0406:        except TimeoutExpired:
     0407:            process.kill()
File: '/usr/lib/python3.6/subprocess.py', lineno: 709, function: __init__
     0705:                                startupinfo, creationflags, shell,
     0706:                                p2cread, p2cwrite,
     0707:                                c2pread, c2pwrite,
     0708:                                errread, errwrite,
 *** 0709:                                restore_signals, start_new_session)
     0710:        except:
     0711:            # Cleanup if the child failed starting.
     0712:            for f in filter(None, (self.stdin, self.stdout, self.stderr)):
     0713:                try:
File: '/usr/lib/python3.6/subprocess.py', lineno: 1344, function: _execute_child
     1340:                    if errno_num != 0:
     1341:                        err_msg = os.strerror(errno_num)
     1342:                        if errno_num == errno.ENOENT:
     1343:                            err_msg += ': ' + repr(err_filename)
 *** 1344:                    raise child_exception_type(errno_num, err_msg, err_filename)
     1345:                raise child_exception_type(err_msg)
     1346:
     1347:
     1348:        def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED,
Exception: FileNotFoundError: [Errno 2] No such file or directory: 'patchelf-uninative': 'patchelf-uninative'

ERROR: Logfile of failure stored in: /workdir/oe/tmp/work/x86_64-linux/ldconfig-native/2.12.1-r2/temp/log.do_populate_sysroot_setscene.14967



Looking into the directory shows that uninative only got extracted half-way:
$ find /workdir/oe/tmp/sysroots-uninative
/workdir/oe/tmp/sysroots-uninative
/workdir/oe/tmp/sysroots-uninative/x86_64-linux
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libresolv-2.30.so
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libnsl.so.1
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libanl.so.1
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libnss_compat-2.30.so
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libpthread-2.30.so
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/ld-2.30.so
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libutil-2.30.so
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libnss_compat.so.2
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libdl.so.2
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libc-2.30.so
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/librt.so.1
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/lib/libBrokenLocale.so.1
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/var
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/var/lib
/workdir/oe/tmp/sysroots-uninative/x86_64-linux/var/lib/rpm
/workdir/oe/tmp/sysroots-uninative/relocate_sdk.py
<end of output...>

We run several build in parallel using the same downloads folder, it seems to me that
there is a race condition. The history shows the warning several times already with
exit code 127, but in those instances the bulid succeeded 

What I don't understand is how the update to 2.7 release could affect the behavior
such that it suddenly leads to issues. Any idea?

--
Stefan


> 
> Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
> ---
>  meta/conf/distro/include/yocto-uninative.inc | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/conf/distro/include/yocto-uninative.inc
> b/meta/conf/distro/include/yocto-uninative.inc
> index df24346855..ad75d3e2a3 100644
> --- a/meta/conf/distro/include/yocto-uninative.inc
> +++ b/meta/conf/distro/include/yocto-uninative.inc
> @@ -6,9 +6,9 @@
>  # to the distro running on the build machine.
>  #
>  
> -UNINATIVE_MAXGLIBCVERSION = "2.29"
> +UNINATIVE_MAXGLIBCVERSION = "2.30"
>  
> -UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.6/"
> -UNINATIVE_CHECKSUM[aarch64] ?=
> "a37118fc8b423f48146120707b81dd15017512c3e8ef9e6ca2cb3a033f4f4046"
> -UNINATIVE_CHECKSUM[i686] ?=
> "3234fc3ded810225071f23a0e9a99f4f8c2480059945a848eff076ce78122ade"
> -UNINATIVE_CHECKSUM[x86_64] ?=
> "133387753a9acf3e1b788103c59fac91e968e2ee331d7a4b9498e926ada7be57"
> +UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.7/"
> +UNINATIVE_CHECKSUM[aarch64] ?=
> "e76a45886ee8a0b3904b761c17ac8ff91edf9811ee455f1832d10763ba794dfc"
> +UNINATIVE_CHECKSUM[i686] ?=
> "810d027dfb1c7675226afbcec07808770516c969ee7378f6d8240281083f8924"
> +UNINATIVE_CHECKSUM[x86_64] ?=
> "9498d8bba047499999a7310ac2576d0796461184965351a56f6d32c888a1f216"
> -- 
> 2.21.0


  parent reply	other threads:[~2019-10-11  8:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-07 16:47 [PATCH v2] uninative: Update to 2.7 release Michael Halstead
2019-10-07 17:50 ` Khem Raj
2019-10-11  8:26 ` Stefan Agner [this message]
2019-10-11  9:00   ` Richard Purdie
2019-10-11  9:03   ` Stefan Agner

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=1cc830a84a8b5e58672806f515f0fd0c@agner.ch \
    --to=stefan@agner.ch \
    --cc=mhalstead@linuxfoundation.org \
    --cc=ming.liu@toradex.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=rpurdie@linuxfoundation.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