cross-localedef file not found in do_rootfs #yocto #zeus


Bel Hadj Salem Talel <bhstalel@...>
 

Hello All,

I created a simple image recipe for initramfs type of image with no IMAGE_FEATURES and simply:
IMAGE_INSTALL = "packagegroup-core-boot busybox"
When I bitbake the image I get the following error:

---------------------------
ERROR: menzu-image-initramfs-1.0-r0 do_rootfs: 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:do_rootfs(d)
     0003:
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/classes/image.bbclass', lineno: 245, function: do_rootfs
     0241:    progress_reporter.next_stage()
     0242:
     0243:    # generate rootfs
     0244:    d.setVarFlag('REPRODUCIBLE_TIMESTAMP_ROOTFS', 'export', '1')
 *** 0245:    create_rootfs(d, progress_reporter=progress_reporter, logcatcher=logcatcher)
     0246:
     0247:    progress_reporter.finish()
     0248:}
     0249:do_rootfs[dirs] = "${TOPDIR}"
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/rootfs.py', lineno: 978, function: create_rootfs
     0974:    img_type = d.getVar('IMAGE_PKGTYPE')
     0975:    if img_type == "rpm":
     0976:        RpmRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
     0977:    elif img_type == "ipk":
 *** 0978:        OpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
     0979:    elif img_type == "deb":
     0980:        DpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
     0981:
     0982:    os.environ.clear()
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/rootfs.py', lineno: 204, function: create
     0200:        if self.progress_reporter:
     0201:            self.progress_reporter.next_stage()
     0202:
     0203:        # call the package manager dependent create method
 *** 0204:        self._create()
     0205:
     0206:        sysconfdir = self.image_rootfs + self.d.getVar('sysconfdir')
     0207:        bb.utils.mkdirhier(sysconfdir)
     0208:        with open(sysconfdir + "/version", "w+") as ver:
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/rootfs.py', lineno: 922, function: _create
     0918:
     0919:        if self.progress_reporter:
     0920:            self.progress_reporter.next_stage()
     0921:
 *** 0922:        self.pm.install_complementary()
     0923:
     0924:        if self.progress_reporter:
     0925:            self.progress_reporter.next_stage()
     0926:
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/package_manager.py', lineno: 614, function: install_complementary
     0610:
     0611:        target_arch = self.d.getVar('TARGET_ARCH')
     0612:        localedir = oe.path.join(self.target_rootfs, self.d.getVar("libdir"), "locale")
     0613:        if os.path.exists(localedir) and os.listdir(localedir):
 *** 0614:            generate_locale_archive(self.d, self.target_rootfs, target_arch, localedir)
     0615:            # And now delete the binary locales
     0616:            self.remove(fnmatch.filter(self.list_installed(), "glibc-binary-localedata-*"), False)
     0617:
     0618:    def deploy_dir_lock(self):
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/package_manager.py', lineno: 140, function: generate_locale_archive
     0136:        if os.path.isdir(path):
     0137:            cmd = ["cross-localedef", "--verbose"]
     0138:            cmd += arch_options
     0139:            cmd += ["--add-to-archive", path]
 *** 0140:            subprocess.check_output(cmd, env=env, stderr=subprocess.STDOUT)
     0141:
     0142:class Indexer(object, metaclass=ABCMeta):
     0143:    def __init__(self, d, deploy_dir):
     0144:        self.d = d
File: '/usr/lib/python3.8/subprocess.py', lineno: 415, function: check_output
     0411:        else:
     0412:            empty = b''
     0413:        kwargs['input'] = empty
     0414:
 *** 0415:    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
     0416:               **kwargs).stdout
     0417:
     0418:
     0419:class CompletedProcess(object):
File: '/usr/lib/python3.8/subprocess.py', lineno: 493, function: run
     0489:                             'with capture_output.')
     0490:        kwargs['stdout'] = PIPE
     0491:        kwargs['stderr'] = PIPE
     0492:
 *** 0493:    with Popen(*popenargs, **kwargs) as process:
     0494:        try:
     0495:            stdout, stderr = process.communicate(input, timeout=timeout)
     0496:        except TimeoutExpired as exc:
     0497:            process.kill()
File: '/usr/lib/python3.8/subprocess.py', lineno: 858, function: __init__
     0854:                if self.text_mode:
     0855:                    self.stderr = io.TextIOWrapper(self.stderr,
     0856:                            encoding=encoding, errors=errors)
     0857:
 *** 0858:            self._execute_child(args, executable, preexec_fn, close_fds,
     0859:                                pass_fds, cwd, env,
     0860:                                startupinfo, creationflags, shell,
     0861:                                p2cread, p2cwrite,
     0862:                                c2pread, c2pwrite,
File: '/usr/lib/python3.8/subprocess.py', lineno: 1704, function: _execute_child
     1700:                    else:
     1701:                        err_filename = orig_executable
     1702:                    if errno_num != 0:
     1703:                        err_msg = os.strerror(errno_num)
 *** 1704:                    raise child_exception_type(errno_num, err_msg, err_filename)
     1705:                raise child_exception_type(err_msg)
     1706:
     1707:
     1708:        def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED,
Exception: FileNotFoundError: [Errno 2] No such file or directory: 'cross-localedef'
 
ERROR: Logfile of failure stored in: /home/talel/Desktop/YoctoWork/arken/tmp/work/menzu-poky-linux/menzu-image-initramfs/1.0-r0/temp/log.do_rootfs.143822
ERROR: Task (/home/talel/Documents/FinalGit/SelfArkenWork/arken/meta-menzu/recipes-core/images/menzu-image-initramfs.bb:do_rootfs) failed with exit code '1'
---------------------------

I was building the image with success, but now it fails, I don't know why.
The other normal images build successfully.

Thanks,
Talel


Khem Raj
 

On Wed, Nov 24, 2021 at 1:02 AM Bel Hadj Salem Talel <bhstalel@...> wrote:

Hello All,

I created a simple image recipe for initramfs type of image with no IMAGE_FEATURES and simply:

IMAGE_INSTALL = "packagegroup-core-boot busybox"
to get more info, can you try adding

IMAGE_LINGUAS = " "

and see if this changes anything ?

When I bitbake the image I get the following error:

---------------------------
ERROR: menzu-image-initramfs-1.0-r0 do_rootfs: 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:do_rootfs(d)
0003:
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/classes/image.bbclass', lineno: 245, function: do_rootfs
0241: progress_reporter.next_stage()
0242:
0243: # generate rootfs
0244: d.setVarFlag('REPRODUCIBLE_TIMESTAMP_ROOTFS', 'export', '1')
*** 0245: create_rootfs(d, progress_reporter=progress_reporter, logcatcher=logcatcher)
0246:
0247: progress_reporter.finish()
0248:}
0249:do_rootfs[dirs] = "${TOPDIR}"
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/rootfs.py', lineno: 978, function: create_rootfs
0974: img_type = d.getVar('IMAGE_PKGTYPE')
0975: if img_type == "rpm":
0976: RpmRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
0977: elif img_type == "ipk":
*** 0978: OpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
0979: elif img_type == "deb":
0980: DpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
0981:
0982: os.environ.clear()
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/rootfs.py', lineno: 204, function: create
0200: if self.progress_reporter:
0201: self.progress_reporter.next_stage()
0202:
0203: # call the package manager dependent create method
*** 0204: self._create()
0205:
0206: sysconfdir = self.image_rootfs + self.d.getVar('sysconfdir')
0207: bb.utils.mkdirhier(sysconfdir)
0208: with open(sysconfdir + "/version", "w+") as ver:
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/rootfs.py', lineno: 922, function: _create
0918:
0919: if self.progress_reporter:
0920: self.progress_reporter.next_stage()
0921:
*** 0922: self.pm.install_complementary()
0923:
0924: if self.progress_reporter:
0925: self.progress_reporter.next_stage()
0926:
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/package_manager.py', lineno: 614, function: install_complementary
0610:
0611: target_arch = self.d.getVar('TARGET_ARCH')
0612: localedir = oe.path.join(self.target_rootfs, self.d.getVar("libdir"), "locale")
0613: if os.path.exists(localedir) and os.listdir(localedir):
*** 0614: generate_locale_archive(self.d, self.target_rootfs, target_arch, localedir)
0615: # And now delete the binary locales
0616: self.remove(fnmatch.filter(self.list_installed(), "glibc-binary-localedata-*"), False)
0617:
0618: def deploy_dir_lock(self):
File: '/home/talel/Desktop/YoctoWork/sources/poky/meta/lib/oe/package_manager.py', lineno: 140, function: generate_locale_archive
0136: if os.path.isdir(path):
0137: cmd = ["cross-localedef", "--verbose"]
0138: cmd += arch_options
0139: cmd += ["--add-to-archive", path]
*** 0140: subprocess.check_output(cmd, env=env, stderr=subprocess.STDOUT)
0141:
0142:class Indexer(object, metaclass=ABCMeta):
0143: def __init__(self, d, deploy_dir):
0144: self.d = d
File: '/usr/lib/python3.8/subprocess.py', lineno: 415, function: check_output
0411: else:
0412: empty = b''
0413: kwargs['input'] = empty
0414:
*** 0415: return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
0416: **kwargs).stdout
0417:
0418:
0419:class CompletedProcess(object):
File: '/usr/lib/python3.8/subprocess.py', lineno: 493, function: run
0489: 'with capture_output.')
0490: kwargs['stdout'] = PIPE
0491: kwargs['stderr'] = PIPE
0492:
*** 0493: with Popen(*popenargs, **kwargs) as process:
0494: try:
0495: stdout, stderr = process.communicate(input, timeout=timeout)
0496: except TimeoutExpired as exc:
0497: process.kill()
File: '/usr/lib/python3.8/subprocess.py', lineno: 858, function: __init__
0854: if self.text_mode:
0855: self.stderr = io.TextIOWrapper(self.stderr,
0856: encoding=encoding, errors=errors)
0857:
*** 0858: self._execute_child(args, executable, preexec_fn, close_fds,
0859: pass_fds, cwd, env,
0860: startupinfo, creationflags, shell,
0861: p2cread, p2cwrite,
0862: c2pread, c2pwrite,
File: '/usr/lib/python3.8/subprocess.py', lineno: 1704, function: _execute_child
1700: else:
1701: err_filename = orig_executable
1702: if errno_num != 0:
1703: err_msg = os.strerror(errno_num)
*** 1704: raise child_exception_type(errno_num, err_msg, err_filename)
1705: raise child_exception_type(err_msg)
1706:
1707:
1708: def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED,
Exception: FileNotFoundError: [Errno 2] No such file or directory: 'cross-localedef'

ERROR: Logfile of failure stored in: /home/talel/Desktop/YoctoWork/arken/tmp/work/menzu-poky-linux/menzu-image-initramfs/1.0-r0/temp/log.do_rootfs.143822
ERROR: Task (/home/talel/Documents/FinalGit/SelfArkenWork/arken/meta-menzu/recipes-core/images/menzu-image-initramfs.bb:do_rootfs) failed with exit code '1'
---------------------------

I was building the image with success, but now it fails, I don't know why.
The other normal images build successfully.

Thanks,
Talel



Bel Hadj Salem Talel <bhstalel@...>
 

Thanks for the reply,

I tried adding IMAGE_LINGUAS = " ", it passes but do_image_cpio gives nothing (means no image.gpio.gz) is generated.
I don't know why.