Boost logo

Boost :

Subject: [boost] Boost 1.56 ARM builds broken? (was: Re: [Boost-users] [1.56.0] Beta 1 Available)
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2014-07-21 13:30:28


On 21 Jul 2014 at 6:59, Marshall Clow wrote:

> >> Boost release 1.56.0 beta 1 is now available from SourceForge
> >>
> >>
> > Where does this put us as far as the schedule for the 1.56 final release?
>
> We´re behind schedule; about 10 days.
> Assuming that we can get the problems that people are having with the
> beta fixed, I´d like to roll a release candidate early next week.

On Saturday I finally got AFIO building, though not testing, via the
CI with Boost 1.56. That's 15 hours of effort porting AFIO and its
soak testing CI to modular Boost, much of which was spent figuring
out just how broken/different documentation generation and the b2
tool have become :(

Anyway ... three of the build targets failed, and they are these:

1.
https://ci.nedprod.com/view/Boost.AFIO/job/Boost.AFIO%20Build%20NT_Win
64_VS2010/8/console

2.
https://ci.nedprod.com/view/Boost.AFIO/job/Boost.AFIO%20Build%20POSIX_
ARM_GCC%204.8/9/console

(Barfs about flags -ftemplate-depth-128 and -x not being known)

BTW, the following may be related:

https://stackoverflow.com/questions/17714635/how-can-i-compile-boost-1
-54-0-1-54-for-the-ios-simulator-6-1-on-os-x-10-8-4

Looks like the bad GCC flags have been a problem for years.

3.
https://ci.nedprod.com/view/Boost.AFIO/job/Boost.AFIO%20Build%20POSIX_
ARM_clang%203.4/9/consoleFull

(Over 22Mb of compiler warning and error spew, not least resulting
from clang using the wrong ARM target and it generating illegal
instructions)

I'm happy to accept that VS2010 is being its usual self with C++ 11
code - roll on next year when I can drop V2010 after VS2014 comes
out. But the ARM targets are more worrying - these are running Ubuntu
14.04 LTS on an nVidia Tegra K1 ARM Cortex A15 CI slave, so hardly
ancient. GCC is 4.8.2 and clang is 3.4, both configured for
arm-unknown-linux-gnueabihf.

Yet Boost 1.56 is not compiling with default build options on ARM for
either clang nor GCC - see the logs above.

I also was surprised how badly broken clang is, so here is how it is
being called:

  "clang++" -c -x c++ -O0 -g -fno-inline -Wall -g -pthread -fPIC
-DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_ATOMIC_SOURCE
-I"." -o
"bin.v2/libs/atomic/build/clang-linux-3.4/debug/threading-multi/lockpo
ol.o" "libs/atomic/src/lockpool.cpp"

/tmp/lockpool-426fb3.s: Assembler messages:
/tmp/lockpool-426fb3.s:165: Error: selected processor does not
support ARM mode `ldrexb r1,[r0]'
/tmp/lockpool-426fb3.s:167: Error: selected processor does not
support ARM mode `strexb r2,r3,[r0]'
/tmp/lockpool-426fb3.s:179: Error: selected processor does not
support ARM mode `ldrexb r1,[r0]'
/tmp/lockpool-426fb3.s:181: Error: selected processor does not
support ARM mode `strexb r2,r3,[r0]'
/tmp/lockpool-426fb3.s:197: Error: selected processor does not
support ARM mode `ldrexb r1,[r0]'
/tmp/lockpool-426fb3.s:199: Error: selected processor does not
support ARM mode `strexb r2,r3,[r0]'
/tmp/lockpool-426fb3.s:214: Error: selected processor does not
support ARM mode `ldrexb r1,[r0]'
/tmp/lockpool-426fb3.s:216: Error: selected processor does not
support ARM mode `strexb r2,r3,[r0]'
/tmp/lockpool-426fb3.s:233: Error: selected processor does not
support ARM mode `ldrexb r1,[r0]'
/tmp/lockpool-426fb3.s:235: Error: selected processor does not
support ARM mode `strexb r2,r3,[r0]'
clang: error: assembler command failed with exit code 1 (use -v to
see invocation)

That smells to me like ARM Ubuntu 14.04 has a badly configured clang?
Thoughts?

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ 
http://ie.linkedin.com/in/nialldouglas/



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk