Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development Knowledge Base

BlackBerry Native SDK for Tablet OS 1.0 - Supported Features and Known Issues List

by Retired ‎10-27-2011 01:59 PM - edited ‎11-21-2011 03:00 PM (5,660 Views)

Features and Tools

This section lists the key features and tools in the BlackBerry Native SDK for Tablet OS, version 1.0.


  • Tools:
    • GNU Compiler Collection (GCC) 4.4.2 toolchain for cross compiler on armle-v7 and x86
    • GNU debugger (GDB) 6.8 for remote debugging
    • Minimalist GNU for Windows (MinGW) tools for build support (including make)
    • QNX® Momentics® IDE 5.0 for BlackBerry Native SDK for Tablet OS
    • Target-side headers and libraries for BlackBerry Tablet OS release 1.0.7
  • QNX® Momentics® IDE for BlackBerry Native SDK for Tablet OS features:
    • Build integration
    • CVS and Subversion integration
    • Launch and debug applications on BlackBerry Tablet OS devices and simulator
    • Application Profiling
    • Memory Analysis
    • System Monitoring
    • Code Coverage
    • Editor capabilities: syntax highlight, auto-complete, quick fixes, x-reference, source generation, refactoring
  • BlackBerry Platform Services APIs - The BlackBerry Platform Services (BPS) Library Referenceis available in the QNX Momentics IDE. The following BPS APIs are available:
    • Accelerometer
    • Audio device
    • Audio mixer
    • Events
    • Dialog
    • Geolocation
    • Clock status
    • Locale
    • Message queue
    • Multimedia renderer service
    • Navigator
    • Network status
    • Orientation
    • Payment Service
    • Screen
    • Virtual keyboard
  • Support for migrating applications from Beta versions of the native SDK that utilize libraries that have been updated in 1.0. See the BlackBerry Native SDK for Tablet OS Developer’s Guide for more information.
  • Enhanced editing capabilities for packaging – Properties for bar-descriptor.xml can be edited via a capabilities editor. See the QNX Momentics IDE User’s Guide for more information.
  • Support for application developers who want to extend AIR apps by writing part of the application with the BlackBerry Native SDK for Tablet OS. See the BlackBerry Native SDK for Tablet OS Developer’s Guide for more information.
  •  Profiles – The IDE has three user profiles added. Profiles provide a way to hide functionality that isn’t needed for all developer types. The profiles are:
    • BlackBerry Tablet OS Application Developer
    • BlackBerry Tablet OS System Developer
    • QNX System Developer

For more information on profiles, see the QNX Momentics IDE User’s Guide.

  • BlackBerry Tablet OS Deployment Setup Wizard – This wizard walks you through configuring your environment for creating applications and deploying them to your device.
  • Documentation, samples, and tutorials, to help you create applications.


Known issues

This section lists known issues for the BlackBerry Native SDK for Tablet OS, version 1.0.





The documentation that is installed with the BlackBerry Native SDK for Tablet OS and available from the Momentics IDE may not be the most recent version. For the latest versions go to http://developer.blackberry.com/native.

PR 114986

When using Ubuntu 64-bit and registering with the RIM Signing Authority you may receive the error
"Error registering long term keys Error: null".
If this is the case you must update the script located at
to include the line

PR 109569

The BlackBerry Platform Services (BPS) for C/C++ Developers documentation in the QNX Momentics IDE help refers to the sound player service (soundplayer.h).  This header file is not included in this release of the BlackBerry Native SDK for Tablet OS.
For the most recent documentation of the BPS libraries, refer to http://developer.blackberry.com/native.

PR 95103

Applications using FreeType must add the following include path:





PR 115276

On Linux systems, the native SDK installer fails if the launch command contains

PR 113911

On Linux and Mac host computers, the installer might crash when launching with an error similar to the following:
“An internal LaunchAnywhere application error has occurred and this application cannot proceed.”
Unset the PS1 variable and restart the installation program to continue.  

PR 111661

On Mac OS X, the installer might quit unexpectedly after the initial authentication step. If this occurs, follow these instructions:
  1. From Finder, extract the installer by double-clicking on the installation archive installer-bbndk-1.0-macosx-nnnn-nnnnnnnnnnnn-nnnnnnnnnnnn.zip. An application installer-bbndk1.0 is created in the package directory installer-bbndk1.0.app Note: Because you will be renaming directories and editing xml files in the steps below, create a copy of this directory as a backup in case you need it later.
  2. Open a terminal window and type: cd /installer-bbndk1.0.app/Contents/Resources/ You’ll see another installer-bbndk1.0.app directory. Rename the second installer-bbndk1.0.app directory. For example, to inst.app. (Whatever name you choose, ensure you use it in place of instin the instructions below.)
  3. Open the xml file
  4. Search for
    and replace it with
  5. Rename
  6. Type
    cd ..
  7. Open the xml file installer-bbndk1.0.app/Contents/Info.plist
  8. Search for
    Contents/Resources/installer-bbndk1.0.app/Contents/MacOS/installer-bbndk1.0 and replace it with

PR 111081

On Mac host computers, when you unzip the downloaded installation zip file, you may encounter an issue with incorrect permissions on the executable installer-bbndk1.0.
In order to launch the installation program, you will first need to manually change the permissions for installer-bbndk1.0.

PR 110605

You might get a warning after uninstalling the native SDK that some directories couldn’t be removed. This can be ignored.

PR 108378

On Mac host computers, when you attempt to install the native SDK to a location other than the default installation directory, you may need to change the permissions on that directory to create new subdirectories beneath it.

PR 108355

If you unzip the native SDK installer on a Mac host computer from the command line, the permissions on the extracted files are incorrect and the installer will not launch.
To launch the installer for Mac host computers, double-click the downloaded zip file in Finder to create the executable installer-bbndk1.0. This executable can then be used to launch the installation program.

PR 105458

When installing and uninstalling the native SDK on a 64-bit Linux host computer, you may see an error regarding a missing libc.so.6 file. You can disregard this error message.

PR 104311

On Windows 7, do not pin the Momentics IDE application to the taskbar because the pin launcher does not set the required environment variables.

PR 101111

In order to run the installer and the IDE on Ubuntu 64-bit, you need to install the 32-bit libraries:

sudo apt-get install ia32-libs

Answer yes to all the questions.

PR 97829

The installer provides recommendations on the space required to install the native SDK. The number may be low and should be as follows:
  • Mac OS X: 1000MB
  • Linux: 1800MB
  • Windows: 1600MB




PR 115533

AL_DATA is incorrectly documented as a valid buffer property in the OpenAL Programmers Guide on pages 12, 17, 31, and 33. An attempt to retrieve this property through alGetBufferi() and alGetBufferiv() will result in an AL_INVALID_ENUM error.

PR 115409

The function alutGetError() does not return ALUT_ERROR_ALC_ERROR_ON_ENTRY when there was already an ALC error on entry to alutLoadMemoryFromFileImage().

PR 115338

The function alSourcef() throws an AL_INVALID_VALUE error for valid values when using AL_CONE_INNER_ANGLE and AL_CONE_OUTER_ANGLE.

PR 115325

The function alSource3f() does not throw an AL_INVALID_VALUE error when invalid numbers are passed as parameters. Apps should perform their own validity checking.

PR 115341

No error is thrown when the function alutLoadWAVFile() is called without a current context.

PR 115262

The function alSourceQueueBuffers() queues invalid buffers. If you pass a NULL buffer to this function, it will queue the buffer and not raise an error, even though the buffer is not valid.

PR 115051

Apps that use the alutSleep() function app may exit before the audio finishes.When the app is run using blackberry-deploy with -launchApp option, the app exits correctly after the audio finishes,  but when run from the GUI, the app exits before the audio finishes playing.

PR 112884

Certain functions such as alutCreateBufferFromFileImage(), when called with a NULL file pointer, might crash the application, instead of throwing an ALUT Error, such as ALUT_ERROR_IO_ERROR.

PR 112769

Currently, you cannot create two contexts with different attributes by calling alcCreateContext(). Errors are produced after attempting to create the second context, you can no longer call alcOpenDevice(), and sound is no longer playable in other openAL apps.

PR 112763

The function alcGetString(device, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER), throws an error where invoked after the device has been closed. It should return the default device and ignore the device parameter.

PR 111936

The function alcGetIntegerv() does not throw an error when  retrieving ALC_MAJOR_VERSION and passing an invalid device pointer.




PR 115893

Screen events may be dispatched for a brief period after screen_stop_events() is called.

PR 115754

Applications that call bps_shutdown() exit abruptly when run in debug mode on the simulator. Breakpoints set after calls to bps_shutdown() will not be reached.

PR 114347

glPointSizePointerOES is missing from the OpenGL ES 1.1 libraries shipped with this release of the native SDK.

PR 112769

Currently, you cannot create two contexts with different attributes by calling alcCreateContext(). Errors are produced after attempting to create the second context, you can no longer call alcOpenDevice(), and sound is no longer playable in other openAL apps.

PR 110330

An OpenGL ES 2.0 application can be created using the empty project template.

PR 104994

The OpenAL library in target-override (/bbndk-1.0/target/target-override) is missing static libraries that are required for recursive makefile to resolve dependencies. If you are using recursive makefiles, you can create an empty file with name of the library and a .a extension to resolve build problems.

PR 103215

The EGL function eglChooseConfig does not return a valid configuration in this release and may cause your application to crash or exit prematurely on the BlackBerry PlayBook Tablet Simulator.
As a workaround for this release, use the eglGetConfigs function to obtain a proper EGL configuration.




PR 116617

The VideoPlaybackTutorial sample used in the Play a video tutorial does not play properly on the simulator. The application opens, but closes before playing.

PR 116616

The sample, KeyboardSample, used in the Keyboard tutorial does not play properly on the simulator. The application launches, but the keyboard flickers. You can click on the keys and the events register, however the keyboard eventually vanishes after you hit a key.

PR 115679

When building and running the PlayWave sample in the simulator using the Code Coverage build, the application is interrupted and closed before the actual end, interrupting the playback.

PR 115612

The sample application, Good Citizen, might not behave as expected when launched on the simulator. The spinning cube might be missing.

PR 115603

The simulator contains Airplane and Wifi settings, but wifi does not work in the simulator, rendering these settings unnecessary.

PR 114310

Rendering issues may occur in the simulator after launching and exiting the browser.

PR 111445

Some built-in shader functions can fail, and also cause the rest of the shader to fail at runtime. The shader will still compile and link successfully. Known functions include “sign, acos, asin, atan, normalize”.

PR 110246

VMware Player can stall and become unresponsive if a very busy OpenGLES draw loop is being executed without yielding to the system between frames. It is recommended that an application sleep or yield between frames.

PR 107022

If you launch the Falling Blocks sample application on the simulator with Code Coverage enabled, the swipe down gesture does not clear the cubes as expected.


Integrated Development Environment and Tools

PR 116513

When using postmortem debugging, you might see the following error:

"Cannot create local debug session with QNX GDB Debugger"

Remove the core file path from the launch configuration (leave blank) and you will be prompted to enter the core file when you launch.

PR 115867

Changes to package contents and application permissions made in the Export > Release Build wizard will not take effect on that build of the BAR package, but only the next and subsequent builds.  To ensure correct results, make the necessary changes in the bar-descriptor.xml editor before running the Export Release Build wizard.

PR 115862

The $QNX_HOST/usr/bin/mkbuild utility for headless execution of IDE builds on BlackBerry Tablet OS C/C++ Projects does not function on Mac OS X.  To work around the problem, change the statement near the end of the script from:




PR 115800

If you are running the Export > Release Build wizard and get an “Invocation Target Exception", please ensure you set-up signing keys using signing preference page or wizard. You cannot export an application before setting up signing keys.

PR 115834

If you are linking against OpenAl, you may see an error similar to the following:

make[2]: *** No rule to make target `libOpenAL.a', needed by `C:/dev/blocks/arm/o.le.v7/bblocks'.  Stop.

PR 115797

The $QNX_HOST/usr/bin/mkbuild utility for performing builds of BlackBerry Tablet OS C/C++ projects using the headless IDE reports numerous exceptions and eventually a failed build, but in most cases the projects do successfully generate their output binaries.  To avoid this issue, makefile projects may be used to run make without launching the headless IDE.  The native SDK's recursive makefiles can help to manage building multiple projects with dependencies.

PR 115596

Digits typed into the Build Number field in the General page of the bar-descriptor.xml editor might be entered in reverse order.  To avoid this issue, edit the <buildId> XML element in the Source page of the editor or use the Create build number file action to externalize the build number and let the BAR packager increment it automatically.

PR 115544

If you attempt to generate a BAR package in a location that is specified as a folder in your bar-descriptor.xml assets, the packager hangs.

PR 115416

On Mac OS X platforms, if the target path of a folder asset is deleted in the Assets page of the bar-descriptor.xml editor, attempting to set a new target path can result in the IDE hanging.  To avoid this problem, if the target path of a folder asset is empty, set it by editing the XML source in the Source page of the bar-descriptor.xml editor.

PR 115391

Using the option “Only upload binaries and libraries into existing application”, an incremental deployment of an application does not upload shared libraries.

PR 115253

On some systems, in the bar-descriptor.xml editor, you might be unable to access the file system via Add > File System on the Assets page.

As a workaround, you can drag and drop files from your system directly onto the Assets page in the Assets section.

PR 115150

Memory Leaks are only reported when an application exits normally. If it is killed or crashes, memory leaks will not be reported. To report memory leaks in this case, the API should be used.

PR 115119

If you are debugging, you may see the warning:

"libbps.so.1 does not match target file”

You can ignore the warning.

PR 115116

The Tool Settings tab on the C/C++ Build Properties dialog shows the Enable Call Count Profiling checkbox. BlackBerry Tablet OS System Developer Profile enables call count profiling options, but the option in this dialog does not work in this release of the native SDK.

PR 115045

When opening the contents of a BAR file in an editor, the editor may not display the entire contents of the BAR manifest.
As a workaround, uncompress the contents of the BAR file and open the META-INF/MANIFEST.MF file to view its entire contents.

PR 114742

Do not launch application with Application Profiler enabled in debug mode. This might hang the IDE.

PR 111911

To use the breakpoint command GDB Command Action, you need switch your debug framework to CDI.
  1. Click Run > Debug Configurations.
  2. Select your application, and on the Main tab, click Select Otherat the bottom of the page.
  3. Select CDI Debugging Framework (Traditional) Launcher, and click OK.

PR 111197

The native SDK ships static libraries for most of the libraries of the platform, however, we recommend using shared libraries where possible to reduce your application footprint and to take advantage of bug fixes in the platform.

PR 110291

When debugging, to see your application output you have to select an application entry in the debug view. To prevent this console switching to another console, pin the view using the pin command.

PR 108952

The Deployment Setup Wizard incorrectly displays a debug token as uploaded to a device even if the debug token indicated has been removed from the device. If you finish the wizard, the debug token will not be uploaded to the device.
Ensure you upload your debug token using the Deployment Setup Wizard, or see the QNX Momentics IDE User’s Guide for more information regarding uploading debug tokens.

PR 106258

Memory backtrace is missing the first frame on device.

Workaround: Package your application with librcheck.so.1 from


  1. In the IDE, double-click the bar-descriptor.xml file inside your application project.
  2. Click the Assets tab.
  3. Click Add… to browse your system for 
  4. Alternatively, locate the files in your host system’s file browser and drag them to the Assets section.
  5. Click Save.

PR 105884

The launcher blocks the SIGCHLD, SIGURG, and SIGPROF signals for its own purposes. When the launcher starts a process (such as an app), the new process inherits this setting. If SIGCHLD is blocked, the process won’t be notified if any of its child processes end. Most apps won’t need to unblock the other two signals.

Workaround: Use the sigaction() function to unblock SIGCHLD. For more information, see the QNX Neutrino C Library Reference.

PR 103274

The Combine Sessions action in the Code Coverage tool only works for standard makefile project. To create a standard make file project:

  1. From the File menu, select NewBlackBerry PlayBook C/C++ Project .
  2. In the resulting dialog, give your project a name, and then click Next.
  3. Select a project from the Makefile Build catalog.

PR 103167

Selecting Perform full heap integrity check on every allocation/deallocation in the Memory Analysis tool might cause the application to terminate when started on the target.

Workaround: Package your application with librcheck.so.1 from


  1. In the IDE, double-click the bar-descriptor.xml file inside your application project.
  2. Click the Assets tab.
  3. Click Add… to browse your system for
    /bbndk-1.0/target/target-override/armle-v7/usr/lib/librcheck.so.1. Alternatively, locate the files in your host system’s file browser and drag them to the Assets section.
  4. Click Save.

PR 103166

When you use the Memory Analysis tool, you may see an empty graph with the warning “No graphical input”.  This is by design for security reasons and this information is unsupported for BlackBerry Tablet OS targets.

PR 97113

Standard makefile projects cannot be named “makefile”. Use a different name for your project.

Users Online
Currently online: 26 members 1,132 guests
Please welcome our newest community members: