[Buildroot] Analysis of build results for 2015-08-05
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Thu Aug 13 16:32:58 UTC 2015
Hi Waldemar, Thomas,
On Mon, 2015-08-10 at 21:49 +0300, Alexey Brodkin wrote:
> Hi Waldemar,
>
> On Mon, 2015-08-10 at 20:08 +0200, Waldemar Brodkorb wrote:
> > Hi Alexey, Hi Thomas,
> > Alexey Brodkin wrote,
> >
> > > Hi Thomas,
> > >
> > > On Mon, 2015-08-10 at 13:36 +0200, Thomas Petazzoni wrote:
> > > > Dear Alexey Brodkin,
> > > >
> > > > On Mon, 10 Aug 2015 11:26:29 +0000, Alexey Brodkin wrote:
> > > >
> > > > > On Thu, 2015-08-06 at 11:30 +0200, Thomas Petazzoni wrote:
> > > > > > Hello all,
> > > > > > arc | gnuradio-3.7.5 | NOK |
> > > > > > > http://autobuild.buildroot.net/results/d44aec8c82ed6a315322726dd698e6b48990ba76/
> > > > > >
> > > > > > ARC toolchain problem:
> > > > > >
> > > > > > error: '__NR_eventfd' was not declared in this scope
> > > > > >
> > > > > > Alexey, I don't remember, do you have a fix for this one?
> > > > >
> > > > > I already commented on that one.
> > > > > Basically gnuradio includes source from boost and in boost itself they
> > > > > use syscall directly if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 8) which
> > > > > is the case for uClibc, see http://git.uclibc.org/uClibc/tree/include/features.h#n395
> > > > > -------------->8--------------
> > > > > #define __GLIBC__ 2
> > > > > #define __GLIBC_MINOR__ 2
> > > > > -------------->8--------------
> > > > >
> > > > > From Boost standpoint this looks like some sort of backward compatibility for older
> > > > > glibc that didn;'t have eventfd() defined.
> > > > >
> > > > > So probably the best option here is to bump __GLIBC__/__GLIBC_MINOR__ in uClibc.
> > > > > Maybe Waldemar may comment on that?
> > > >
> > > > Can't we instead patch boost to use a || defined(__UCLIBC__) or
> > > > something like that?
> > >
> > > Well we may try but grep for __GLIBC_MINOR__ returns at least 10 files with matches.
> > > That's why I'd prefer to just reuse existing code with __GLIBC__/__GLIBC_MINOR__.
> > >
> > > If we may just say that we're on par with say __GLIBC__=2 __GLIBC_MINOR__=10 that
> > > will cure a problem with Boost.
> > >
> > > Let's get Waldemar's opinion on that and if he says __UCLIBC__ is the way to go we'll
> > > figure out who's going to create that patch :)
> > >
> > > See I sent 2 emails to Boost mailing list:
> > > http://lists.boost.org/Archives/boost/2015/07/224257.php
> > > http://lists.boost.org/Archives/boost/2015/07/224404.php
> > > and haven't heard back.
> > >
> > > So it might take a while until these guys accept our patch if at all.
> >
> > May be we should do both. I can add __GLIBC_MINOR__=10 to uClibc-ng
> > and Alexey tries to get the || defined(__UCLIBC__) included into
> > boost.
> >
> > Alexey, do you think we will get any regression by incrementing the
> > minor number for other architectures? I will try some boost compiles
> > later.
>
> If I knew this for sure I wouldn't ask you :)
> That's why I'm not sure which is a good MINOR number to bump to.
> I'm not sure if 2.2 was intentionally used in the first place in uClibc,
> did that mean that all [important?] features of glibc 2.2 were supported
> in uClibc back in the day?
>
> This is a commit that bumped from 2.1 to 2.2:
> http://git.uclibc.org/uClibc/commit/?id=e83a36ce9f97ac0f59117b3a62fd2dd8461b1fd5
>
> Frankly I may barely see a rationale for that last bump.
> So there're IMHO 3 options for uClibc:
>
> [1] Leave __GLIBC__ versions as they are today (2.2)
> [2] Bump those versions to something that is supposed to fix existing issue
> with Boost and see if it breaks more than fixes
> [3] Do good analysis of glibc features, compare to what we have in uClibc and
> with that knowledge set __GLIBC__ versions in uClibc
>
> > But do not forget, buildroot uses ARC specific uClibc fork, so it
> > will not fix the problem, until we switch to uClibc-ng for ARC.
>
> Well our intention is to drop ARC-specific git repo in favor to upstream
> distributions of uClibc. Even today uClibc in ARC's GitHub is just a mirror
> of master @ git.uclibc.org. But the problem with goode olde uClibc is there're
> no releases so it is useless for us as a method of distribution.
>
> That said for Buildroot I'm about to discontinue uClibc from ARC git and use
> your uClibc-ng instead. So one Buildroot v2015.08 is cut I'll send a patch with
> removal of BR2_UCLIBC_VERSION_ARC_GIT.
I may confirm that http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=4ff3a6c8eb91db71d6dc3d2932b66e848bd20ac3
fixes boost building for ARC.
Waldemar, are you going to send that patch in uClibc mailing-list?
-Alexey
More information about the buildroot
mailing list