Building boost with different gcc version

前端 未结 4 1103
庸人自扰
庸人自扰 2020-12-24 02:07

I have access to server where I need to build boost 1.46. How can I force bootstrap.sh to use /usr/bin/gcc-4.4. By default it uses /usr/bin/gcc and I can\'t figure out how t

相关标签:
4条回答
  • 2020-12-24 02:47

    Update for Boost 1.59

    Now you need to do this:

    echo "using gcc : : /usr/bin/g++44 ; " >> tools/build/src/user-config.jam
    
    0 讨论(0)
  • 2020-12-24 02:54

    I cross built Boost for an ARM toolchain using something like this:

    echo "using gcc : arm-unknown-linux-gnueabi : /usr/local/arm/bin/g++ ; " >> tools/build/v2/user-config.jam
    

    You should be able to do something like this:

    boost version 1.59 and above:

    echo "using gcc : 4.4 : /usr/bin/g++-4.4 ; " >> tools/build/src/user-config.jam
    

    boost version 1.58 and below:

    echo "using gcc : 4.4 : /usr/bin/g++-4.4 ; " >> tools/build/v2/user-config.jam
    

    and then build with

    bjam --toolset=gcc-4.4
    
    0 讨论(0)
  • 2020-12-24 02:55

    For people who like to know the answer for Boost 1.61 on OSX 10.11.6: Sean's answer did not work for me because of the ld: unknown option: -h error mentioned in this boost report. To make it work I replaced gcc by darwin in his command

    echo "using darwin : 6.2 : /usr/local/bin/g++-6 ; " >> tools/build/src/user-config.jam
    

    To compile and install it I used

    ./b2 --toolset=darwin-6.2 --prefix=$HOME/.local/ install
    
    0 讨论(0)
  • 2020-12-24 03:02

    With the most recent version of Boost 1.71 works the below way:

    >export CC=<path to custom gcc>/gcc
    >export CXX=<path to custom gcc>/g++
    >./bootstrap.sh
    >./b2 --toolset=gcc stage threading=multi link=shared
    

    You could check the gcc version used for build with bellow command

    >ldd b2
        linux-vdso.so.1 =>  (0x00007ffcaa5f4000)
        libstdc++.so.6 => <path to custom gcc>/lib64/libstdc++.so.6 (0x00002b85ab701000)
        libm.so.6 => /lib64/libm.so.6 (0x00002b85abaaa000)
        libgcc_s.so.1 => <path to custom gcc>/lib64/libgcc_s.so.1 (0x00002b85abdac000)
        libc.so.6 => /lib64/libc.so.6 (0x00002b85abfc3000)
        /lib64/ld-linux-x86-64.so.2 (0x00002b85ab4dd000)
    
    

    or in bin.v2/project-cache.jam file

    0 讨论(0)
提交回复
热议问题