Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Port of ZeroMQ to QNX 6.4: (3 Items)
   
Port of ZeroMQ to QNX 6.4  
Hello all,

I have tried to recompile ZeroMQ for QNX 6.4 and need some help.

Here are my steps:

- configure command:  "CC=qcc CXX=QCC configure --with-c --with-perf"
- because of rpl_malloc isn't available I have added  "#define rpl_malloc malloc" to platform.hpp
- modified the LIBS specification of the Makefile located in perf to "LIBS = -lcpp -lcxa  -lstdc++ -lssl  -lsocket -
lecpp"

With this modification the recompilation works well.

Starting "local_lat" with the command  "local_lat tcp://192.168.178.129:5555 10 1000" shows the following abort:

# local_lat tcp://192.168.178.129:5555 10 10
Assertion failed: !(it->revents & POLLNVAL) (poll.cpp:170)
Abort (core dumped)

There must also be some basic problems ... the termination of the command "local_lat" aborts within the libcpp.so.4 
calling the destructor of io_base.

Are there any tips to solve these problems?

The code of ZeroMQ works well with Linux and other OSes ...

Best Regards

--Armin

PS: ZeroMQ is available for Windows, Linux and other OSes at: http://www.zeromq.org
Re: Port of ZeroMQ to QNX 6.4  
Hi,

when I recompile the version 1.0.1 of ZeroMQ I have the following problem:

source='c_local_lat.c' object='c_local_lat-c_local_lat.o' libtool=no \
        DEPDIR=.deps depmode=gcc /bin/sh ../../../config/depcomp \
        qcc -DHAVE_CONFIG_H -I. -I. -I../../../libzmq/zmq -I../../../libzmq/zmq -I../../.. -I../../../libzmq -I../../.. 
-I../../../libzmq  -D_THREAD_SAFE  -Wall -pedantic -Werror -I../../../libczmq -g -O2 -c -o c_local_lat-c_local_lat.o `
test -f 'c_local_lat.c' || echo './'`c_local_lat.c
/bin/sh ../../../libtool --tag=CC --mode=link qcc  -g -O2   -o c_local_lat  c_local_lat-c_local_lat.o ../../../libczmq/
libczmq.la ../../../libzmq/libzmq.la -lstdc++ -lm -lsocket
qcc -g -O2 -o .libs/c_local_lat c_local_lat-c_local_lat.o  ../../../libczmq/.libs/libczmq.so /opt/zmq-1.0.1/libzmq/.libs
/libzmq.so ../../../libzmq/.libs/libzmq.so -lstdc++ -lm -lsocket  -Wl,--rpath -Wl,/usr/local/lib

/usr/qnx640/host/qnx6/x86/usr/bin/ntox86-ld: .libs/c_local_lat: hidden symbol `_mcount' in /usr/qnx640/target/qnx6/x86/
lib/libc.a(mcount.o) is referenced by DSO

/usr/qnx640/host/qnx6/x86/usr/bin/ntox86-ld: final link failed: Nonrepresentable section on output
cc: /usr/qnx640/host/qnx6/x86/usr/bin/ntox86-ld error 1
make[3]: *** [c_local_lat] Error 1
make[3]: Leaving directory `/opt/zmq-1.0.1/perf/tests/zmq'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/zmq-1.0.1/perf/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/zmq-1.0.1/perf'
make: *** [all-recursive] Error 1
#                                                                            


> Hello all,
> 
> I have tried to recompile ZeroMQ for QNX 6.4 and need some help.
> 
> Here are my steps:
> 
> - configure command:  "CC=qcc CXX=QCC configure --with-c --with-perf"
> - because of rpl_malloc isn't available I have added  "#define rpl_malloc 
> malloc" to platform.hpp
> - modified the LIBS specification of the Makefile located in perf to "LIBS = -
> lcpp -lcxa  -lstdc++ -lssl  -lsocket -lecpp"
> 
> With this modification the recompilation works well.
> 
> Starting "local_lat" with the command  "local_lat tcp://192.168.178.129:5555 
> 10 1000" shows the following abort:
> 
> # local_lat tcp://192.168.178.129:5555 10 10
> Assertion failed: !(it->revents & POLLNVAL) (poll.cpp:170)
> Abort (core dumped)
> 
> There must also be some basic problems ... the termination of the command "
> local_lat" aborts within the libcpp.so.4 calling the destructor of io_base.
> 
> Are there any tips to solve these problems?
> 
> The code of ZeroMQ works well with Linux and other OSes ...
> 
> Best Regards
> 
> --Armin
> 
> PS: ZeroMQ is available for Windows, Linux and other OSes at: http://www.
> zeromq.org


Re: Port of ZeroMQ to QNX 6.4  
What is the reason of this un-gracefully termination?

Breakpoint 1, main (argc=1, argv=0x8047b14) at local_lat.c:26
26      {
(gdb) c
Continuing.
usage: local_lat <bind-to> <message-size> <roundtrip-count>

Program received signal SIGSEGV, Segmentation fault.
0xb826042f in std::ios_base::~ios_base () from /usr/qnx640/target/qnx6/x86/lib/libcpp.so.4
(gdb) backtrace
#0  0xb826042f in std::ios_base::~ios_base () from /usr/qnx640/target/qnx6/x86/lib/libcpp.so.4
#1  0xb84051e6 in __tcf_3 () from /usr/qnx640/target/qnx6/x86/lib/libecpp.so.4
#2  0xb0329445 in __cxa_finalize () from /usr/qnx640/target/qnx6/x86/lib/libc.so.3
#3  0xb83fb624 in _btext () from /usr/qnx640/target/qnx6/x86/lib/libecpp.so.4
#4  0xb840c149 in _fini () from /usr/qnx640/target/qnx6/x86/lib/libecpp.so.4
#5  0xb033dae6 in fini () from /usr/qnx640/target/qnx6/x86/lib/libc.so.3
#6  0xb033dc48 in _do_exit_fini () from /usr/qnx640/target/qnx6/x86/lib/libc.so.3
#7  0xb03294e1 in _cleanup () from /usr/qnx640/target/qnx6/x86/lib/libc.so.3
#8  0xb0329bd7 in exit () from /usr/qnx640/target/qnx6/x86/lib/libc.so.3
#9  0x08048830 in _start ()
(gdb)         

> Hello all,
> 
> I have tried to recompile ZeroMQ for QNX 6.4 and need some help.
> 
> Here are my steps:
> 
> - configure command:  "CC=qcc CXX=QCC configure --with-c --with-perf"
> - because of rpl_malloc isn't available I have added  "#define rpl_malloc 
> malloc" to platform.hpp
> - modified the LIBS specification of the Makefile located in perf to "LIBS = -
> lcpp -lcxa  -lstdc++ -lssl  -lsocket -lecpp"
> 
> With this modification the recompilation works well.
> 
> Starting "local_lat" with the command  "local_lat tcp://192.168.178.129:5555 
> 10 1000" shows the following abort:
> 
> # local_lat tcp://192.168.178.129:5555 10 10
> Assertion failed: !(it->revents & POLLNVAL) (poll.cpp:170)
> Abort (core dumped)
> 
> There must also be some basic problems ... the termination of the command "
> local_lat" aborts within the libcpp.so.4 calling the destructor of io_base.
> 
> Are there any tips to solve these problems?
> 
> The code of ZeroMQ works well with Linux and other OSes ...
> 
> Best Regards
> 
> --Armin
> 
> PS: ZeroMQ is available for Windows, Linux and other OSes at: http://www.
> zeromq.org