Giter VIP home page Giter VIP logo

boost's Introduction

Boost for BlackBerry 10

Current Boost Version: 1.52.0.

For the most part, Boost requires almost no changes to work in BlackBerry 10 ("BB10"). All required code changes are pushed upstream whenever possible.

What isn't upstreamed is how to build it, as it is BB10 specific. That can be found here.

In particular, there is a blackberry-config.jam that helps build Boost for the device. There is also a simple bbbb script (bbbb.sh or bbbb.bat) to Build Boost for BlackBerry. Basically the script shows the required command bjam command line for building boost.

Requirements

You must have the BB10 NDK setup in order to build Boost for BB10. It can be downloaded at http:://developer.blackberry.com. The BB10 NDK needs to be in your path for the boost build to work. (ie use the bbndk-env script to help with that.)

Build Instructions

  1. run bbndk-env (.bat or .sh) to set up the BB10 NDK environment variables.
  2. run bootstrap (.bat or .sh) as you normally would to get Boost.Build set up.
  3. (optional) build Boost for your host platform, to check that everything is set up correctly.
  4. run bbbb (.bat or .sh) to build Boost for BlackBerry10.

Tests

Currently, it is not easy to run the tests to verify boost was built correctly. (This is because the tests need to run on device, not locally, and doing that is a bit tricky...)

Note this means much of the boost is untested on BB10 (although much of it is used internally by BlackBerry and tested by other means).

Known Caveats

Boost.Context probably doesn't work on QNX/BB10. Boost.Python only works if you can find a version of python for QNX. (ie find a version of python for linux and you are close, but you will need to build it yourself for QNX.)

Repository Committers

Bug Reporting and Feature Requests

If you find a bug or have an enhancement request, simply file an Issue and send a message (via github messages) to the Committers to the project to let them know that you have filed an Issue.

Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

boost's People

Contributors

hungc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boost's Issues

not able to complie pjsip on ubuntu

hi,

I am trying to compile pjsip on ubuntu according to this document:
http://supportforums.blackberry.com/t5/Native-Development/Porting-PJSIP-PJMEDIA-and-PJLIB-to-BlackBerry-10/ta-p/2085751

when i am executing this command: ./buildpjsip(its on number 8 in document) it is showing these errors:

_cp: cannot create regular file /x86/lib': No such file or directory /home/ahsish/bb10-pjsipdemo-master/pjbuildscripts/pjsip-build /home/ahsish/bb10-pjsipdemo-master/pjbuildscripts /home/ahsish/bb10-pjsipdemo-master/pjbuildscripts/pjsip-build/trunk /home/ahsish/bb10-pjsipdemo-master/pjbuildscripts/pjsip-build /home/ahsish/bb10-pjsipdemo-master/pjbuildscripts Makefile:1: build.mak: No such file or directory Makefile:2: build/host-.mak: No such file or directory make: *_\* No rule to make target build/host-.mak'. Stop.
checking build system type... i686-pc-linux-gnu
checking host system type... i486-pc-nto-qnx8.0.0
checking target system type... i486-pc-nto-qnx8.0.0
checking for i486-pc-nto-qnx8.0.0-gcc... no
checking for gcc... gcc
checking whether the C compiler works... no
aconfigure: error: in/home/ahsish/bb10-pjsipdemo-master/pjbuildscripts/pjsip-build/trunk': aconfigure: error: C compiler cannot create executables See config.log' for more details
Makefile:1: build.mak: No such file or directory
Makefile:2: build/host-.mak: No such file or directory
make: *** No rule to make targetbuild/host-.mak'. Stop. Makefile:1: build.mak: No such file or directory Makefile:2: build/host-.mak: No such file or directory make: **\* No rule to make target build/host-.mak'. Stop.
/home/ahsish/bb10-pjsipdemo-master/pjbuildscripts/pjsip-build /home/ahsish/bb10-pjsipdemo-master/pjbuildscripts
adding: libopencore-amrwb.a (deflated 67%)
adding: libopencore-amrnb.a (deflated 70%)
/home/ahsish/bb10-pjsipdemo-master/pjbuildscripts*

plzzzz help me...thanks in advance..

Shared libraries reference dependencies with absolute paths

Not too sure of the scope of this problem but I am building on Mac OSX for QNX and I noticed that the generated shared object files referenced their dependencies with absolute paths. I.e. ntoarmv7-objdump on libboost_thread.so lists "bin.v2/libs/system/build/qcc/release/target-os-qnxnto/threading-multi/libboost_system.so.1.52.0" in the dependencies section irrespective of the hardcode-dll-path option. This caused problems when trying to deploy the lib to a device. On digging further it seems that HAVE_SONAME is missing from qcc.jam which is causing the -Wl flag to be excluded from the link command in the "actions link.dll bind LIBRARIES" section. Removing HAVE_SONAME solves the problem, i.e:

--- a/tools/build/v2/tools/qcc.jam
+++ b/tools/build/v2/tools/qcc.jam
@@ -232,5 +232,5 @@ rule link.dll ( targets * : sources * : properties * )

actions link.dll bind LIBRARIES
{

  • "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" $(HAVE_SONAME)-Wl,-h$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS)
  • "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-h$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS)
    }

Hopefully this helps someone else save some time :)

Boost fails to build on OSX

When running bootstrap.sh I get the following error in bootstrap.log:

###
### Using 'darwin' toolset.
###
rm -rf bootstrap
mkdir bootstrap
cc -o bootstrap/jam0 command.c compile.c constants.c debug.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c
./bootstrap/jam0 -f build.jam --toolset=darwin --toolset-root= clean
./build.sh: line 15: ./bootstrap/jam0: cannot execute binary file

It looks like the cc command fails to build boostrap/jam0 because none of the .c files are present.

boost_regex undefined reference to

Hi,

I compiled successfully (I guess...) Boost for BB10, but when my program is linking, I get the next 3 errors:

In function `bool boost::regex_match<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, char, boost::regex_traits<char, boost::cpp_regex_traits > >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, boost::regex_constants::_match_flags)':

/build/bb10/out/Default/../../../../sdk/bb10/include/boost/regex/v4/regex_match.hpp:50: undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits > >::match()'


In function perl_matcher': /build/bb10/out/Default/../../../../sdk/bb10/include/boost/regex/v4/perl_matcher.hpp:371: undefined reference toboost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, boost::regex_constants::_match_flags)'


In function bool boost::regex_search<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::string>)': /build/bb10/out/Default/../../../../sdk/bb10/include/boost/regex/v4/regex_search.hpp:56: undefined reference toboost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits > >::find()'

I have static library of boost_regex included in my ldflags, but header files can't access these functions.

At this point, I am thinking that maybe this is an issue of Boost, and the .a file doesn't contain the referred function.

Do you know anything about this?

Thanks in advance

Thread local storage causes exception

When using boost thread local storage a memory access exception occurs. This appears to be due to an invalid pointer to or within a map collection (i.e. a few levels down).

How to compile Boost.Python

I want to compile Boost.Python but this seems to be difficult (according to the comment in blackberry-config.jam)

Each BB10 device comes with Python3.2.2 installed.
Does that at least answer the question, if we need a port of python for blackberry?

error No such file or directory #include <boost/utility/enable_if.hpp>

I have Ubuntu 12.04 and I follow these commands to download and install boost 1.60 :

$ wget -q http://sourceforge.net/projects/boost/files/boost/1.60.0 >/boost_1_60_0.tar.gz
$ tar xf boost_1_60_0.tar.gz
$ mv boost_1_60_0/boost src/

after that I want to try to built a code and I have this error:

 fatal error: boost/utility/enable_if.hpp: No such file or directory
 #include <boost/utility/enable_if.hpp>                   
                                                            ^

compilation terminated.
scons: *** [build/set_hash.o] Error 1
scons: building terminated because of errors.

Do you know why I have this error? thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.