All of lore.kernel.org
 help / color / mirror / Atom feed
* Yocto Thud - /lib64 link - Build Failure
@ 2018-11-29  0:09 Chuck Wolber
  2018-11-29  0:27 ` Khem Raj
  2018-11-29  3:20 ` ChenQi
  0 siblings, 2 replies; 4+ messages in thread
From: Chuck Wolber @ 2018-11-29  0:09 UTC (permalink / raw)
  To: yocto

[-- Attachment #1: Type: text/plain, Size: 1307 bytes --]

Background: I have an image that works in pyro. I am migrating the image to
thud.

Some of the add-on code to our image requires the /lib64 directory (in
particular the VirtualBox Additions). I have proven that a simple symlink
(/lib -> /lib64) fixes the problem. This symlink was being applied with the
following code at the very bottom of the image:

IMAGE_PREPROCESS_COMMAND += "symlink_lib64; "

symlink_lib64() {

    ln -s /lib ${IMAGE_ROOTFS}/lib64

}


When I use that same code with Yocto thud, I get the following build error:

DEBUG: Executing shell function prelink_image

Size before prelinking 818112.

/build/poky/tmp/work/qemux86_64-linux/common-os-image/1.0-r0/recipe-sysroot-native/usr/sbin/prelink:
Could not record directory /lib/modules-load.d: No such file or directory

WARNING: exit code 1 from a shell command.


Looking at the image generation diagram here (
https://www.yoctoproject.org/docs/2.6/overview-manual/overview-manual.html#image-generation-dev-environment),
it would seem to indicate that IMAGE_PREPROCESS_COMMAND runs after the
linker steps in do_rootfs. So it is unclear why prelink is failing during
the do_image phase.

Where is the correct place to create a /lib -> /lib64 symlink in our image
recipe?

Thank you,

..Ch:W..

[-- Attachment #2: Type: text/html, Size: 4528 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Yocto Thud - /lib64 link - Build Failure
  2018-11-29  0:09 Yocto Thud - /lib64 link - Build Failure Chuck Wolber
@ 2018-11-29  0:27 ` Khem Raj
  2018-11-29  3:20 ` ChenQi
  1 sibling, 0 replies; 4+ messages in thread
From: Khem Raj @ 2018-11-29  0:27 UTC (permalink / raw)
  To: Chuck Wolber; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 1658 bytes --]

Can you try postprocess instead of preprocess

On Wed, Nov 28, 2018 at 4:10 PM Chuck Wolber <chuckwolber@gmail.com> wrote:

> Background: I have an image that works in pyro. I am migrating the image
> to thud.
>
> Some of the add-on code to our image requires the /lib64 directory (in
> particular the VirtualBox Additions). I have proven that a simple symlink
> (/lib -> /lib64) fixes the problem. This symlink was being applied with the
> following code at the very bottom of the image:
>
> IMAGE_PREPROCESS_COMMAND += "symlink_lib64; "
>
> symlink_lib64() {
>
>     ln -s /lib ${IMAGE_ROOTFS}/lib64
>
> }
>
>
> When I use that same code with Yocto thud, I get the following build error:
>
> DEBUG: Executing shell function prelink_image
>
> Size before prelinking 818112.
>
> /build/poky/tmp/work/qemux86_64-linux/common-os-image/1.0-r0/recipe-sysroot-native/usr/sbin/prelink:
> Could not record directory /lib/modules-load.d: No such file or directory
>
> WARNING: exit code 1 from a shell command.
>
>
> Looking at the image generation diagram here (
> https://www.yoctoproject.org/docs/2.6/overview-manual/overview-manual.html#image-generation-dev-environment),
> it would seem to indicate that IMAGE_PREPROCESS_COMMAND runs after the
> linker steps in do_rootfs. So it is unclear why prelink is failing during
> the do_image phase.
>
> Where is the correct place to create a /lib -> /lib64 symlink in our image
> recipe?
>
> Thank you,
>
> ..Ch:W..
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>

[-- Attachment #2: Type: text/html, Size: 5626 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Yocto Thud - /lib64 link - Build Failure
  2018-11-29  0:09 Yocto Thud - /lib64 link - Build Failure Chuck Wolber
  2018-11-29  0:27 ` Khem Raj
@ 2018-11-29  3:20 ` ChenQi
  2018-11-30  2:23   ` Chuck Wolber
  1 sibling, 1 reply; 4+ messages in thread
From: ChenQi @ 2018-11-29  3:20 UTC (permalink / raw)
  To: Chuck Wolber, yocto

[-- Attachment #1: Type: text/plain, Size: 1849 bytes --]

This is because prelink_image is also in IMAGE_PREPROCESS_COMMAND.

meta/classes/image-prelink.bbclass:IMAGE_PREPROCESS_COMMAND_append_libc-glibc 
= " prelink_setup; prelink_image; "

And as it's using _append, it will be after your 'symlink_lib64'.
Maybe using IMAGE_PREPROCESS_COMMAND_append = " symlink_lib64; " would 
work for you?

Best Regards,
Chen Qi

On 11/29/2018 08:09 AM, Chuck Wolber wrote:
> Background: I have an image that works in pyro. I am migrating the 
> image to thud.
>
> Some of the add-on code to our image requires the /lib64 directory (in 
> particular the VirtualBox Additions). I have proven that a simple 
> symlink (/lib -> /lib64) fixes the problem. This symlink was being 
> applied with the following code at the very bottom of the image:
>
>     IMAGE_PREPROCESS_COMMAND += "symlink_lib64; "
>
>     symlink_lib64() {
>
>     ln -s /lib ${IMAGE_ROOTFS}/lib64
>
>     }
>
>
> When I use that same code with Yocto thud, I get the following build 
> error:
>
>     DEBUG: Executing shell function prelink_image
>
>     Size before prelinking 818112.
>
>     /build/poky/tmp/work/qemux86_64-linux/common-os-image/1.0-r0/recipe-sysroot-native/usr/sbin/prelink:
>     Could not record directory /lib/modules-load.d: No such file or
>     directory
>
>     WARNING: exit code 1 from a shell command.
>
>
> Looking at the image generation diagram here 
> (https://www.yoctoproject.org/docs/2.6/overview-manual/overview-manual.html#image-generation-dev-environment), 
> it would seem to indicate that IMAGE_PREPROCESS_COMMAND runs after the 
> linker steps in do_rootfs. So it is unclear why prelink is failing 
> during the do_image phase.
>
> Where is the correct place to create a /lib -> /lib64 symlink in our 
> image recipe?
>
> Thank you,
>
> ..Ch:W..
>
>


[-- Attachment #2: Type: text/html, Size: 6988 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Yocto Thud - /lib64 link - Build Failure
  2018-11-29  3:20 ` ChenQi
@ 2018-11-30  2:23   ` Chuck Wolber
  0 siblings, 0 replies; 4+ messages in thread
From: Chuck Wolber @ 2018-11-30  2:23 UTC (permalink / raw)
  To: Qi.Chen; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 2202 bytes --]

Thank you, switching to IMAGE_PREPROCESS_COMMAND_append seems to have
solved the problem.

..Ch:W..

On Wed, Nov 28, 2018 at 7:14 PM ChenQi <Qi.Chen@windriver.com> wrote:

> This is because prelink_image is also in IMAGE_PREPROCESS_COMMAND.
>
> meta/classes/image-prelink.bbclass:IMAGE_PREPROCESS_COMMAND_append_libc-glibc
> = " prelink_setup; prelink_image; "
>
> And as it's using _append, it will be after your 'symlink_lib64'.
> Maybe using IMAGE_PREPROCESS_COMMAND_append = " symlink_lib64; " would
> work for you?
>
> Best Regards,
> Chen Qi
>
> On 11/29/2018 08:09 AM, Chuck Wolber wrote:
>
> Background: I have an image that works in pyro. I am migrating the image
> to thud.
>
> Some of the add-on code to our image requires the /lib64 directory (in
> particular the VirtualBox Additions). I have proven that a simple symlink
> (/lib -> /lib64) fixes the problem. This symlink was being applied with the
> following code at the very bottom of the image:
>
> IMAGE_PREPROCESS_COMMAND += "symlink_lib64; "
>
> symlink_lib64() {
>
>     ln -s /lib ${IMAGE_ROOTFS}/lib64
>
> }
>
>
> When I use that same code with Yocto thud, I get the following build error:
>
> DEBUG: Executing shell function prelink_image
>
> Size before prelinking 818112.
>
> /build/poky/tmp/work/qemux86_64-linux/common-os-image/1.0-r0/recipe-sysroot-native/usr/sbin/prelink:
> Could not record directory /lib/modules-load.d: No such file or directory
>
> WARNING: exit code 1 from a shell command.
>
>
> Looking at the image generation diagram here (
> https://www.yoctoproject.org/docs/2.6/overview-manual/overview-manual.html#image-generation-dev-environment),
> it would seem to indicate that IMAGE_PREPROCESS_COMMAND runs after the
> linker steps in do_rootfs. So it is unclear why prelink is failing during
> the do_image phase.
>
> Where is the correct place to create a /lib -> /lib64 symlink in our image
> recipe?
>
> Thank you,
>
> ..Ch:W..
>
>
>
>

-- 
“I would challenge anyone here to think of a question upon which we once
had a scientific answer, however inadequate, but for which now the best
answer is a religious one."  -Sam Harris

[-- Attachment #2: Type: text/html, Size: 5723 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-11-30  2:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-29  0:09 Yocto Thud - /lib64 link - Build Failure Chuck Wolber
2018-11-29  0:27 ` Khem Raj
2018-11-29  3:20 ` ChenQi
2018-11-30  2:23   ` Chuck Wolber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.