Download, extract, and build an existing BSP

To download, extract, and build an existing BSP that you want to update:
  1. Download the QNX 6.5.0 or 6.5.0 SP1 BSP that you want to update to QNX SDP 6.6, and extract it to your desired directory within the QNX SDP 6.6 host environment.
    For this example, we’ll use the following directory structure:
    /root/bsps/sabrelite_650/

    After downloading the BSP, you should have something similar to the following:

    /root/bsps/sabrelite_650/BSP_freescale-imx6q-sabrelite_br-650_be-650sp1_SVNxxxxxx_JBNyy.zip

    where xxxxxx is the SVN ID for the BSP and yy is a unique ID.

  2. Extract the BSP archive using the following command at the prompt:
    # unzip BSP_freescale-imx6q-sabrelite_br-650_be-650sp1_SVNxxxxxx_JBNyy.zip
    For this example, we’ll also have the QNX SDP 6.6 version of the same BSP, extracted to the following location:
    /root/bsps/sabrelite_660/
  3. To build the QNX 6.5.0 BSP, type the following command at the prompt:
    /root/bsps/sabrelite_650/> # make
    Note: At this point, the BSP installation process copies various header files and prebuilt binaries and libraries from the /prebuilt directory for the BSP, to the equivalent location within the /install directory for the BSP. The build process will then attempt to recurse through the various source code directories in the BSP, compiling the code along the way. Typically, this step won't progress too far before the build process halts due to the initial errors it encounters. The output below shows the errors from the first attempt to compile the QNX 6.5.0 SP1 Sabrelite BSP in an QNX 6.6 environment:
    In file included from
    /root/bsps/sabrelite_650/src/lib/dma/../../../install/usr/include/sys/platform.h:265:0,
    from /root/qnx660/target/qnx6/usr/include/stdio.h:30,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:26,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/sys/target_nto.h:93:2: error: #error __OFF_BITS__ value 
                                 is unsupported
    In file included from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:26:0,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/stdio.h:219:37: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/stdio.h:220:1: error: unknown type name 'off_t'
    In file included from /root/qnx660/target/qnx6/usr/include/strings.h:33:0,
    from /root/qnx660/target/qnx6/usr/include/string.h:36,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:29,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/string.h:153:1: error: unknown type name 'errno_t'
    /root/qnx660/target/qnx6/usr/include/string.h:153:46: error: unknown type name 'rsize_t'
    /root/qnx660/target/qnx6/usr/include/string.h:153:73: error: unknown type name 'rsize_t'
    In file included from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:33:0,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/sys/mman.h:184:88: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/sys/mman.h:253:71: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/sys/mman.h:277:75: error: unknown type name 'off_t'
    In file included from /root/qnx660/target/qnx6/usr/include/fcntl.h:36:0,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:39,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/unistd.h:419:1: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:419:34: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:423:80: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:424:87: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:444:37: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:531:44: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:538:41: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:565:1: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:568:1: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/unistd.h:568:35: error: unknown type name 'off_t'
    In file included from /root/qnx660/target/qnx6/usr/include/fcntl.h:40:0,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:39,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/sys/stat.h:152:3: error: #error __OFF_BITS__ value 
                                 is unsupported
    /root/qnx660/target/qnx6/usr/include/sys/stat.h:179:3: error: #error __OFF_BITS__ value 
                                 is unsupported
    In file included from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:39:0,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/fcntl.h:153:3: error: #error __OFF_BITS__ value 
                                 is unsupported
    In file included from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:39:0,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/fcntl.h:243:3: error: #error __OFF_BITS__ value 
                                 is unsupported
    In file included from /root/bsps/sabrelite_650/src/lib/dma/sdma/sdma.h:39:0,
    from /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:23:
    /root/qnx660/target/qnx6/usr/include/fcntl.h:316:36: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/fcntl.h:316:52: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/fcntl.h:317:38: error: unknown type name 'off_t'
    /root/qnx660/target/qnx6/usr/include/fcntl.h:317:54: error: unknown type name 'off_t'
    /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c: In function 'ccb_create':
    /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:89:9: warning: implicit declaration 
                                 of function 'mmap' [-Wimplicit-function-declaration]
    /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:89:17: warning: assignment makes 
                                 pointer from integer without a cast [enabled by default]
    /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:98:9: warning: implicit declaration 
                                 of function 'mem_offset64' [-Wimplicit-function-declaration]
    /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c: In function 'chan_create':
    /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:147:22: warning: assignment makes 
                                 pointer from integer without a cast [enabled by default]
    /root/bsps/sabrelite_650/src/lib/dma/sdma/api.c:174:23: warning: assignment makes 
                                 pointer from integer without a cast [enabled by default]
    cc: /root/qnx660/host/linux/x86/usr/lib/gcc/arm-unknown-nto-qnx8.0.0eabi/4.7.3/cc1 error 1
    make[7]: *** [api.o] Error 1
    make[6]: *** [install] Error 2
    make[5]: *** [install] Error 2
    make[4]: *** [install] Error 2
    make[3]: *** [install] Error 2
    make[2]: *** [install] Error 2
    make[1]: *** [install] Error 2
    make: *** [install] Error 2

    The first error we see is a conflict between the constant __OFF_BITS__, as defined in:

    /root/qnx660/target/qnx6/usr/include/sys/target_nto.h

    and references to this constant within the BSP source code here:

    /src/lib/dma/../../../install/usr/include/sys/platform.h

    For detailed information about interpreting these errors, see Interpret initial results and remove unnecessary files