[zeromq-dev] ZeroMQ for Android: Problem in building the Android APK

Victor Perron victor at iso3103.net
Wed Jul 18 15:12:43 CEST 2012


I thought, not use 'assign'. But the issue has been reported and discussed
in the Zeromq dev list.
I changed the Wiki today; you should stick to 2.2 for now, because a proper
fix is out of quick reach with 3.x .

It's either a lot of changes in the instructions in order to make zeromq
use stlport library, or get rid of the STL functions almost entirely.
Even using the STL has very little chances to succeed and will need heavy
patches to zeromq, would it only be for the headers inclusion; but I'm also
unsure that everything zeromq uses is defined by stlport.
Moreover, stlport is beta, so it's quite dangerous to rely on it.

I'd appreciate if somebody really involved into libzmq 3.x core could
comment about this...

On Wed, Jul 18, 2012 at 2:55 PM, Sharon Ben-Asher
<Sharon.Ben-Asher at avg.com>wrote:

> Forget to mention that I didn't know what you meant by "fix those lines"
> How do I fix them?
>
> -----Original Message-----
> From: Victor Perron <victor at iso3103.net>
> Subject: Re: [zeromq-dev] zeromq-dev Digest, Vol 55, Issue 14
> To: ZeroMQ development list <zeromq-dev at lists.zeromq.org>
> Message-ID:
>         <
> CAF9FejHK-9LOrwhHMrinkeaiq5AkwAcxijVV9K6X45j5d__EaQ at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi,
>
> In that case it seems that you discovered something serious.
> I took a look at it, and indeed the assign() symbol from std::string class
> seems undefined.
> That would mean, Android does _not_ define such a function in its SDK.
>
> Now, the proper way to get around this is a patch to Zeromq 3.x.
> You'll have to fix those lines (my guess):
>
> ./src/ipc_listener.cpp:151:    filename.assign(addr_);
> ./src/socket_base.cpp:331:            options.last_endpoint.assign (addr_);
> ./src/socket_base.cpp:480:        options.last_endpoint.assign (addr_);
> ./src/tcp_address.cpp:503:        addr_str.assign (name_, delimiter -
> name_);
> ./src/tcp_address.cpp:504:        mask_str.assign (delimiter + 1);
> ./src/tcp_address.cpp:511:        addr_str.assign (name_);
>
> ... and try to compile again. If there are no other undefined symbols,
> that should work.
> That issue did not exist in ZeroMQ 2.2 though, that one didn't make an
> extensive use of std::string.
>
> Keep me updated, we'll see for a pull request when I'll be less busy ;)
>
> Best regards,
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>



-- 
Victor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20120718/c89d1cf3/attachment.htm>


More information about the zeromq-dev mailing list