Welcome!

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


Thank you for visiting the BlackBerry Support Community Forums.

BlackBerry will be closing the BlackBerry Support Community Forums Device Forums on April 1st (Developers, see below)

BlackBerry remains committed to providing excellent customer support to our customers. We are delighted to direct you to the CrackBerry Forums, a well-established and thorough support channel, for continued BlackBerry support. Please visit http://forums.crackberry.com or http://crackberry.com/ask. You can also continue to visit BlackBerry Support or the BlackBerry Knowledge Base for official support options available for your BlackBerry Smartphone.

"When we launched CrackBerry.com 10 years ago, we set out to make it a fun and useful destination where BlackBerry Smartphone owners could share their excitement and learn to unleash the full potential of their BlackBerry. A decade later, the CrackBerry community is as active and passionate as ever and I know our knowledgeable members and volunteers will be excited to welcome and assist more BlackBerry owners with their questions."

- Kevin Michaluk, Founder, CrackBerry.com

Developers, for more information about the BlackBerry Developer Community please review Join the Conversation on the BlackBerry Developer Community Forums found on Inside BlackBerry.


Reply
New Contributor
Posts: 3
Registered: ‎02-07-2012
My Device: PlayBooks 1 and 2
My Carrier: Orange Israel

Building native dynamic library with a non-standard toolchain (Adobe RM SDK)

Adobe RMSDK is known to not honor foreign toolchains, and is not flexible to build under the platform's toolchain.

 

Like on other platforms, we have tried to find the winning solution in trial and error, but have been facing series of blocking problems in PB NDK v2 b3.

 

The latest and greates is an Adobe RM SDK cpp file (hyphenator.cpp) includes math.h which subsequently includes xtgmath.h. The build fails in that file, since it combines standard C calling convention and declaration and instantiation of template types. We can't reproduce it in CPP builds on NDK standard toolchain. We tried to resemble all defines (-D) like in the sample/new project CPP build as hard as we could, but to no avail.

 

The problem is a blocker. We're currently at DevCon Europe and discussed this problem with Suavek and Elena, but they adviced to post it to the forum.

 

Here is the build output:

Compiling hyphenator.cpp
PATH=/opt/bbndk-2.0.0-beta3/host/linux/x86/usr/bin:/opt/bbndk-2.0.0-beta3/host/linux/x86/usr/bin:/etc/rim/bbndk/bin:/opt/bbndk-2.0.0-beta3/host/linux/x86/usr/qde/eclipse/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/testuser/.local/bin:/home/testuser/bin ntoarmv7-gcc -I/home/testuser/qnxrmsdk/hobbes/include -I/home/testuser/qnxrmsdk/hobbes/asapi -I/home/testuser/qnxrmsdk/hobbes/cssparser/Public -I/home/testuser/qnxrmsdk/hobbes/cssparser/Source -I/home/testuser/qnxrmsdk/hobbes/director/public -I/home/testuser/qnxrmsdk/hobbes/director/src -I/home/testuser/qnxrmsdk/hobbes/text/public -I/home/testuser/qnxrmsdk/hobbes/text/src/common -I/home/testuser/qnxrmsdk/hobbes/../embed/public -I/home/testuser/qnxrmsdk/hobbes/layout/public -I/home/testuser/qnxrmsdk/hobbes/../xml/mdom/public -I/home/testuser/qnxrmsdk/hobbes/mrend/public -I/home/testuser/qnxrmsdk/hobbes/splicer/public -I/home/testuser/qnxrmsdk/hobbes/splicer/src -I/home/testuser/qnxrmsdk/hobbes/style/public -I/home/testuser/qnxrmsdk/hobbes/t3rend/public -I/home/testuser/qnxrmsdk/hobbes/ncx/public -I/home/testuser/qnxrmsdk/hobbes/../xml/uft/public -I/home/testuser/qnxrmsdk/hobbes/../xml/wisdom/public -I/home/testuser/qnxrmsdk/hobbes/../xml/xpath/public -I/home/testuser/qnxrmsdk/hobbes/packaging/public -I/home/testuser/qnxrmsdk/hobbes/../xml/metadata/public -I/home/testuser/qnxrmsdk/hobbes/../embed/public -I/home/testuser/qnxrmsdk/hobbes/../embed/util/public -I/home/testuser/qnxrmsdk/hobbes/../t3/embed/public -I/home/testuser/qnxrmsdk/hobbes/../t3/source -I/home/testuser/qnxrmsdk/hobbes/../t3/source/thirdparty/aes/source -I/home/testuser/qnxrmsdk/hobbes/../t3/config -I/home/testuser/qnxrmsdk/hobbes/../thirdparty/xml/axe/public/include/expat -I/home/testuser/qnxrmsdk/hobbes/embed/public -I/home/testuser/qnxrmsdk/hobbes/../CryptUtils/Headers -I/home/testuser/qnxrmsdk/hobbes/../drm/adept/public -I/home/testuser/qnxrmsdk/hobbes/fonts/public -I/home/testuser/qnxrmsdk/hobbes/../t3/source/thirdparty/jp2k/source/common/inc -I/home/testuser/qnxrmsdk/hobbes/../t3/source/thirdparty/jp2k/public/include -I/home/testuser/qnxrmsdk/hobbes/../t3/source/thirdparty/jp2k/include -I/home/testuser/qnxrmsdk/hobbes/../t3/source/thirdparty/jp2k/source/enc/inc -I/home/testuser/qnxrmsdk/hobbes/../t3/source/thirdparty/jp2k/source/dec/inc -I/home/testuser/qnxrmsdk/hobbes/../t3/shared/public -I/home/testuser/qnxrmsdk/hobbes/../dp/public -I/home/testuser/qnxrmsdk/hobbes/../fonts/public -I/home/testuser/qnxrmsdk/hobbes/../cts/src/cts -I/home/testuser/qnxrmsdk/hobbes/../thirdparty/libhyphen/hyphen-2.4 -I/home/testuser/qnxrmsdk/hobbes/text/src/common -I/home/testuser/qnxrmsdk/hobbes/../thirdparty/zlib -I/home/testuser/qnxrmsdk/hobbes/../thirdparty/png/src -I/home/testuser/qnxrmsdk/hobbes/../thirdparty/libjpeg/sources -I/home/testuser/qnxrmsdk/build/make/arm_release_qnx-ndk/mschema -I/home/testuser/qnxrmsdk/build/make/arm_release_qnx-ndk/hobbes   -Iopt/bbndk-2.0.0-beta3/target/qnx6/usr/include -DUFT_ATOM_COMPILE_TIME -DPXF_STATIC -DADOBE_ONLY -DDISABLE_ANTI_ALIASING_EXCEPT_TEXT -DLINUX_OS -DINCLUDE_DEFAULT_DESTRUCTORS -DxTETRAPHILIA_INSTRUMENTED_PIXELSTORAGE -DxTETRAPHILIA_INSTRUMENTED_ERROR -DxTETRAPHILIA_SIMULATE_EMBEDDED -DTETRAPHILIA_SUPPORTS_SCALED_REDRAW -DxTETRAPHILIA_USE_BLOCKED_STACK -DxTETRAPHILIA_FORCE_ALL_ALLOCS_TO_OS_MALLOC -DxTETRAPHILIA_INSTRUMENTED_LOG -DxTETRAPHILIA_INSTRUMENTED_STACK_DEPTH -DxTETRAPHILIA_SIMULATE_HTTP_DELAYS -DNOMINMAX -DxTETRAPHILIA_USE_CUSTOM_SETJMP -DxTETRAPHILIA_BUILD_FOR_VTUNE -DTETRAPHILIA_APP_TRAITS=T3AppTraits -DTETRAPHILIA_SUPPORT_JBIG2 -DNO_DEBUG_PTRS -DTETRAPHILIA_NO_EXPLICIT_ZLIB_PATH -DTETRAPHILIA_SUPPORT_JP2K_DLL -DJP2K_REAL_IS_FIXED -DJP2K_PREFIX="\"tetraphilia/imaging_model/tetrajpeg2kprefix.hpp\"" -DTETRAPHILIA_FILE_TRAITS_DEF="\"T3AppTraits.h\"" -DUNIX_ENV -DxTETRAPHILIA_SUPPORTS_APS -DxTETRAPHILIA_SUPPORTS_EBX -DxEDC_STATIC_LIB_BUILD -DNO_DEBUG_PTRS -DCTS_CLIENT_CONFIG=config/ClientConfig.rmsdk.h -D__GCC32__ -DUFT_MEMORY_DEBUG=0 -DNDEBUG -DOS=os_linux -DLINUX_ENV -DSUPPORT_JAPANESE -DSUPPORT_SIMPLIFIED_CHINESE -DSUPPORT_TRADITIONAL_CHINESE -DSUPPORT_KOREAN -DJAPANESE_GOTHIC_FONT_PATH=\"res:///fonts/RyoGothicPlusN-Medium.otf\" -DJAPANESE_MINCHO_FONT_PATH=\"res:///fonts/RyoGothicPlusN-Medium.otf\" -DSIMPLIFIED_CHINESE_GOTHIC_FONT_PATH=\"res:///fonts/AdobeHeitiStd-Regular.otf\" -DSIMPLIFIED_CHINESE_SONG_FONT_PATH=\"res:///fonts/AdobeHeitiStd-Regular.otf\" -DTRADITIONAL_CHINESE_GOTHIC_FONT_PATH=\"res:///fonts/AdobeMingStd-Light.otf\" -DTRADITIONAL_CHINESE_MING_FONT_PATH=\"res:///fonts/AdobeMingStd-Light.otf\" -DKOREAN_GOTHIC_FONT_PATH=\"res:///fonts/AdobeMyungjoStd-Medium.otf\" -DKOREAN_MING_FONT_PATH=\"res:///fonts/AdobeMyungjoStd-Medium.otf\" -DWESTERN_SERIF_FONT_PATH=\"res:///fonts/MinionPro-Regular.otf\" -DWESTERN_SERIF_BOLD_FONT_PATH=\"res:///fonts/MinionPro-Bold.otf\" -DWESTERN_SERIF_ITALIC_FONT_PATH=\"res:///fonts/MinionPro-It.otf\" -DWESTERN_SERIF_BOLD_ITALIC_FONT_PATH=\"res:///fonts/MinionPro-BoldIt.otf\" -DWESTERN_SANS_SERIF_FONT_PATH=\"res:///fonts/MyriadPro-Regular.otf\" -DWESTERN_SANS_SERIF_BOLD_FONT_PATH=\"res:///fonts/MyriadPro-Bold.otf\" -DWESTERN_SANS_SERIF_ITALIC_FONT_PATH=\"res:///fonts/MyriadPro-It.otf\" -DWESTERN_SANS_SERIF_BOLD_ITALIC_FONT_PATH=\"res:///fonts/MyriadPro-BoldIt.otf\" -DWESTERN_MONOSPACE_FONT_PATH=\"res:///fonts/CourierStd.otf\" -DWESTERN_MONOSPACE_BOLD_FONT_PATH=\"res:///fonts/CourierStd-Bold.otf\" -DWESTERN_MONOSPACE_OBLIQUE_FONT_PATH=\"res:///fonts/CourierStd-Oblique.otf\" -DWESTERN_MONOSPACE_BOLD_OBLIQUE_FONT_PATH=\"res:///fonts/CourierStd-BoldOblique.otf\" -DSYMBOL_FONT_PATH=\"res:///fonts/SymbolStd.otf\" -DTETRAPHILIA_SIMULATE_EMBEDDED -DUSE_FIXED_POINT -DTETRAPHILIA_USE_FIXED_POINT -DOPTIMIZE_MONOCHROME -DMAX_UNCOMPRESSED_CHAPTER_SIZE="4000*1024" -DMAX_COMPRESSED_CHAPTER_SIZE="1000*1024" -DMAX_UNBROKEN_CHAPTER_SIZE="200*1024" -DTARGET_CHAPTER_CHUNK_SIZE="150*1024" -DSTOP_LOAD_ON_CHAPTER_TOO_LONG -DBB_ENV -D_NO_EX -D__arm__ -D__ARM__ -D__cplusplus -D__DEPRECATED -D__ELF__ -D__GNUC__=4 -D__GNUC_MINOR__=4 -D__GNUC_PATCHLEVEL__=2 -D__NO_INLINE__ -D__QNX__ -D__QNXNTO__ -D__unix -D__unix__ -pipe -w -fsigned-char -fno-exceptions  -fPIC -fno-rtti -fno-exceptions -fvisibility=hidden -s -O2 -fno-strict-aliasing -DNDEBUG -fno-rtti -c -I/home/testuser/qnxrmsdk/hobbes/text/src/cts -MMD -o /home/testuser/qnxrmsdk/build/make/arm_release_qnx-ndk/hobbes/hyphenator.o /home/testuser/qnxrmsdk/hobbes/text/src/cts/hyphenator.cpp
In file included from /opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/math.h:4,
                 from /home/testuser/qnxrmsdk/hobbes/../cts/src/cts/config/PlatformConfig.default.h:219,
                 from /home/testuser/qnxrmsdk/hobbes/../cts/src/cts/config/Config.h:36,
                 from /home/testuser/qnxrmsdk/hobbes/../cts/src/cts/cmn/CTS_CMN_Config.h:38,
                 from /home/testuser/qnxrmsdk/hobbes/../cts/src/cts/rt/CTS_RT_Behavior.h:25,
                 from /home/testuser/qnxrmsdk/hobbes/../cts/src/cts/rt/CTS_RT_Runtime.h:25,
                 from /home/testuser/qnxrmsdk/hobbes/text/src/cts/hyphenator.cpp:22:
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:116: error: template with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:150: error: template with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:157: error: template with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:163: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:200: error: template with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:207: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:212: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:218: error: template with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:224: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:229: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:234: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:239: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:245: error: template with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:251: error: template specialization with C linkage
/opt/bbndk-2.0.0-beta3/target/qnx6//usr/include/xtgmath.h:256: error: template specialization with C linkage



Developer
Posts: 1,068
Registered: ‎11-24-2011
My Device: PlayBook
My Carrier: x

Re: Building native dynamic library with a non-standard toolchain (Adobe RM SDK)

Compile command looks crazy.

1) Why don't you start with something more simple like compiling from command line with 'default' settings:

qcc -V4.4.2,gcc_ntoarmv7le -w1 -I/Developer/SDKs/bbndk-1.0/target/qnx6/usr/include/freetype2 -I/Developer/SDKs/bbndk-1.0/target/qnx6/../target-override/usr/include -D_FORTIFY_SOURCE=2 -c -O2 -fstack-protector-all -fPIE -o hyphenator.o hyphenator.cpp

 2) anyway, how does all #include ... look like in hyphenator.cpp? can you post it here?

New Contributor
Posts: 3
Registered: ‎02-07-2012
My Device: PlayBooks 1 and 2
My Carrier: Orange Israel

Re: Building native dynamic library with a non-standard toolchain (Adobe RM SDK)

The file's include tree is too big to paste here, and the code is licensed from Adobe. Can I send it via e-mail?

Developer
Posts: 1,068
Registered: ‎11-24-2011
My Device: PlayBook
My Carrier: x

Re: Building native dynamic library with a non-standard toolchain (Adobe RM SDK)

Sure. I've sent you a message with my e-mail address.

New Contributor
Posts: 3
Registered: ‎02-07-2012
My Device: PlayBooks 1 and 2
My Carrier: Orange Israel

Re: Building native dynamic library with a non-standard toolchain (Adobe RM SDK)

Please re-send, can't find anything from you

Developer
Posts: 1,068
Registered: ‎11-24-2011
My Device: PlayBook
My Carrier: x

Re: Building native dynamic library with a non-standard toolchain (Adobe RM SDK)

Click on the envelope sign at the top of this page -)
Highlighted
New Member
Posts: 1
Registered: ‎04-16-2012
My Device: 10.10
My Carrier: ATT

Re: Building native dynamic library with a non-standard toolchain (Adobe RM SDK)

Hello,

 

I am wondering if you have found the solution to your problem. I am having the same problem with the QNX compiler.

Thanks,

-Zahira