| Submitter | Christopher Larson |
|---|---|
| Date | Jan. 10, 2012, 7:51 p.m. |
| Message ID | <1326225078-18652-1-git-send-email-kergoth@gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/18967/ |
| State | Accepted |
| Commit | dd05e06b89906002f68d616a6326c962e725bc54 |
| Headers | show |
Comments
On Tue, Jan 10, 2012 at 01:51:18PM -0600, Christopher Larson wrote: > From: Christopher Larson <chris_larson@mentor.com> > > For target, both base_libdir and libdir in sysroot can be used, as we pass > --sysroot to the toolchain. For native, we don't do this, and we also only add > -L<sysroot>/${libdir}, not -L<sysroot>/${base_libdir}, resulting in other > native recipes (like readline-native) failing to find the ncurses libraries. > > readline-native only built successfully on hosts where it could fall back to > their ncurses/termcap rather than the one in the sysroot. Fixes issues I'm seeing while rebuilding from scratch, thanks! Acked-by: Martin Jansa <Martin.Jansa@gmail.com> > > Signed-off-by: Christopher Larson <chris_larson@mentor.com> > --- > meta/recipes-core/ncurses/ncurses.inc | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc > index 8321d7b..43303b7 100644 > --- a/meta/recipes-core/ncurses/ncurses.inc > +++ b/meta/recipes-core/ncurses/ncurses.inc > @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc > SECTION = "libs" > DEPENDS = "ncurses-native" > DEPENDS_virtclass-native = "" > -INC_PR = "r3" > +INC_PR = "r4" > > inherit autotools binconfig multilib_header > > @@ -26,8 +26,8 @@ ENABLE_WIDEC ?= "true" > # builds. > BUILD_CPPFLAGS += "-D_GNU_SOURCE" > > -# tic from the -native build cannot run without setting this explicitly > -BUILD_LDFLAGS_virtclass-native += "-Wl,-rpath,${base_libdir}" > +# natives don't generally look in base_libdir > +base_libdir_virtclass-native = "${libdir}" > > # Helper function for do_configure to allow multiple configurations > # $1 the directory to run configure in > -- > 1.7.8.rc4 > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Christopher Larson <kergoth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: > --- a/meta/recipes-core/ncurses/ncurses.inc > +++ b/meta/recipes-core/ncurses/ncurses.inc > ... > +# natives don't generally look in base_libdir > +base_libdir_virtclass-native = "${libdir}" I do not think that this should be done per recipe (afais, at least libusb is affected by the same issue). Adding '-L<baselibdir>' and the '-Wl,-rpath-link' + '-Wl,-rpath' options to BUILD_LDFLAGS would be a more general solution. Enrico
On Thu, Jan 12, 2012 at 7:25 AM, Enrico Scholz <enrico.scholz@sigma-chemnitz.de> wrote: > Christopher Larson <kergoth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > writes: > >> --- a/meta/recipes-core/ncurses/ncurses.inc >> +++ b/meta/recipes-core/ncurses/ncurses.inc >> ... >> +# natives don't generally look in base_libdir >> +base_libdir_virtclass-native = "${libdir}" > > I do not think that this should be done per recipe (afais, at least > libusb is affected by the same issue). > > Adding '-L<baselibdir>' and the '-Wl,-rpath-link' + '-Wl,-rpath' options > to BUILD_LDFLAGS would be a more general solution. Alternatively, could simplify the layout of the native sysroot and adjust things in the native class. It could make a certain amount of sense, as it makes more sense for our structure for native to match the host than it does the target.
On 01/16/2012 07:32 AM, Chris Larson wrote: > On Thu, Jan 12, 2012 at 7:25 AM, Enrico Scholz > <enrico.scholz@sigma-chemnitz.de> wrote: >> Christopher Larson<kergoth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >> writes: >> >>> --- a/meta/recipes-core/ncurses/ncurses.inc >>> +++ b/meta/recipes-core/ncurses/ncurses.inc >>> ... >>> +# natives don't generally look in base_libdir >>> +base_libdir_virtclass-native = "${libdir}" >> >> I do not think that this should be done per recipe (afais, at least >> libusb is affected by the same issue). >> >> Adding '-L<baselibdir>' and the '-Wl,-rpath-link' + '-Wl,-rpath' options >> to BUILD_LDFLAGS would be a more general solution. > > Alternatively, could simplify the layout of the native sysroot and > adjust things in the native class. It could make a certain amount of > sense, as it makes more sense for our structure for native to match > the host than it does the target. So, Chris, are you going to implement this and do we drop the ncurses patch for now? Sau!
On 16/01/12 09:45, Saul Wold wrote: > On 01/16/2012 07:32 AM, Chris Larson wrote: >> On Thu, Jan 12, 2012 at 7:25 AM, Enrico Scholz >> <enrico.scholz@sigma-chemnitz.de> wrote: >>> Christopher Larson<kergoth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >>> writes: >>> >>>> --- a/meta/recipes-core/ncurses/ncurses.inc >>>> +++ b/meta/recipes-core/ncurses/ncurses.inc >>>> ... >>>> +# natives don't generally look in base_libdir >>>> +base_libdir_virtclass-native = "${libdir}" >>> >>> I do not think that this should be done per recipe (afais, at least >>> libusb is affected by the same issue). >>> >>> Adding '-L<baselibdir>' and the '-Wl,-rpath-link' + '-Wl,-rpath' options >>> to BUILD_LDFLAGS would be a more general solution. >> >> Alternatively, could simplify the layout of the native sysroot and >> adjust things in the native class. It could make a certain amount of >> sense, as it makes more sense for our structure for native to match >> the host than it does the target. > > So, Chris, are you going to implement this and do we drop the ncurses > patch for now? We need to merge something to resolve this issue sooner rather than later, I had to apply this change in order to build on a system without ncurses installed. Cheers, Joshua
On Mon, Jan 16, 2012 at 10:45 AM, Saul Wold <sgw@linux.intel.com> wrote: > On 01/16/2012 07:32 AM, Chris Larson wrote: >> >> On Thu, Jan 12, 2012 at 7:25 AM, Enrico Scholz >> <enrico.scholz@sigma-chemnitz.de> wrote: >>> >>> Christopher Larson<kergoth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >>> writes: >>> >>>> --- a/meta/recipes-core/ncurses/ncurses.inc >>>> +++ b/meta/recipes-core/ncurses/ncurses.inc >>>> ... >>>> +# natives don't generally look in base_libdir >>>> +base_libdir_virtclass-native = "${libdir}" >>> >>> >>> I do not think that this should be done per recipe (afais, at least >>> libusb is affected by the same issue). >>> >>> Adding '-L<baselibdir>' and the '-Wl,-rpath-link' + '-Wl,-rpath' options >>> to BUILD_LDFLAGS would be a more general solution. >> >> >> Alternatively, could simplify the layout of the native sysroot and >> adjust things in the native class. It could make a certain amount of >> sense, as it makes more sense for our structure for native to match >> the host than it does the target. > > > So, Chris, are you going to implement this and do we drop the ncurses patch > for now? Enrico sent his general change in a patch series already. Someone will need to make the call on the preferred long term solution.
On 01/10/2012 11:51 AM, Christopher Larson wrote: > From: Christopher Larson<chris_larson@mentor.com> > > For target, both base_libdir and libdir in sysroot can be used, as we pass > --sysroot to the toolchain. For native, we don't do this, and we also only add > -L<sysroot>/${libdir}, not -L<sysroot>/${base_libdir}, resulting in other > native recipes (like readline-native) failing to find the ncurses libraries. > > readline-native only built successfully on hosts where it could fall back to > their ncurses/termcap rather than the one in the sysroot. > > Signed-off-by: Christopher Larson<chris_larson@mentor.com> > --- > meta/recipes-core/ncurses/ncurses.inc | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc > index 8321d7b..43303b7 100644 > --- a/meta/recipes-core/ncurses/ncurses.inc > +++ b/meta/recipes-core/ncurses/ncurses.inc > @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc > SECTION = "libs" > DEPENDS = "ncurses-native" > DEPENDS_virtclass-native = "" > -INC_PR = "r3" > +INC_PR = "r4" > > inherit autotools binconfig multilib_header > > @@ -26,8 +26,8 @@ ENABLE_WIDEC ?= "true" > # builds. > BUILD_CPPFLAGS += "-D_GNU_SOURCE" > > -# tic from the -native build cannot run without setting this explicitly > -BUILD_LDFLAGS_virtclass-native += "-Wl,-rpath,${base_libdir}" > +# natives don't generally look in base_libdir > +base_libdir_virtclass-native = "${libdir}" > > # Helper function for do_configure to allow multiple configurations > # $1 the directory to run configure in Merged into OE-Core along with Enrico's Patch. Thanks Sau!
Patch
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 8321d7b..43303b7 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc SECTION = "libs" DEPENDS = "ncurses-native" DEPENDS_virtclass-native = "" -INC_PR = "r3" +INC_PR = "r4" inherit autotools binconfig multilib_header @@ -26,8 +26,8 @@ ENABLE_WIDEC ?= "true" # builds. BUILD_CPPFLAGS += "-D_GNU_SOURCE" -# tic from the -native build cannot run without setting this explicitly -BUILD_LDFLAGS_virtclass-native += "-Wl,-rpath,${base_libdir}" +# natives don't generally look in base_libdir +base_libdir_virtclass-native = "${libdir}" # Helper function for do_configure to allow multiple configurations # $1 the directory to run configure in