Closed JohnnyChingas closed 4 years ago
I've recompiled my project with QI_LOG_LEVEL set to debug. Here is a printout I get when I run on the target ARM. Hopefully it can give some clues.
Debug message:
[V] 1497115441.727443 9872 qi.log: Context set to 30
[D] 1497115442.079381 9872 qi.Application: atEnter
[V] 1497115442.095825 9872 qi.Application: Program path guessed as /path/output/bin/./video_stream
[V] 1497115442.096966 9872 qi.path.sdklayout: Prefix: /path/output
[D] 1497115442.097658 9872 qi.Application: Executing 3 atEnter handlers
[D] 1497115442.109827 9872 qitype.typeof: first typeOf request for unregistered type j
[D] 1497115442.110150 9872 qitype.typeof: first typeOf request for unregistered type Ss
[D] 1497115442.112211 9872 qitype.typeof: first typeOf request for unregistered type N2qi10EventTraceE
[D] 1497115442.112544 9872 qitype.typeof: first typeOf request for unregistered type N2qi10EventTrace9EventKindE
[D] 1497115442.112798 9872 qitype.typeof: first typeOf request for unregistered type N2qi8AnyValueE
[D] 1497115442.113007 9872 qitype.typeof: first typeOf request for unregistered type N2qi2os7timevalE
[D] 1497115442.113256 9872 qitype.typeof: first typeOf request for unregistered type x
[D] 1497115442.113584 9872 qitype.type: Registering struct for (XX)<timeval,tv_sec,tv_usec> N2qi2os7timevalE
[D] 1497115442.113918 9872 qitype.typeof: first typeOf request for unregistered type N2qi6ObjectINS_5EmptyEEE
[D] 1497115442.114421 9872 qitype.type: Registering struct for (XiXm(XX)<timeval,tv_sec,tv_usec>XXXX)<EventTrace,id,kind,slotId,arguments,timestamp,userUsTime,systemUsTime,callerContext,calleeContext> N2qi10EventTraceE
[D] 1497115442.120716 9872 qitype.typeof: first typeOf request for unregistered type N2qi10MetaObjectE
[D] 1497115442.121877 9872 qitype.typeof: first typeOf request for unregistered type St4pairIN5boost10shared_ptrIN2qi13MessageSocketEEENS2_3UrlEE
[D] 1497115442.122115 9872 qitype.typeof: first typeOf request for unregistered type N5boost10shared_ptrIN2qi13MessageSocketEEE
[D] 1497115442.122337 9872 qitype.typeof: first typeOf request for unregistered type N2qi3UrlE
[D] 1497115442.122566 9872 qitype.typeof: first typeOf request for unregistered type N2qi13MessageSocketE
[V] 1497115442.122757 9872 qitype.type: Shared pointer to unknown type N2qi13MessageSocketE, assuming object not yet registered
[D] 1497115442.123072 9872 qitype.typeof: first typeOf request for unregistered type i
[D] 1497115442.123368 9872 qitype.typeof: first typeOf request for unregistered type v
[D] 1497115442.123690 9872 qitype.signal: 0x95744c connecting new subscriber
[V] 1497115442.123951 9872 qitype.type: Shared pointer to unknown type N2qi13MessageSocketE, assuming object not yet registered
[D] 1497115442.124506 9872 qi.eventloop: 0x959c90 EventLoop start
[D] 1497115442.125381 9873 qi.eventloop: 0x95acb0run starting from pool
[D] 1497115442.125696 9874 qi.eventloop: 0x95acb0run starting from pool
[D] 1497115442.125818 9872 qi.eventloop: 0x959c90 EventLoop start done
[D] 1497115442.125846 9875 qi.eventloop: 0x95acb0run starting from pool
[D] 1497115442.126330 9876 qi.eventloop: Ping
[D] 1497115442.126230 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0f9a8
[D] 1497115442.126732 9876 qi.eventloop: Ping ok
[D] 1497115442.126865 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0f9a8
[D] 1497115442.137105 9872 qitype.signal: 0x957484 connecting new subscriber
[D] 1497115442.137577 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0fa10
[D] 1497115442.137894 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0fa10
[D] 1497115442.138394 9872 qitype.signal: 0x957308 connecting new subscriber
[D] 1497115442.138861 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0f9f0
[D] 1497115442.139163 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0f9f0
[D] 1497115442.139637 9872 qitype.objectbuilder: Offset check T(PN2qi10ManageableE)= 0x10000, U(PN2qi10ManageableE)= 0x10000, T-U= 0
[D] 1497115442.139887 9872 qitype.typeof: first typeOf request for unregistered type N2qi10ManageableE
[D] 1497115442.140120 9872 qitype.typeof: first typeOf request for unregistered type b
[D] 1497115442.140407 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.140773 9872 qitype.objectbuilder: Offset check T(PN2qi10ManageableE)= 0x10000, U(PN2qi10ManageableE)= 0x10000, T-U= 0
[D] 1497115442.141050 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.141380 9872 qitype.objectbuilder: Offset check T(PN2qi10ManageableE)= 0x10000, U(PN2qi10ManageableE)= 0x10000, T-U= 0
[D] 1497115442.141606 9872 qitype.typeof: first typeOf request for unregistered type St3mapIjN2qi16MethodStatisticsESt4lessIjESaISt4pairIKjS1_EEE
[D] 1497115442.141825 9872 qitype.typeof: first typeOf request for unregistered type N2qi16MethodStatisticsE
[D] 1497115442.142043 9872 qitype.typeof: first typeOf request for unregistered type N2qi9MinMaxSumE
[D] 1497115442.142248 9872 qitype.typeof: first typeOf request for unregistered type f
[D] 1497115442.142570 9872 qitype.type: Registering struct for (XXX)<MinMaxSum,minValue,maxValue,cumulatedValue> N2qi9MinMaxSumE
[D] 1497115442.143374 9872 qitype.type: Registering struct for (X(XXX)<MinMaxSum,minValue,maxValue,cumulatedValue>(XXX)<MinMaxSum,minValue,maxValue,cumulatedValue>(XXX)<MinMaxSum,minValue,maxValue,cumulatedValue>)<MethodStatistics,count,wall,user,system> N2qi16MethodStatisticsE
[D] 1497115442.143637 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.144836 9872 qitype.objectbuilder: Offset check T(PN2qi10ManageableE)= 0x10000, U(PN2qi10ManageableE)= 0x10000, T-U= 0
[D] 1497115442.145113 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.145432 9872 qitype.objectbuilder: Offset check T(PN2qi10ManageableE)= 0x10000, U(PN2qi10ManageableE)= 0x10000, T-U= 0
[D] 1497115442.145681 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.145992 9872 qitype.objectbuilder: Offset check T(PN2qi10ManageableE)= 0x10000, U(PN2qi10ManageableE)= 0x10000, T-U= 0
[D] 1497115442.146250 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.148309 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.148539 9872 qitype.typeof: first typeOf request for unregistered type N2qi16ServiceDirectoryE
[D] 1497115442.148766 9872 qitype.typeof: first typeOf request for unregistered type N2qi11ServiceInfoE
[D] 1497115442.149022 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.149372 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.149599 9872 qitype.typeof: first typeOf request for unregistered type St6vectorIN2qi11ServiceInfoESaIS1_EE
[D] 1497115442.149849 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.150197 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.156855 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.157243 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.157536 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.157871 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.158132 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.158466 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.158742 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.159352 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.159623 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.159950 9872 qitype.objectbuilder: Offset check T(PN2qi16ServiceDirectoryE)= 0x10000, U(PN2qi16ServiceDirectoryE)= 0x10000, T-U= 0
[D] 1497115442.160225 9872 qitype.makeAnyFunction: bare mask 2
[V] 1497115442.160487 9872 qitype.type: Shared pointer to unknown type N2qi13MessageSocketE, assuming object not yet registered
[D] 1497115442.161554 9872 qitype.type: registerType N2qi16ServiceDirectoryE 7 0x95f2f8 o
[V] 1497115442.161751 9872 qitype.type: registerType: access to type factory before registration detected for type N2qi16ServiceDirectoryE
[D] 1497115442.162832 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.163053 9872 qitype.typeof: first typeOf request for unregistered type N2qi18ServiceBoundObjectE
[D] 1497115442.163280 9872 qitype.typeof: first typeOf request for unregistered type N2qi6FutureIyEE
[D] 1497115442.163615 9872 qitype.type: registerType N2qi6FutureIyEE 7 0x960be0 o
[V] 1497115442.163806 9872 qitype.type: registerType: access to type factory before registration detected for type N2qi6FutureIyEE
[D] 1497115442.164828 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.165301 9872 qitype.typeof: first typeOf request for unregistered type N5boost8functionIFvvEEE
[D] 1497115442.165563 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.165927 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.166217 9872 qitype.makeAnyFunction: bare mask 3
[D] 1497115442.166553 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.166860 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.167196 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.167462 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.167776 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.168042 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.168357 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.168582 9872 qitype.typeof: first typeOf request for unregistered type y
[D] 1497115442.168841 9872 qitype.makeAnyFunction: bare mask 3
[D] 1497115442.169170 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.169426 9872 qitype.typeof: first typeOf request for unregistered type N2qi11FutureStateE
[D] 1497115442.169653 9872 qitype.typeof: first typeOf request for unregistered type N5boost6chrono10time_pointIN2qi11SteadyClockENS0_8durationIxNS_5ratioILx1ELx1000000000EEEEEEE
[D] 1497115442.169890 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.170219 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.170464 9872 qitype.typeof: first typeOf request for unregistered type N5boost6chrono8durationIxNS_5ratioILx1ELx1000000000EEEEE
[D] 1497115442.170699 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.171034 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.171283 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.171597 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.171846 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.172159 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIyEE)= 0x10000, U(PN2qi6FutureIyEE)= 0x10000, T-U= 0
[D] 1497115442.172404 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.172749 9872 qitype.typeof: first typeOf request for unregistered type PN2qi6FutureIyEE
[D] 1497115442.172983 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.174353 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.174792 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.175032 9872 qitype.typeof: first typeOf request for unregistered type N2qi6FutureIvEE
[D] 1497115442.175253 9872 qitype.type: registerType N2qi6FutureIvEE 7 0x9629c8 o
[V] 1497115442.175429 9872 qitype.type: registerType: access to type factory before registration detected for type N2qi6FutureIvEE
[D] 1497115442.176351 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.176650 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.177001 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.177291 9872 qitype.makeAnyFunction: bare mask 3
[D] 1497115442.177629 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.177936 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.178273 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.178543 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.178856 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.179120 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.179437 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.179660 9872 qitype.typeof: first typeOf request for unregistered type Pv
[D] 1497115442.179924 9872 qitype.makeAnyFunction: bare mask 3
[V] 1497115442.180170 9872 qitype.type: Pointer to unknown type v, signature is X
[D] 1497115442.180447 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.180718 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.181045 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.181316 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.181646 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.181894 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.182206 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.182482 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.182797 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureIvEE)= 0x10000, U(PN2qi6FutureIvEE)= 0x10000, T-U= 0
[D] 1497115442.183044 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.183396 9872 qitype.typeof: first typeOf request for unregistered type PN2qi6FutureIvEE
[D] 1497115442.183633 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.185035 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.185455 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.185746 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.186081 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.186355 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.186693 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.186922 9872 qitype.typeof: first typeOf request for unregistered type N2qi6FutureINS_8AnyValueEEE
[D] 1497115442.187138 9872 qitype.type: registerType N2qi6FutureINS_8AnyValueEEE 7 0x9652a0 o
[V] 1497115442.187315 9872 qitype.type: registerType: access to type factory before registration detected for type N2qi6FutureINS_8AnyValueEEE
[D] 1497115442.188239 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.188540 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.188891 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.189184 9872 qitype.makeAnyFunction: bare mask 3
[D] 1497115442.189520 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.189798 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.190134 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.190443 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.190766 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.191035 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.191353 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.191646 9872 qitype.makeAnyFunction: bare mask 3
[D] 1497115442.191996 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.192275 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.192602 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.192880 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.193209 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.193462 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.193776 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.194023 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.194334 9872 qitype.objectbuilder: Offset check T(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, U(PN2qi6FutureINS_8AnyValueEEE)= 0x10000, T-U= 0
[D] 1497115442.194583 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.194968 9872 qitype.typeof: first typeOf request for unregistered type PN2qi6FutureINS_8AnyValueEEE
[D] 1497115442.195240 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.196582 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.196975 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.197268 9872 qitype.makeAnyFunction: bare mask 6
[D] 1497115442.197681 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.197922 9872 qitype.typeof: first typeOf request for unregistered type St6vectorISsSaISsEE
[D] 1497115442.198169 9872 qitype.makeAnyFunction: bare mask 2
[D] 1497115442.198519 9872 qitype.objectbuilder: Offset check T(PN2qi18ServiceBoundObjectE)= 0x10000, U(PN2qi18ServiceBoundObjectE)= 0x10000, T-U= 0
[D] 1497115442.198825 9872 qitype.makeAnyFunction: bare mask 34
[D] 1497115442.199956 9872 qitype.type: registerType N2qi18ServiceBoundObjectE 7 0x968cd0 o
[V] 1497115442.200155 9872 qitype.type: registerType: access to type factory before registration detected for type N2qi18ServiceBoundObjectE
[D] 1497115442.200585 9872 qitype.signal: 0x9572b4 connecting new subscriber
[D] 1497115442.201048 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0f968
[D] 1497115442.201380 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0f968
[D] 1497115442.201746 9872 qitype.signal: 0x9572d0 connecting new subscriber
[D] 1497115442.202176 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0f9e8
[D] 1497115442.202472 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0f9e8
[D] 1497115442.202830 9872 qitype.signal: 0x9572d0 connecting new subscriber
[D] 1497115442.203254 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0f968
[D] 1497115442.203546 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0f968
[D] 1497115442.203921 9872 qitype.signal: 0x9572ec connecting new subscriber
[D] 1497115442.204360 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0f968
[D] 1497115442.204651 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0f968
[D] 1497115442.205071 9872 qitype.signal: 0x957308 connecting new subscriber
[D] 1497115442.205516 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0f968
[D] 1497115442.205806 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0f968
[D] 1497115442.206137 9872 qitype.signal: 0x956d40 connecting new subscriber
[D] 1497115442.206560 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0fb60
[D] 1497115442.206848 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0fb60
[D] 1497115442.207084 9872 qi.applicationsession: Connect url specified was: tcp://<NAO IP HIDDEN>:9559, now defaulting missing url parts from tcp://127.0.0.1:9559
[D] 1497115442.207337 9872 qi.applicationsession: Connect url is now: tcp://<NAO IP HIDDEN>:9559
[D] 1497115442.207669 9872 qi.applicationsession: Listen url specified: , now defaulting missing url parts with tcp://0.0.0.0:9559
[D] 1497115442.207883 9872 qi.applicationsession: Listen url are now: tcp://0.0.0.0:9559
[D] 1497115442.208092 9872 qimessaging.sessionservice: Adding remoteobject:ServiceDirectory :0x3eb10494
[D] 1497115442.208619 9872 qitype.typeof: first typeOf request for unregistered type N2qi7MessageE
[D] 1497115442.208912 9872 qitype.typeof: first typeOf request for unregistered type N5boost7variantISsIN2qi7MessageEEEE
[D] 1497115442.228801 9872 qitype.signal: 0x96b44c connecting new subscriber
[D] 1497115442.229301 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0fc28
[D] 1497115442.229648 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0fc28
[D] 1497115442.229911 9872 qimessaging.remoteobject: Adding connection to socket0x96b348
[D] 1497115442.230281 9872 qitype.signal: 0x96c6f8 connecting new subscriber
[D] 1497115442.230781 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0fa80
[D] 1497115442.231088 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0fa80
[D] 1497115442.231442 9872 qitype.signal: 0x96b44c connecting new subscriber
[D] 1497115442.231868 9872 qi.eventloop: 0x959c90 EventLoop post 0x3eb0fa98
[D] 1497115442.232162 9872 qi.eventloop: 0x959c90 EventLoop post done 0x3eb0fa98
[V] 1497115442.232674 9872 qimessaging.messagesocket: (ResolverUrlList)0x96cf2c: Trying to connect to <NAO IP HIDDEN>:9559
[D] 1497115442.237141 9875 qimessaging.messagesocket: enabling TCP_USER_TIMEOUT
[D] 1497115442.237444 9875 qi.eventloop: 0x959c90 EventLoop post 0x35afe5d8
[D] 1497115442.237701 9875 qi.eventloop: 0x959c90 EventLoop post done 0x35afe5d8
[D] 1497115442.237903 9874 qi.eventloop: 0x959c90 EventLoop post 0x36496420
[D] 1497115442.238223 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36496420
[D] 1497115442.238593 9873 qi.eventloop: 0x959c90 EventLoop post 0x36c95d68
[D] 1497115442.238805 9874 qimessaging.messagesocket: 0x96b348: Message received 9393805
[D] 1497115442.238909 9873 qi.eventloop: 0x959c90 EventLoop post done 0x36c95d68
[D] 1497115442.239302 9874 qitype.typeof: first typeOf request for unregistered type St3mapISsN2qi8AnyValueESt4lessISsESaISt4pairIKSsS1_EEE
[D] 1497115442.239371 9873 qi.eventloop: 0x959c90 EventLoop post 0x36c95d68
[D] 1497115442.239721 9874 qitype.typeof: first typeOf request for unregistered type a
[D] 1497115442.239837 9873 qi.eventloop: 0x959c90 EventLoop post done 0x36c95d68
[D] 1497115442.239914 9874 qitype.typeof: first typeOf request for unregistered type s
[D] 1497115442.240259 9874 qitype.typeof: first typeOf request for unregistered type h
[D] 1497115442.240455 9873 qimessaging.messagesocket: 0x96b348: Emitting `connected` signal
[D] 1497115442.240623 9874 qitype.typeof: first typeOf request for unregistered type t
[D] 1497115442.240651 9873 qitype.signal: 0x96b430 Invoking signal subscribers: 0
[D] 1497115442.240960 9874 qitype.typeof: first typeOf request for unregistered type d
[D] 1497115442.240968 9873 qitype.signal: 0x96b430 done invoking signal subscribers
[D] 1497115442.241370 9873 qimessaging.messagesocket: 0x96b348: Setting `connected` promise
[D] 1497115442.241348 9874 qitype.typeof: first typeOf request for unregistered type N2qi6BufferE
[D] 1497115442.241659 9873 qi.eventloop: 0x959c90 EventLoop post 0x36c960f0
[D] 1497115442.242001 9874 qitype.type: Instanciating tuple DefaultTupleType<Ss,N2qi8AnyValueE,>(0x34912250)
[D] 1497115442.242157 9873 qi.eventloop: 0x959c90 EventLoop post done 0x36c960f0
[D] 1497115442.242428 9875 qitype.signal: 0x96b484 connecting new subscriber
[D] 1497115442.243187 9874 qitype.typeof: first typeOf request for unregistered type St17_Rb_tree_iteratorISt4pairIKN2qi12AnyReferenceEPvEE
[D] 1497115442.243471 9875 qi.eventloop: 0x959c90 EventLoop post 0x35afdfb0
[D] 1497115442.243799 9875 qi.eventloop: 0x959c90 EventLoop post done 0x35afdfb0
[D] 1497115442.243961 9873 qimessaging.messagesocket: 0x96b348: socket connected to tcp://<NAO IP HIDDEN>:9559
[D] 1497115442.244887 9875 qitype.typeof: first typeOf request for unregistered type St4pairIKSsN2qi8AnyValueEE
[D] 1497115442.245189 9875 qitype.genericvalue: convert i(0) x(0)
[W] 1497115442.245504 9875 qitype.genericvalue: Conversion from X(int) to X(long long) failed
[E] 1497115442.301017 9874 qimessaging.messagesocket: 0x96b348: Ill-formed capabilities message: Type b not deserializable
[D] 1497115442.301399 9874 qi.eventloop: 0x959c90 EventLoop post 0x364961b8
[D] 1497115442.301710 9874 qi.eventloop: 0x959c90 EventLoop post done 0x364961b8
[D] 1497115442.301913 9873 qimessaging.messagesocket: 0x96b348: Exiting connected state.
[D] 1497115442.302156 9873 qimessaging.messagesocket: 0x349007c8: Entering Disconnecting state
[D] 1497115442.302359 9873 qimessaging.messagesocket: 0x349007c8: Disconnecting: before socket close
[D] 1497115442.302764 9873 qimessaging.messagesocket: 0x349007c8: Disconnecting: asking the 'complete' future
[D] 1497115442.303218 9873 qi.eventloop: 0x959c90 EventLoop post 0x36c961d8
[D] 1497115442.303630 9873 qi.eventloop: 0x959c90 EventLoop post done 0x36c961d8
[D] 1497115442.303914 9874 qimessaging.messagesocket: 0x349007c8: Socket disconnected.
[D] 1497115442.304134 9874 qimessaging.messagesocket: 0x349007c8: Emitting `disconnected` signal.
[D] 1497115442.304376 9874 qitype.signal: 0x96b44c Invoking signal subscribers: 2
[D] 1497115442.304546 9874 qitype.signal: 0x96b44c Invoking signal subscriber
[D] 1497115442.304764 9874 qitype.signal: subscriber call async=0 ct 1 tm 0
[D] 1497115442.305152 9874 qi.eventloop: 0x959c90 EventLoop post 0x36495300
[D] 1497115442.305436 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36495300
[D] 1497115442.305660 9874 qimessaging.remoteobject: Closing remote object
[D] 1497115442.305835 9874 qimessaging.remoteobject: Removing connection from socket 0x96b348
[D] 1497115442.306146 9874 qi.eventloop: 0x959c90 EventLoop post 0x36494f90
[D] 1497115442.306416 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36494f90
[D] 1497115442.306811 9874 qi.eventloop: 0x959c90 EventLoop post 0x36494ea0
[D] 1497115442.307088 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36494ea0
[D] 1497115442.307530 9874 qi.eventloop: 0x959c90 EventLoop post 0x36495010
[D] 1497115442.308244 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36495010
[D] 1497115442.308613 9874 qi.eventloop: 0x959c90 EventLoop post 0x36495398
[D] 1497115442.308887 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36495398
[D] 1497115442.309132 9874 qitype.signal: 0x9572d0 Invoking signal subscribers: 2
[D] 1497115442.309305 9874 qitype.signal: 0x9572d0 Invoking signal subscriber
[D] 1497115442.309472 9874 qitype.signal: subscriber call async=0 ct 1 tm 0
[D] 1497115442.309659 9874 qimessaging.remoteobject: Closing remote object
[V] 1497115442.309882 9874 qimessaging.server: Closing server...
[D] 1497115442.310057 9874 qimessaging.transportsocketcache: TransportSocketCache is closing
[D] 1497115442.310261 9874 qitype.signal: 0x9572d0 Invoking signal subscriber
[D] 1497115442.310432 9874 qitype.signal: subscriber call async=0 ct 1 tm 0
[D] 1497115442.310640 9874 qitype.signal: 0x956d40 Invoking signal subscribers: 1
[D] 1497115442.310805 9874 qitype.signal: 0x956d40 Invoking signal subscriber
[D] 1497115442.310969 9874 qitype.signal: subscriber call async=1 ct 2 tm 0
[D] 1497115442.311160 9874 qi.eventloop: 0x959c90 EventLoop post 0x364945e8
[D] 1497115442.311402 9874 qi.eventloop: 0x959c90 EventLoop post done 0x364945e8
[D] 1497115442.311447 9875 qi.Application: Executing 0 atStop handlers
[D] 1497115442.311586 9874 qitype.signal: 0x956d40 done invoking signal subscribers
[D] 1497115442.311936 9874 qitype.signal: 0x9572d0 done invoking signal subscribers
[D] 1497115442.312154 9874 qitype.signal: 0x96b44c Invoking signal subscriber
[D] 1497115442.312324 9874 qitype.signal: subscriber call async=0 ct 1 tm 0
[D] 1497115442.312485 9874 qitype.signal: 0x96b44c done invoking signal subscribers
[D] 1497115442.312691 9874 qimessaging.messagesocket: 0x349007c8: Emitting `socketEvent` signal.
[D] 1497115442.312922 9874 qitype.signal: 0x96b484 Invoking signal subscribers: 1
[D] 1497115442.313091 9874 qitype.signal: 0x96b484 Invoking signal subscriber
[D] 1497115442.313254 9874 qitype.signal: subscriber call async=0 ct 1 tm 0
[D] 1497115442.313791 9874 qi.eventloop: 0x959c90 EventLoop post 0x36495230
[D] 1497115442.314102 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36495230
[D] 1497115442.314236 9875 qi.eventloop: 0x959c90 EventLoop post 0x35afe3d8
[D] 1497115442.314342 9874 qitype.signal: 0x96b484 done invoking signal subscribers
[D] 1497115442.314631 9875 qi.eventloop: 0x959c90 EventLoop post done 0x35afe3d8
[D] 1497115442.314884 9873 qimessaging.session: addSocketToCache processing
[D] 1497115442.315075 9873 qimessaging.session: addSdSocketToCache: connect reported failure
[D] 1497115442.314654 9874 qimessaging.messagesocket: 0x349007c8: Setting disconnected promise.
[D] 1497115442.315689 9874 qimessaging.messagesocket: Destroying transport socket
[D] 1497115442.316075 9874 qi.eventloop: 0x959c90 EventLoop post 0x36496110
[D] 1497115442.316364 9874 qi.eventloop: 0x959c90 EventLoop post done 0x36496110
[D] 1497115442.316617 9874 qi.eventloop: 0x959c90 EventLoop post 0x364961f8
[D] 1497115442.316875 9874 qi.eventloop: 0x959c90 EventLoop post done 0x364961f8
[W] 1497115442.317264 9872 qi.FutureSync: Error in future on destruction: 'disconnected' - continuing stack unwinding...
terminate called after throwing an instance of '[D] 1497115442.317209 9874 qi.eventloop: 0x959c90 EventLoop post 0x36496190
qi::FutureUserException'
what(): disconnected
Aborted
Could you please run the automated test on your ARM chipset, please ? They are finer grain and may lead more quickly to identifying the problem. Could you also show us the stack from which the fatal exception is thrown ?
Victor, thank you for replying, I will follow up soon.
Here a gdb disassembly of where the fatal exception is thrown.
(gdb) disas
Dump of assembler code for function qi::Url::Url(char const*):
0x0045e794 <+0>: push {r4, r11, lr}
0x0045e798 <+4>: add r11, sp, #8
0x0045e79c <+8>: sub sp, sp, #12
0x0045e7a0 <+12>: str r0, [r11, #-16]
0x0045e7a4 <+16>: str r1, [r11, #-20]
0x0045e7a8 <+20>: ldr r1, [pc, #84] ; 0x45e804 <qi::Url::Url(char const*)+112>
0x0045e7ac <+24>: add r1, pc, r1
0x0045e7b0 <+28>: ldr r3, [r11, #-16]
0x0045e7b4 <+32>: ldr r2, [pc, #76] ; 0x45e808 <qi::Url::Url(char const*)+116>
0x0045e7b8 <+36>: ldr r2, [r1, r2]
0x0045e7bc <+40>: add r2, r2, #8
=> 0x0045e7c0 <+44>: str r2, [r3]
0x0045e7c4 <+48>: mov r0, #20
0x0045e7c8 <+52>: bl 0x1c1754 <_Znwj>
0x0045e7cc <+56>: mov r4, r0
0x0045e7d0 <+60>: mov r0, r4
0x0045e7d4 <+64>: ldr r1, [r11, #-20]
0x0045e7d8 <+68>: bl 0x45ef08 <qi::UrlPrivate::UrlPrivate(char const*)>
0x0045e7dc <+72>: ldr r3, [r11, #-16]
0x0045e7e0 <+76>: str r4, [r3, #4]
0x0045e7e4 <+80>: ldr r3, [r11, #-16]
0x0045e7e8 <+84>: b 0x45e7f8 <qi::Url::Url(char const*)+100>
0x0045e7ec <+88>: mov r0, r4
0x0045e7f0 <+92>: bl 0x1c1670 <_ZdlPv>
0x0045e7f4 <+96>: bl 0x1c1f1c <__cxa_end_cleanup>
0x0045e7f8 <+100>: mov r0, r3
0x0045e7fc <+104>: sub sp, r11, #8
0x0045e800 <+108>: pop {r4, r11, pc}
0x0045e804 <+112>: subeq r6, r8, r4, ror #12
0x0045e808 <+116>: andeq r0, r0, r4, ror #23
End of assembler dump.
Here is the stack:
(gdb) bt
#0 0x0045e7c0 in qi::Url::Url (this=0x1c3574 <main(int, char**)>, url=0x75ec6c "tcp://127.0.0.1:9559")
at /<PATH>/NAO/libqi-team-platform-dev/src/messaging/url.cpp:71
#1 0x001c35a8 in main (argc=2, argv=0x3efff214) at /<PATH>/NAO/libqi-team-platform-dev/videostream/main.cpp:143
(gdb)
I am quite surprised, because the stack seems to be pointing at the constructor of qi::Url, which a stand-alone type, but the error message is about conversion failure and socket disconnection. I had rather expected the issue to be in some data type handling in the qi::AnyValue.
It seems the tablet of Pepper has an ARMv7 too, so we have a platform to run the automatic test in similar conditions on our side.
So, I spent some time running the tests on an Android virtual machine running on ARMv7. I run libqi's test (test_type here) and I have some failures: https://pastebin.com/TeXp5eQk I think that's a good start for figuring out what is happening!
Alright, the problem highlighted there is just an issue in the test. Running all the tests should give a better overview of what is wrong, but I don't have the time right now.
Would it be an issue with endianness?
On Fri, 22 Sep 2017, 11:47 Victor Paléologue notifications@github.com wrote:
Alright, the problem highlighted there is just an issue in the test. Running all the tests should give a better overview of what is wrong, but I don't have the time right now.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/aldebaran/libqi/issues/20#issuecomment-331402771, or mute the thread https://github.com/notifications/unsubscribe-auth/AAC_9VSmOFqQqUSXN_fBenU5TieE82cyks5sk4IzgaJpZM4PPJXV .
I recompiled the project to run on my host linux64 machine. As I mentioned before, this application actually runs. I set the LOG level to debug. Here is the printout: https://pastebin.com/swxtLKyK [EDIT by @vpaleologue-aldebaran: replaced the code block by a link to a pastebin]
Hi, I'm attempting to cross-compile libqi to run on an ARMv7 chip. Libqi has some depenedencies on boost and openssl, so I cross compile those libraries before I cross compile libqi. The host machine where I am compiling this code is a 64 bit Redhat machine.
I am able to cross compile with no errors, but when I run an executable that uses libqi on the target ARM I get an error. As a side note I am able to execute libqi libraries compiled for the host machine on the host machine just fine.
Here is the error I see when running a cross-compiled executable on the ARM:
$ ./video_stream --qi-url=196.168.3.2
[E] 1496944759.281001 8415 qimessaging.messagesocket: 0x96b2d8: Ill-formed capabilities message: Type b not deserializable
[W] 1496944759.282350 8414 qitype.genericvalue: Conversion from X(int) to X(long long) failed
[W] 1496944759.286159 8413 qi.FutureSync: Error in future on destruction: 'disconnected' - continuing stack unwinding...
terminate called after throwing an instance of 'qi::FutureUserException'
what(): disconnected
Aborted
Here is the code for video_stream:
#include < iostream>
#include <qi/applicationsession.hpp>
#include <qi/vision_definitions.h>
#include <qi/anyvalue.hpp>
#include <qi/jsoncodec.hpp>
{
qi::ApplicationSession app(argc, argv);
app.startSession();
qi::SessionPtr session = app.session();
qi::AnyObject video_service = session->service("ALVideoDevice");
Here are some properties of the executable: $ file video_stream video_stream: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
Here are the first few lines of the build processs which let me know that cmake has picked up the cross-toolchain: -- The C compiler identification is GNU 4.9.2 -- The CXX compiler identification is GNU 4.9.2 -- Check for working C compiler: //arm-xilinx-linux-gnueabi-gcc
-- Check for working C compiler: //arm-xilinx-linux-gnueabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: //arm-xilinx-linux-gnueabi-g++
-- Check for working CXX compiler: //arm-xilinx-linux-gnueabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using qibuild 3.11.14
Another sidenote. I am able to execute a cross compiled simple project on the ARM. Here's the code for that:
include
int main() { std::cout << "Hello, world" << std::endl; return 0; }
Output: $ ./temp Hello, world
Here are the steps I take to cross compile: OpenSSL: cd /openssl source directory/ ./Configure linux-armv4 --cross-compile-prefix=arm-xilinx-linux-gnueabi- --prefix=//libqi-team-platform-dev --openssldir=//libqi-team-platform-dev/openssl no-shared
make
make install
Boost: echo "using gcc : arm : arm-xilinx-linux-gnueabi-gcc ;" > ~/user-config.jam ./bootstrap.sh --prefix=//libqi-team-platform-dev
./b2 --prefix=//libqi-team-platform-dev link=static install
LibQI: To compile libqi, I edit libqi's CMakeLists.txt so that the Boost and OpenSSL libraries are are included. I also add a compiler flag to enable GDB debugging. Finally I tell cmake to compile the projects libraries as STATIC. Below is the CMAKE code that does what I just described.
CMakeLists.txt
set(Boost_NO_SYSTEM_PATHS TRUE) if (Boost_NO_SYSTEM_PATHS) set(BOOST_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/include") set(BOOST_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include/boost") set(BOOST_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/lib") endif (Boost_NO_SYSTEM_PATHS) find_package(Boost REQUIRED atomic date_time thread chrono filesystem locale regex program_options) include_directories(${BOOST_INCLUDE_DIRS})
set(OPENSSL_NO_SYSTEM_PATHS TRUE) if (OPENSSL_NO_SYSTEM_PATHS) set(OPENSSL_ROOT "${CMAKE_CURRENT_SOURCE_DIR}") set(OPENSSL_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include") set(OPENSSL_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/lib") endif (OPENSSL_NO_SYSTEM_PATHS) include_directories(${OPENSSL_INCLUDE_DIRS}) link_directories(${OPENSSL_LIBRARY_DIRS})
Set compilation flags {{{
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") endif()`
qi_create_lib(qi STATIC ${QI_H} ${QI_C} ${QITYPE_H} ${QITYPE_C} ${QIM_H} ${QIM_C} ${QIPERF_H} ${QIPERF_C} DEPENDS ASSUME_SYSTEM_INCLUDE BOOST BOOST_ATOMIC BOOST_DATE_TIME BOOST_THREAD BOOST_CHRONO BOOST_FILESYSTEM BOOST_LOCALE BOOST_REGEX BOOST_PROGRAM_OPTIONS SUBMODULE ${_tp_qi})
target_link_libraries(qi ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES})
Finally I compile libqi using the following commands export PATH=//bin:$PATH
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
mkdir BUILD_CROSS && cd BUILD_CROSS
cmake .. -DCMAKE_TOOLCHAIN_FILE=zynq7-linux.cmake -DQI_WITH_TESTS=OFF -DBUILD_VIDEOSTREAM=ON
make -j8
make -j8 install DESTDIR=./output
contents of zynq7-linux.cmake set (CMAKE_SYSTEM_PROCESSOR "arm" CACHE STRING "") set (CROSS_PREFIX "arm-xilinx-linux-gnueabi-" CACHE STRING "") include ("//cross-linux-gcc.cmake")
contents of cross-linux-gcc.cmake set (CMAKE_SYSTEM_NAME "Linux" CACHE STRING "") set (CMAKE_C_COMPILER "${CROSS_PREFIX}gcc" CACHE STRING "") set (CMAKE_CXX_COMPILER "${CROSS_PREFIX}g++" CACHE STRING "") set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER CACHE STRING "") set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER CACHE STRING "") set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER CACHE STRING "")