[zeromq-dev] libzmq not working in a custom embedded linux box

Alejandro Javier Schwoykoski chaicko at gmail.com
Wed Jul 20 18:42:10 CEST 2016


Hello all,

I have a device that runs a customized (more like handcrafted) embedded
Linux with a resident application that controls the whole device. I was
asked to develop a daemon program which basically implements a special web
service (REST) that forwards external requests to the resident program and
pushes asynchronous notifications from the resident program to external
peers (the resident program is like a backend for this new service). I was
also asked to create the communication library that integrates both
programs and I thought it was a good scenario to use zmq+czmq (a req/rep
and a pub/sub) instead of implementing it from scratch.

Given that the target is a rather old and a non-standard Linux distro I
first wanted to confirm that the zmq library works. I was able to cross
compile the library and tests correctly as well as the "hello world"
examples of the zguide but they do not run as expected in the target.
Specifically, I checked the "test_reqrep_ipc" and the hwserver/hwclient
programs. I noticed that the programs do run correctly but on socket
receive operations they just block forever (context creation, socket bind
and connect do work). I tried different builds of zmq (using autotools and
cmake, shared lib, static lib, with debug, no debug, etc) and the result
was always the same.

Does anyone know what can be the issue?

FYI, here is some information of the target and cross tool:

# uname -a
Linux ASC8848A *2.6.28.9*-Mozart-8G #37 PREEMPT Fri Jun 3 14:59:58 PDT 2016
armv5tejl unknown

chaicko at gauss:~$ arm-unknown-linux-uclibcgnueabi-g++ -v
Using built-in specs.
Target: arm-unknown-linux-uclibcgnueabi
Configured with:
/home_3/jack.zhan/buildroot/buildroot-2010.11-r46561-opt/output/toolchain/gcc-4.3.5/configure
--prefix=/opt/Mozart_toolchain/arm-eabi-uclibc//usr
--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu
--target=arm-unknown-linux-uclibcgnueabi --enable-languages=c,c++
--with-sysroot=/opt/Mozart_toolchain/arm-eabi-uclibc/
--with-build-time-tools=/opt/Mozart_toolchain/arm-eabi-uclibc//usr/arm-unknown-linux-uclibcgnueabi/bin
--disable-__cxa_atexit --enable-target-optspace --with-gnu-ld
--disable-libssp --disable-multilib --disable-tls --enable-shared
--with-gmp=/home_3/jack.zhan/buildroot/buildroot-2010.11-r46561-opt/output/toolchain/gmp
--with-mpfr=/home_3/jack.zhan/buildroot/buildroot-2010.11-r46561-opt/output/toolchain/mpfr
--disable-nls --enable-threads --disable-decimal-float --with-float=soft
--with-abi=aapcs-linux --with-arch=armv5te --with-tune=arm926ej-s
--with-pkgversion='Buildroot 2010.11' --with-bugurl=
http://bugs.buildroot.net/
Thread model: posix
*gcc version 4.3.5 *(Buildroot 2010.11)


You can find the output from ./configure here: http://pastebin.com/pVFf5x09

Thank you for your help.

--
Alejandro J. Schwoykoski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160720/5d7a89b1/attachment.html>


More information about the zeromq-dev mailing list