[zeromq-dev] (no subject)

Eric n1555 at yahoo.fr
Wed Jul 18 01:31:19 CEST 2012


Thanks,
I replaced assign by clear/append. But it still not works...something make me feel that I don't have any STD lib available :making a call to arm-linux-androideabi-ld libjzmq.so give me this :
/home/xxx/libjzmq.so: undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'/home/xxx/libjzmq.so: undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'/home/xxx/libjzmq.so: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'/home/xxx/libjzmq.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)'/home/xxx/libjzmq.so: undefined reference to `std::string::compare(char const*) const'/home/xxx/libjzmq.so: undefined reference to `std::locale::locale()'/home/xxx/libjzmq.so: undefined reference to `__aeabi_uldivmod'/home/xxx/libjzmq.so: undefined reference to `std::string::find(char const*, unsigned int, unsigned int) const'/home/xxx/libjzmq.so: undefined reference to `std::string::append(char const*)'/home/xxx/libjzmq.so: undefined reference to
 `std::__throw_bad_alloc()'/home/xxx/libjzmq.so: undefined reference to `std::string::assign(std::string const&)'/home/xxx/libjzmq.so: undefined reference to `vtable for std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'/home/xxx/libjzmq.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'/home/xxx/libjzmq.so: undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()'/home/xxx/libjzmq.so: undefined reference to `std::__throw_length_error(char const*)'/home/xxx/libjzmq.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'/home/xxx/libjzmq.so: undefined reference to `VTT for std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'/home/xxx/libjzmq.so: undefined reference to `__gnu_cxx::__atomic_add(int volatile*, int)'/home/xxx/libjzmq.so: undefined
 reference to `std::string::_Rep::_S_empty_rep_storage'/home/xxx/libjzmq.so: undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'/home/xxx/libjzmq.so: undefined reference to `std::ostream::operator<<(int)'/home/xxx/libjzmq.so: undefined reference to `std::ios_base::ios_base()'/home/xxx/libjzmq.so: undefined reference to `std::string::_M_leak()'/home/xxx/libjzmq.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)'/home/xxx/libjzmq.so: undefined reference to `std::string::_M_mutate(unsigned int, unsigned int, unsigned int)'/home/xxx/libjzmq.so: undefined reference to `std::locale::~locale()'/home/xxx/libjzmq.so: undefined reference to `std::string::clear()'/home/xxx/libjzmq.so: undefined reference to `std::__throw_logic_error(char const*)'/home/xxx/libjzmq.so: undefined
 reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'/home/xxx/libjzmq.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'/home/xxx/libjzmq.so: undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'/home/xxx/libjzmq.so: undefined reference to `std::string::_M_leak_hard()'/home/xxx/libjzmq.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'/home/xxx/libjzmq.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned int, unsigned int)'/home/xxx/libjzmq.so: undefined reference to `vtable for std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'/home/xxx/libjzmq.so: undefined reference to `vtable
 for std::basic_streambuf<char, std::char_traits<char> >'/home/xxx/libjzmq.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned int, std::allocator<char> const&)'/home/xxx/libjzmq.so: undefined reference to `std::ios_base::~ios_base()'/home/xxx/libjzmq.so: undefined reference to `__aeabi_uidivmod'/home/xxx/libjzmq.so: undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'/home/xxx/libjzmq.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >::~basic_istream()'/home/xxx/libjzmq.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'/home/xxx/libjzmq.so: undefined reference to `operator delete(void*, std::nothrow_t const&)'/home/xxx/libjzmq.so: undefined reference to `std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&)'/home/xxx/libjzmq.so: undefined reference to
 `std::__throw_out_of_range(char const*)'/home/xxx/libjzmq.so: undefined reference to `operator new(unsigned int, std::nothrow_t const&)'/home/xxx/libjzmq.so: undefined reference to `std::string::_Rep::_M_destroy(std::allocator<char> const&)'/home/xxx/libjzmq.so: undefined reference to `std::string::append(char const*, unsigned int)'
I'll have a look to what is going on with my configuration.
Best regards.
Eric

--- En date de : Mer 18.7.12, Ron Elliott <ronaldbelliott at gmail.com> a écrit :

De: Ron Elliott <ronaldbelliott at gmail.com>
Objet: Re: [zeromq-dev] (no subject)
À: "ZeroMQ development list" <zeromq-dev at lists.zeromq.org>, victor at iso3103.net
Date: Mercredi 18 juillet 2012, 0h53

perhaps this is an option: http://www.crystax.net/en/android/ndk/7
On Jul 17, 2012 3:48 PM, "Victor Perron" <victor at iso3103.net> wrote:

Same answer as before. I paste it down there.

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,

I'll take a look for an acceptable patch tomorrow, if nobody shows up with a better suspect/solution of course !
On Wed, Jul 18, 2012 at 12:35 AM, Eric <n1555 at yahoo.fr> wrote:



Trying to use jzmq under android.


I generated using zmq3.x procedure, having to change config.sub and config.guess files but generation is OK and match the scheme on http://www.zeromq.org/build:android.



But I always get unsatisfiedlink error when loading library libjzmq (loadlibrary(jzmq)), whereas i'm able to load libzmq without any problem. I've seen other people asking the same question without answer. Searching for hours over the net, no idea, any help would be appreciated!



Best regards.


Eric


_______________________________________________

zeromq-dev mailing list

zeromq-dev at lists.zeromq.org

http://lists.zeromq.org/mailman/listinfo/zeromq-dev





-- 
Victor



_______________________________________________

zeromq-dev mailing list

zeromq-dev at lists.zeromq.org

http://lists.zeromq.org/mailman/listinfo/zeromq-dev




-----La pièce jointe associée suit-----

_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20120718/b4f6321e/attachment.htm>


More information about the zeromq-dev mailing list