Boost test failures on arm platform
Hello! I'm cross-compiling Boost to an arm platform and because of that, boost fails to execute the cxx11_* tests and then it outputs the information that the compiler does not support a series of cxx11_* capabilities. Is there a way to disable these library tests, when cross-compiling? -- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
It seems that, because i'm cross-compiling, the boost building system is trying to check if the compiler supports all of those c++11 features. The thing is, in order to do that, the build system compiles a sheet of code. One of those files is this one: boost_1_62_0/libs/rational/test/constexpr_test.cpp Then, the build system does what no one would think when using a cross-compiler... it tries to execute the resultant binary on the host computer... It obviously fails. That is happening for all of those cxx11_ tests. Because of this, I'm unable to build Boost.Fiber for my Raspberries with OpenWRT. Can anyone help me with a solution? On 10 October 2016 at 11:52, Carlos Ferreira <carlosmf.pt@gmail.com> wrote:
Hello!
I'm cross-compiling Boost to an arm platform and because of that, boost fails to execute the cxx11_* tests and then it outputs the information that the compiler does not support a series of cxx11_* capabilities.
Is there a way to disable these library tests, when cross-compiling?
--
Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
2016-10-10 13:37 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Then, the build system does what no one would think when using a cross-compiler... it tries to execute the resultant binary on the host computer... It obviously fails. That is happening for all of those cxx11_ tests. Because of this, I'm unable to build Boost.Fiber for my Raspberries with OpenWRT.
Can anyone help me with a solution?
you could remove the feature checks in <boost>/libs/fiber/build/Jamfile.v2
Thank you Oliver of the help. Unfortunatly, those dependencies aren't the only ones being executed. There is another dependency that is being executed, which is: "lockfree boost::atomic_flag : no" This dependency is being executed by Boost.Thread. Oliver, does Fiber through Context requires that flag? Because, I can build both Thread And Context, but I still cant build Fiber, even though I removed all of the Fiber requirements. PS: I have opened a tick here: https://svn.boost.org/trac/boost/ticket/12520 On 10 October 2016 at 13:35, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-10 13:37 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Then, the build system does what no one would think when using a cross-compiler... it tries to execute the resultant binary on the host computer... It obviously fails. That is happening for all of those cxx11_ tests. Because of this, I'm unable to build Boost.Fiber for my Raspberries with OpenWRT.
Can anyone help me with a solution?
you could remove the feature checks in <boost>/libs/fiber/build/Jamfile.v2
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
I have removed the "lockfree boost::atomic_flag : no" from Thread but it had no effect. Oliver, besides the Jamfile.v2 required dependencies, is there anything else that might be preventing Boost.Fiber from compiling? On 11 October 2016 at 16:20, Carlos Ferreira <carlosmf.pt@gmail.com> wrote:
Thank you Oliver of the help.
Unfortunatly, those dependencies aren't the only ones being executed. There is another dependency that is being executed, which is: "lockfree boost::atomic_flag : no" This dependency is being executed by Boost.Thread.
Oliver, does Fiber through Context requires that flag? Because, I can build both Thread And Context, but I still cant build Fiber, even though I removed all of the Fiber requirements.
PS: I have opened a tick here: https://svn.boost.org/trac/boost/ticket/12520
On 10 October 2016 at 13:35, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-10 13:37 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Then, the build system does what no one would think when using a cross-compiler... it tries to execute the resultant binary on the host computer... It obviously fails. That is happening for all of those cxx11_ tests. Because of this, I'm unable to build Boost.Fiber for my Raspberries with OpenWRT.
Can anyone help me with a solution?
you could remove the feature checks in <boost>/libs/fiber/build/Jamfile.v2
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
--
Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
Ok, I believe I have found the problem. I remembered that Fiber requires the flag "-fsplit-stack". I added it and the compiler just throwed this error. cc1plus: error: '-fsplit-stack' is not supported by this compiler configuration Olive, I believe this is the reason why Boost Builder is not building Fiber. Can you confirm this, please? On 11 October 2016 at 16:27, Carlos Ferreira <carlosmf.pt@gmail.com> wrote:
I have removed the "lockfree boost::atomic_flag : no" from Thread but it had no effect.
Oliver, besides the Jamfile.v2 required dependencies, is there anything else that might be preventing Boost.Fiber from compiling?
On 11 October 2016 at 16:20, Carlos Ferreira <carlosmf.pt@gmail.com> wrote:
Thank you Oliver of the help.
Unfortunatly, those dependencies aren't the only ones being executed. There is another dependency that is being executed, which is: "lockfree boost::atomic_flag : no" This dependency is being executed by Boost.Thread.
Oliver, does Fiber through Context requires that flag? Because, I can build both Thread And Context, but I still cant build Fiber, even though I removed all of the Fiber requirements.
PS: I have opened a tick here: https://svn.boost.org/trac/boost/ticket/12520
On 10 October 2016 at 13:35, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-10 13:37 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Then, the build system does what no one would think when using a cross-compiler... it tries to execute the resultant binary on the host computer... It obviously fails. That is happening for all of those cxx11_ tests. Because of this, I'm unable to build Boost.Fiber for my Raspberries with OpenWRT.
Can anyone help me with a solution?
you could remove the feature checks in <boost>/libs/fiber/build/Jamfile.v2
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
--
Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
--
Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
'-fsplit-stack' is set automatically if you compile boost with property 'segmented-stacks=on' (on demand growing stacks) - but it is not required per default
Anyway, it did not work :/ I'm still unable to detect why Boost.Fiber is not getting compiled by the Boost system, even though --with-fiber is clearly stated. Boost.Thread, boost.Context and all the other boost libs dependencies are built. On 11 October 2016 at 16:46, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
'-fsplit-stack' is set automatically if you compile boost with property 'segmented-stacks=on' (on demand growing stacks) - but it is not required per default
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
2016-10-11 18:45 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Anyway, it did not work :/ I'm still unable to detect why Boost.Fiber is not getting compiled by the Boost system, even though --with-fiber is clearly stated. Boost.Thread, boost.Context and all the other boost libs dependencies are built.
could you post the complete output of 'b2 toolset=gcc architecture=arm address-model=32 binary-format=elf abi=aapcs --with-fiber'
Ok its here! Bear in mind that I have used the OpenWRT cross compiler, so there is a bit of verbosity. I have used my dropbox in order to share the info, to avoid spamming the mailing list. https://dl.dropboxusercontent.com/u/5802501/BoostFiber_crossCompiling.txt On 11 October 2016 at 18:51, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-11 18:45 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Anyway, it did not work :/ I'm still unable to detect why Boost.Fiber is not getting compiled by the Boost system, even though --with-fiber is clearly stated. Boost.Thread, boost.Context and all the other boost libs dependencies are built.
could you post the complete output of 'b2 toolset=gcc architecture=arm address-model=32 binary-format=elf abi=aapcs --with-fiber'
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
2016-10-12 0:03 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Ok its here! Bear in mind that I have used the OpenWRT cross compiler, so there is a bit of verbosity. I have used my dropbox in order to share the info, to avoid spamming the mailing list.
https://dl.dropboxusercontent.com/u/5802501/BoostFiber_crossCompiling.txt
On 11 October 2016 at 18:51, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-11 18:45 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Anyway, it did not work :/ I'm still unable to detect why Boost.Fiber is not getting compiled by the Boost system, even though --with-fiber is clearly stated. Boost.Thread, boost.Context and all the other boost libs dependencies
are
built.
could you post the complete output of 'b2 toolset=gcc architecture=arm address-model=32 binary-format=elf abi=aapcs --with-fiber'
seams to me that boost.fiber is already build and installed btw, you have to build boost.context too (as a dependency of boost.fiber): 'b2 toolset=gcc architecture=arm> address-model=32 binary-format=elf abi=aapcs --with-fiber --with-context'
I have tried everything. I have even selected all of the libraries and still, Fiber is not getting compiled. No fiber shared object is generated. All the others are. On 12 October 2016 at 06:56, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-12 0:03 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Ok its here! Bear in mind that I have used the OpenWRT cross compiler, so there is a bit of verbosity. I have used my dropbox in order to share the info, to avoid spamming the mailing list.
https://dl.dropboxusercontent.com/u/5802501/BoostFiber_crossCompiling.txt
On 11 October 2016 at 18:51, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-11 18:45 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
Anyway, it did not work :/ I'm still unable to detect why Boost.Fiber is not getting compiled by the Boost system, even though --with-fiber is clearly stated. Boost.Thread, boost.Context and all the other boost libs dependencies are built.
could you post the complete output of 'b2 toolset=gcc architecture=arm address-model=32 binary-format=elf abi=aapcs --with-fiber'
seams to me that boost.fiber is already build and installed
btw, you have to build boost.context too (as a dependency of boost.fiber): 'b2 toolset=gcc architecture=arm> address-model=32 binary-format=elf abi=aapcs --with-fiber --with-context'
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
And that is what keeps me puzzling... also, I do not see any attempt by the building system, to compile any of the Fiber modules. Why is this not happening? Is there some process which could prevent the Fiber modules from being compiled? Some dependency or architecture requirement? The only alternative that I remember is, to completly ignore the Boost building system and create a makefile to build boost, while checking the requirements in another way. On 12 October 2016 at 10:56, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
2016-10-12 10:51 GMT+02:00 Carlos Ferreira <carlosmf.pt@gmail.com>:
I have tried everything. I have even selected all of the libraries and still, Fiber is not getting compiled. No fiber shared object is generated. All the others are.
but the output does not show an error - stange
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
I see that -std=c++11 or -std=c++14 is missing. Try: 'b2 toolset=gcc cxxflags="-std=c++11"architecture=arm address-model=32 binary-format=elf abi=aapcs --with-fiber --with-context' and post the complete output
It's there. If you search for " cxxflags='-std=c++14' " you will see it. I remembered that little detail. Still, there should be an error when trying to build Fiber or other library that requires c++14 or c++11. On 12 October 2016 at 15:20, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
I see that -std=c++11 or -std=c++14 is missing. Try: 'b2 toolset=gcc cxxflags="-std=c++11"architecture=arm address-model=32 binary-format=elf abi=aapcs --with-fiber --with-context' and post the complete output
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
Oliver, I don't know if you noticed, but I have updated the text file that I previously shared. On 12 October 2016 at 19:18, Carlos Ferreira <carlosmf.pt@gmail.com> wrote:
It's there. If you search for " cxxflags='-std=c++14' " you will see it. I remembered that little detail. Still, there should be an error when trying to build Fiber or other library that requires c++14 or c++11.
On 12 October 2016 at 15:20, Oliver Kowalke <oliver.kowalke@gmail.com> wrote:
I see that -std=c++11 or -std=c++14 is missing. Try: 'b2 toolset=gcc cxxflags="-std=c++11"architecture=arm address-model=32 binary-format=elf abi=aapcs --with-fiber --with-context' and post the complete output
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
--
Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
participants (2)
-
Carlos Ferreira
-
Oliver Kowalke