[OE-core] Prelink problem

Burton, Ross ross.burton at intel.com
Tue Jan 8 12:27:38 UTC 2019


That patch removed the dependency on the QA, but your failure is at rootfs time.

No idea why the opkg rootfs code is doing prelink operations when RPM
or dpkg don't.   CCing Mark who may have an idea here.  I thought the
autobuilder exerised multilib-on-opkg, but maybe not.

Ross

On Tue, 8 Jan 2019 at 07:14, Andrej Valek <andrej.valek at siemens.com> wrote:
>
> Hi Ross,
>
> I would like to ask You a question about your commit, which removed
> prelink dependency
> (http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/classes/insane.bbclass?h=thud&id=659c8b5267dc2220f67bfcb4ae2df91ae5052cdc).
> Is it really necessary to remove the QADEPENDS = "prelink-native"?
>
> I was trying to build extensible SDK with multilib support, but without
> success. Here is the crash log:
>
>      0709:        if not os.path.exists(prelink_cfg):
>
>      0710:
> shutil.copy(self.d.expand('${STAGING_DIR_NATIVE}${sysconfdir_native}/prelink.conf'),
>
>  *** 0711:                        prelink_cfg)
>
>      0712:
>
>      0713:        cmd_prelink =
> self.d.expand('${STAGING_DIR_NATIVE}${sbindir_native}/prelink')
>
>      0714:        self._exec_shell_cmd([cmd_prelink,
>
>      0715:                              '--root',
>
> File: '/usr/lib/python3.5/shutil.py', lineno: 241, function: copy
>
>      0237:
>
>      0238:    """
>
>      0239:    if os.path.isdir(dst):
>
>      0240:        dst = os.path.join(dst, os.path.basename(src))
>
>  *** 0241:    copyfile(src, dst, follow_symlinks=follow_symlinks)
>
>      0242:    copymode(src, dst, follow_symlinks=follow_symlinks)
>
>      0243:    return dst
>
>      0244:
>
>      0245:def copy2(src, dst, *, follow_symlinks=True):
>
> File: '/usr/lib/python3.5/shutil.py', lineno: 120, function: copyfile
>
>      0116:
>
>      0117:    if not follow_symlinks and os.path.islink(src):
>
>      0118:        os.symlink(os.readlink(src), dst)
>
>      0119:    else:
>
>  *** 0120:        with open(src, 'rb') as fsrc:
>
>      0121:            with open(dst, 'wb') as fdst:
>
>      0122:                copyfileobj(fsrc, fdst)
>
>      0123:    return dst
>
>      0124:
>
> Exception: FileNotFoundError: [Errno 2] No such file or directory:
> '/home/.../1.0-r0/recipe-sysroot-native/etc/prelink.conf'
>
>
> It points into meta/lib/oe/rootfs.py:705
>
> if not os.path.exists(prelink_cfg):
>
> shutil.copy(self.d.expand('${STAGING_DIR_NATIVE}${sysconfdir_native}/prelink.conf'),prelink_cfg)
>
>
> How it's possible to copy non-existing file, because of removed
> prelink-native dependency.
>
> Do I need to explicitly inherit some class, let say image-prelink?
> What am I doing wrong?
>
> Regards,
> Andrej


More information about the Openembedded-core mailing list