* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains @ 2015-12-04 16:53 Waldemar Brodkorb 2015-12-05 15:52 ` Arnout Vandecappelle 2015-12-13 22:01 ` Thomas Petazzoni 0 siblings, 2 replies; 5+ messages in thread From: Waldemar Brodkorb @ 2015-12-04 16:53 UTC (permalink / raw) To: buildroot Since uClibc-ng 1.0.9 openvmtools can be compiled as the missing euidaccess function was added. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> --- package/openvmtools/Config.in | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in index 64bf65c..528ddbe 100644 --- a/package/openvmtools/Config.in +++ b/package/openvmtools/Config.in @@ -6,7 +6,6 @@ config BR2_PACKAGE_OPENVMTOOLS depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC depends on BR2_ENABLE_LOCALE - depends on !BR2_TOOLCHAIN_USES_UCLIBC select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBDNET help @@ -41,14 +40,13 @@ config BR2_PACKAGE_OPENVMTOOLS_PAM help Support for PAM in openvmtools -comment "PAM support needs an (e)glibc toolchain w/ dynamic library" +comment "PAM support needs an (e)glibc or uClibc toolchain w/ dynamic library" depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL endif -comment "openvmtools needs an (e)glibc or musl toolchain w/ wchar, threads, RPC, locale" +comment "openvmtools needs a toolchain w/ wchar, threads, RPC, locale" depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE || \ - BR2_TOOLCHAIN_USES_UCLIBC + !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains 2015-12-04 16:53 [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains Waldemar Brodkorb @ 2015-12-05 15:52 ` Arnout Vandecappelle 2015-12-05 19:24 ` Waldemar Brodkorb 2015-12-13 22:01 ` Thomas Petazzoni 1 sibling, 1 reply; 5+ messages in thread From: Arnout Vandecappelle @ 2015-12-05 15:52 UTC (permalink / raw) To: buildroot Waldemar, all, On 04-12-15 17:53, Waldemar Brodkorb wrote: > Since uClibc-ng 1.0.9 openvmtools can be compiled as > the missing euidaccess function was added. We actually still support older uClibc-based toolchains, including an internal one based on 0.9.33.2, custom external ones (buildroot or crosstool-NG) that may also be based on that, custom external ones based on -ng pre-1.0.9, and the Blackfin toolchains. This comment is not specific for this patch but rather applies to all packages that will work with -ng but not with 0.9.33.2, and there are ever more of those. There are several things we can do here: - Ignore it and let the user deal with the build failure. - Ignore it and add a comment in the Config.in, so that the user at least is warned. See e.g. rt-tests. This is not a great solution either because the user will not see the comment when there is another package that selects openvmtools. - Depend on an internal -ng toolchain. That sucks pretty hard because you'll often want to build the toolchain once and then use it as an external toolchain. - Kill 0.9.33.2 and depend on an internal toolchain. See above. - Give a more explicit warning in the custom external toolchain and in the 0.9.33.x and snapshot uClibc version choices that some packages may fail to build. This should be combined with an explicit exclusion of the Blackfin binaries (not necessary for openvmtools since it depends on MMU). - Explicitly exclude non-ng toolchains. We can add a hidden symbol for that, and add -ng as a separate option for the custom external toolchain. For this particular patch, that doesn't solve the issue however because it will still fail with uclibc-ng 1.0.8. I don't think any of these options is perfect, but the last one is the least bad IMO. Note that we probably already have a bunch of packages that have this problem, because the only uClibc-based toolchains that we test in the autobuilders are Buildroot-generated, except for the Blackfin ones. We probably should kill the non-ng options in the uclibc package as well. We also should make it more explicit in the documentation of the custom external toolchains that you're on your own. Otherwise, the patch looks good to me though :-) Regards, Arnout > > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> > --- > package/openvmtools/Config.in | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in > index 64bf65c..528ddbe 100644 > --- a/package/openvmtools/Config.in > +++ b/package/openvmtools/Config.in > @@ -6,7 +6,6 @@ config BR2_PACKAGE_OPENVMTOOLS > depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 > depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC > depends on BR2_ENABLE_LOCALE > - depends on !BR2_TOOLCHAIN_USES_UCLIBC > select BR2_PACKAGE_LIBGLIB2 > select BR2_PACKAGE_LIBDNET > help > @@ -41,14 +40,13 @@ config BR2_PACKAGE_OPENVMTOOLS_PAM > help > Support for PAM in openvmtools > > -comment "PAM support needs an (e)glibc toolchain w/ dynamic library" > +comment "PAM support needs an (e)glibc or uClibc toolchain w/ dynamic library" > depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL > > endif > > -comment "openvmtools needs an (e)glibc or musl toolchain w/ wchar, threads, RPC, locale" > +comment "openvmtools needs a toolchain w/ wchar, threads, RPC, locale" > depends on BR2_i386 || BR2_x86_64 > depends on BR2_USE_MMU > depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ > - !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE || \ > - BR2_TOOLCHAIN_USES_UCLIBC > + !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains 2015-12-05 15:52 ` Arnout Vandecappelle @ 2015-12-05 19:24 ` Waldemar Brodkorb 0 siblings, 0 replies; 5+ messages in thread From: Waldemar Brodkorb @ 2015-12-05 19:24 UTC (permalink / raw) To: buildroot Hi Arnout, Arnout Vandecappelle wrote, > Waldemar, all, > > On 04-12-15 17:53, Waldemar Brodkorb wrote: > > Since uClibc-ng 1.0.9 openvmtools can be compiled as > > the missing euidaccess function was added. > > We actually still support older uClibc-based toolchains, including an internal > one based on 0.9.33.2, custom external ones (buildroot or crosstool-NG) that may > also be based on that, custom external ones based on -ng pre-1.0.9, and the > Blackfin toolchains. > > This comment is not specific for this patch but rather applies to all packages > that will work with -ng but not with 0.9.33.2, and there are ever more of those. > > There are several things we can do here: > > - Ignore it and let the user deal with the build failure. > > - Ignore it and add a comment in the Config.in, so that the user at least is > warned. See e.g. rt-tests. This is not a great solution either because the user > will not see the comment when there is another package that selects openvmtools. I don't think any package selects openvmtools. So this would be okay? > - Depend on an internal -ng toolchain. That sucks pretty hard because you'll > often want to build the toolchain once and then use it as an external toolchain. > > - Kill 0.9.33.2 and depend on an internal toolchain. See above. > > - Give a more explicit warning in the custom external toolchain and in the > 0.9.33.x and snapshot uClibc version choices that some packages may fail to > build. This should be combined with an explicit exclusion of the Blackfin > binaries (not necessary for openvmtools since it depends on MMU). Openvm-tools is x86/x86_64 only, so other architectures are not involved anyway. > - Explicitly exclude non-ng toolchains. We can add a hidden symbol for that, and > add -ng as a separate option for the custom external toolchain. For this > particular patch, that doesn't solve the issue however because it will still > fail with uclibc-ng 1.0.8. > > > I don't think any of these options is perfect, but the last one is the least > bad IMO. > > > Note that we probably already have a bunch of packages that have this problem, > because the only uClibc-based toolchains that we test in the autobuilders are > Buildroot-generated, except for the Blackfin ones. > > We probably should kill the non-ng options in the uclibc package as well. We > also should make it more explicit in the documentation of the custom external > toolchains that you're on your own. That would be the best, but I am a bit biased ;) uClibc upstream master get no updates since 5 months or so. I think even the snapshot version is getting of no use ;) > Otherwise, the patch looks good to me though :-) Okay ;) best regards Waldemar ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains 2015-12-04 16:53 [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains Waldemar Brodkorb 2015-12-05 15:52 ` Arnout Vandecappelle @ 2015-12-13 22:01 ` Thomas Petazzoni 2015-12-13 22:30 ` Waldemar Brodkorb 1 sibling, 1 reply; 5+ messages in thread From: Thomas Petazzoni @ 2015-12-13 22:01 UTC (permalink / raw) To: buildroot Dear Waldemar Brodkorb, On Fri, 4 Dec 2015 17:53:30 +0100, Waldemar Brodkorb wrote: > Since uClibc-ng 1.0.9 openvmtools can be compiled as > the missing euidaccess function was added. > > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> > --- > package/openvmtools/Config.in | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) Arnout explained very well that this patch is not super great due to the need to keep things working with older uClibc toolchains. Could you instead cook a patch that changes openvmtools to detect if euidaccess() is available or not. If it is available, then it uses it, otherwise, it open-codes it (the euidaccess implementation in uClibc is just one line, so it's not a big deal to copy that in the openvmtools source code). Are you willing to implement such a solution? I'd say that within 6/12 months, we should be able to kill non-ng uClibc support. Blackfin will be a problem... but Blackfin has always been a problem. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains 2015-12-13 22:01 ` Thomas Petazzoni @ 2015-12-13 22:30 ` Waldemar Brodkorb 0 siblings, 0 replies; 5+ messages in thread From: Waldemar Brodkorb @ 2015-12-13 22:30 UTC (permalink / raw) To: buildroot Hi Thomas, Thomas Petazzoni wrote, > Dear Waldemar Brodkorb, > > On Fri, 4 Dec 2015 17:53:30 +0100, Waldemar Brodkorb wrote: > > Since uClibc-ng 1.0.9 openvmtools can be compiled as > > the missing euidaccess function was added. > > > > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> > > --- > > package/openvmtools/Config.in | 8 +++----- > > 1 file changed, 3 insertions(+), 5 deletions(-) > > Arnout explained very well that this patch is not super great due to > the need to keep things working with older uClibc toolchains. Could you > instead cook a patch that changes openvmtools to detect if euidaccess() > is available or not. If it is available, then it uses it, otherwise, it > open-codes it (the euidaccess implementation in uClibc is just one > line, so it's not a big deal to copy that in the openvmtools source > code). > > Are you willing to implement such a solution? Not sure it is worth. I am not using openvmtools on embedded systems, so may be I just wait ;) > I'd say that within 6/12 months, we should be able to kill non-ng > uClibc support. Blackfin will be a problem... but Blackfin has always > been a problem. I recently done some testing with Blackfin. Latest binutils/gcc development versions might be usable to get back an internal toolchain support, whenever they make a new release. (speaking about binutils 2.26 and gcc 6). best regards Waldemar ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-12-13 22:30 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-12-04 16:53 [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains Waldemar Brodkorb 2015-12-05 15:52 ` Arnout Vandecappelle 2015-12-05 19:24 ` Waldemar Brodkorb 2015-12-13 22:01 ` Thomas Petazzoni 2015-12-13 22:30 ` Waldemar Brodkorb
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox