* [PATCH 1/1] allarch: do not set baselib
@ 2018-01-02 20:00 Joe Slater
2018-01-02 22:45 ` Richard Purdie
0 siblings, 1 reply; 7+ messages in thread
From: Joe Slater @ 2018-01-02 20:00 UTC (permalink / raw)
To: openembedded-core
postinstall scripts may run target binaries and need to know
where shared libraries are.
Signed-off-by: Joe Slater <jslater@windriver.com>
---
meta/classes/allarch.bbclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 51ba509..3749328 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -11,9 +11,8 @@ python () {
# No need for virtual/libc or a cross compiler
d.setVar("INHIBIT_DEFAULT_DEPS","1")
- # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory
- # naming anyway
- d.setVar("baselib", "lib")
+ # Set these to a common set of values, we shouldn't be using them other than for WORKDIR directory
+ # naming anyway. Do not set baselib because postinstall may need to know where shared libraries are.
d.setVar("TARGET_ARCH", "allarch")
d.setVar("TARGET_OS", "linux")
d.setVar("TARGET_CC_ARCH", "none")
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 1/1] allarch: do not set baselib
2018-01-02 20:00 [PATCH 1/1] allarch: do not set baselib Joe Slater
@ 2018-01-02 22:45 ` Richard Purdie
2018-01-03 8:43 ` Alexander Kanavin
0 siblings, 1 reply; 7+ messages in thread
From: Richard Purdie @ 2018-01-02 22:45 UTC (permalink / raw)
To: Joe Slater, openembedded-core
On Tue, 2018-01-02 at 12:00 -0800, Joe Slater wrote:
> postinstall scripts may run target binaries and need to know
> where shared libraries are.
>
> Signed-off-by: Joe Slater <jslater@windriver.com>
> ---
> meta/classes/allarch.bbclass | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
> index 51ba509..3749328 100644
> --- a/meta/classes/allarch.bbclass
> +++ b/meta/classes/allarch.bbclass
> @@ -11,9 +11,8 @@ python () {
> # No need for virtual/libc or a cross compiler
> d.setVar("INHIBIT_DEFAULT_DEPS","1")
>
> - # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory
> - # naming anyway
> - d.setVar("baselib", "lib")
> + # Set these to a common set of values, we shouldn't be using them other than for WORKDIR directory
> + # naming anyway. Do not set baselib because postinstall may need to know where shared libraries are.
> d.setVar("TARGET_ARCH", "allarch")
> d.setVar("TARGET_OS", "linux")
> d.setVar("TARGET_CC_ARCH", "none")
Sorry, but I don't think this can work :/.
Do the sstate sig selftests pass with this change?
I appreciate this will make some things "work" but it will mean that
allarch packages rebuild for each architecture or multilib and that
isn't right either.
So we need a better solution here. Why do we need libdir paths to run
binaries anyway? Is this a libexec issue? Perhaps the things in
question shouldn't be allarch?
Cheers,
Richard
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 1/1] allarch: do not set baselib
2018-01-02 22:45 ` Richard Purdie
@ 2018-01-03 8:43 ` Alexander Kanavin
2018-01-03 21:46 ` Slater, Joseph
2018-01-03 21:56 ` Richard Purdie
0 siblings, 2 replies; 7+ messages in thread
From: Alexander Kanavin @ 2018-01-03 8:43 UTC (permalink / raw)
To: Richard Purdie, Joe Slater, openembedded-core, Burton, Ross
On 01/03/2018 12:45 AM, Richard Purdie wrote:
> Sorry, but I don't think this can work :/.
>
> Do the sstate sig selftests pass with this change?
>
> I appreciate this will make some things "work" but it will mean that
> allarch packages rebuild for each architecture or multilib and that
> isn't right either.
>
> So we need a better solution here. Why do we need libdir paths to run
> binaries anyway? Is this a libexec issue? Perhaps the things in
> question shouldn't be allarch?
I think Ross has spent some time developing a fix for this same issue,
perhaps he can chime in?
Alex
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] allarch: do not set baselib
2018-01-03 8:43 ` Alexander Kanavin
@ 2018-01-03 21:46 ` Slater, Joseph
2018-01-03 21:58 ` Richard Purdie
2018-01-03 21:56 ` Richard Purdie
1 sibling, 1 reply; 7+ messages in thread
From: Slater, Joseph @ 2018-01-03 21:46 UTC (permalink / raw)
To: Alexander Kanavin, Richard Purdie,
openembedded-core@lists.openembedded.org, BURTON, ROSS
Currently, we do have to provide qemuwrapper with LD_LIBRARY_PATH. We could hard-code all possible paths into that and not use ${libdir} and ${base_libdir}. (I tried it and it works.) We could also create a couple of new variables, like original_base_libdir, that don't get clobbered by allarch. Maybe qemuwrapper should be smart enough to compute LD_LIBRARY_PATH...
Joe
-----Original Message-----
From: Alexander Kanavin [mailto:alexander.kanavin@linux.intel.com]
Sent: Wednesday, January 03, 2018 12:43 AM
To: Richard Purdie; Slater, Joseph; openembedded-core@lists.openembedded.org; BURTON, ROSS
Subject: Re: [OE-core] [oe-core][PATCH 1/1] allarch: do not set baselib
On 01/03/2018 12:45 AM, Richard Purdie wrote:
> Sorry, but I don't think this can work :/.
>
> Do the sstate sig selftests pass with this change?
>
> I appreciate this will make some things "work" but it will mean that
> allarch packages rebuild for each architecture or multilib and that
> isn't right either.
>
> So we need a better solution here. Why do we need libdir paths to run
> binaries anyway? Is this a libexec issue? Perhaps the things in
> question shouldn't be allarch?
I think Ross has spent some time developing a fix for this same issue, perhaps he can chime in?
Alex
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 1/1] allarch: do not set baselib
2018-01-03 21:46 ` Slater, Joseph
@ 2018-01-03 21:58 ` Richard Purdie
2018-01-04 17:24 ` Slater, Joseph
0 siblings, 1 reply; 7+ messages in thread
From: Richard Purdie @ 2018-01-03 21:58 UTC (permalink / raw)
To: Slater, Joseph, Alexander Kanavin,
openembedded-core@lists.openembedded.org, BURTON, ROSS
On Wed, 2018-01-03 at 21:46 +0000, Slater, Joseph wrote:
> Currently, we do have to provide qemuwrapper with
> LD_LIBRARY_PATH. We could hard-code all possible paths into that and
> not use ${libdir} and ${base_libdir}. (I tried it and it works.) We
> could also create a couple of new variables, like
> original_base_libdir, that don't get clobbered by allarch. Maybe
> qemuwrapper should be smart enough to compute LD_LIBRARY_PATH...
I suspect somehow we therefore need to decouple qemuwrapper from the
target packages and just ensure that a separate script is available in
PATH when the rootfs is generated?
The rootfs should know which multilibs are enabled and be able to
generate the wrapper correctly?
Cheers,
Richard
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 1/1] allarch: do not set baselib
2018-01-03 21:58 ` Richard Purdie
@ 2018-01-04 17:24 ` Slater, Joseph
0 siblings, 0 replies; 7+ messages in thread
From: Slater, Joseph @ 2018-01-04 17:24 UTC (permalink / raw)
To: Richard Purdie, Alexander Kanavin,
openembedded-core@lists.openembedded.org, BURTON, ROSS
We should change fontcache.bbclass to not pass libdir, etc, to the update_font_cache script, since the environment will be set when the script executes.
That would solve the original problem, but it leaves the general problem of matching LD_LIBRARY_PATH for postinstall intercepts to the multilib for which the target binaries they run were compiled. Or, of generating a LD_LIBRARY_PATH containing all possible paths for the rootfs being constructed.
Joe
________________________________________
From: Richard Purdie [richard.purdie@linuxfoundation.org]
Sent: Wednesday, January 03, 2018 1:58 PM
To: Slater, Joseph; Alexander Kanavin; openembedded-core@lists.openembedded.org; BURTON, ROSS
Subject: Re: [OE-core] [oe-core][PATCH 1/1] allarch: do not set baselib
On Wed, 2018-01-03 at 21:46 +0000, Slater, Joseph wrote:
> Currently, we do have to provide qemuwrapper with
> LD_LIBRARY_PATH. We could hard-code all possible paths into that and
> not use ${libdir} and ${base_libdir}. (I tried it and it works.) We
> could also create a couple of new variables, like
> original_base_libdir, that don't get clobbered by allarch. Maybe
> qemuwrapper should be smart enough to compute LD_LIBRARY_PATH...
I suspect somehow we therefore need to decouple qemuwrapper from the
target packages and just ensure that a separate script is available in
PATH when the rootfs is generated?
The rootfs should know which multilibs are enabled and be able to
generate the wrapper correctly?
Cheers,
Richard
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] allarch: do not set baselib
2018-01-03 8:43 ` Alexander Kanavin
2018-01-03 21:46 ` Slater, Joseph
@ 2018-01-03 21:56 ` Richard Purdie
1 sibling, 0 replies; 7+ messages in thread
From: Richard Purdie @ 2018-01-03 21:56 UTC (permalink / raw)
To: Alexander Kanavin, Joe Slater, openembedded-core, Burton, Ross
On Wed, 2018-01-03 at 10:43 +0200, Alexander Kanavin wrote:
> On 01/03/2018 12:45 AM, Richard Purdie wrote:
> >
> > Sorry, but I don't think this can work :/.
> >
> > Do the sstate sig selftests pass with this change?
> >
> > I appreciate this will make some things "work" but it will mean
> > that
> > allarch packages rebuild for each architecture or multilib and that
> > isn't right either.
> >
> > So we need a better solution here. Why do we need libdir paths to
> > run
> > binaries anyway? Is this a libexec issue? Perhaps the things in
> > question shouldn't be allarch?
>
> I think Ross has spent some time developing a fix for this same
> issue, perhaps he can chime in?
I think he did, I think I also pointed him at the sstate signature
tests and that caused some problems. Ross may be able to elaborate
more...
Cheers,
Richard
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-01-04 17:24 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-02 20:00 [PATCH 1/1] allarch: do not set baselib Joe Slater
2018-01-02 22:45 ` Richard Purdie
2018-01-03 8:43 ` Alexander Kanavin
2018-01-03 21:46 ` Slater, Joseph
2018-01-03 21:58 ` Richard Purdie
2018-01-04 17:24 ` Slater, Joseph
2018-01-03 21:56 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox