[OE-core] Prelink problem
Mark Hatle
mark.hatle at windriver.com
Tue Jan 8 20:14:44 UTC 2019
On 1/8/19 6:27 AM, Burton, Ross wrote:
> 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.
They all should be doing prelink operations. The operation SHOULD be
generically implemented as part of the image-prelink class, which is where I
would have expected that copy to exist.
If any of the package types of specifically doing something, that sounds
broken... but the generic ones (last I looked) said to copy in the config file
[if it didn't exist], run prelink, remove the file [if it wasn't there to start
with].
--Mark
> 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