0

How to build environment on qnx?

asked 2015-01-04 21:28:45 -0800

Seyoung Lee gravatar image

I downloaded alljoyn source file. (alljoyn-14.12.00-src) It build successfully with follows command.
: scons OS=linux CPU=x86 bindings=cpp WS=off : scons OS=linux CPU=arm bindings=cpp WS=off CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-

But it failed to build for QNX target. It set cross compiler for QNX. : scons OS=linux cpu=arm bindings=cpp WS=off CROSS_COMPILE=/opt/qnx6/host/linux/x86/usr/bin/arm-unknown-nto-qnx6.5.0-

Please let me know how to build environment on qnx.

Compile-error is [CXX] alljoyn_core/router/posix/DaemonTransportPosix.cc alljoyn_core/router/posix/DaemonTransportPosix.cc: In function 'QStatus ajn::GetSocketCreds(qcc::SocketFd, uid_t, gid_t, pid_t)': alljoyn_core/router/posix/DaemonTransportPosix.cc:143: error: 'SO_PASSCRED' was not declared in this scope alljoyn_core/router/posix/DaemonTransportPosix.cc:156: error: invalid application of 'sizeof' to incomplete type 'ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:163: error: invalid application of 'sizeof' to incomplete type 'ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:190: error: 'SCM_CREDENTIALS' was not declared in this scope alljoyn_core/router/posix/DaemonTransportPosix.cc:192: error: invalid use of incomplete type 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:156: error: forward declaration of 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:193: error: invalid use of incomplete type 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:156: error: forward declaration of 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:194: error: invalid use of incomplete type 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:156: error: forward declaration of 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:195: error: invalid use of incomplete type 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:156: error: forward declaration of 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:195: error: invalid use of incomplete type 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:156: error: forward declaration of 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:195: error: invalid use of incomplete type 'struct ajn::ucred' alljoyn_core/router/posix/DaemonTransportPosix.cc:156: error: forward declaration of 'struct ajn::ucred' scons: ** [build/linux/arm/debug/obj/alljoyn_core/router/posix/DaemonTransportPosix.o] Error 1

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-01-05 12:10:12 -0800

stevek gravatar image

While QNX is very similar to Linux and supports many POSIX-like APIs, there are still some difference that will require some degree of porting. QNX apparently does not support delivery of user credentials over UNIX domain sockets. This is what is causing your build errors. You will need to work around this limitation in QNX. You will likely encounter other errors as well. In short, you will need to define a new platform for QNX rather than trying to cross compile Linux for QNX.

I suggest using the Linux and Darwin platforms as templates for the QNX platform. Hopefully, by looking at those 2 platforms, you will see how to handle creating a new platform for AllJoyn since Darwin and Linux are also very similar but still have some differences.

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

Follow
1 follower

Stats

Asked: 2015-01-04 21:28:45 -0800

Seen: 228 times

Last updated: Jan 05 '15