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 <[email protected]> a écrit :

De: Ron Elliott <[email protected]>
Objet: Re: [zeromq-dev] (no subject)
À: "ZeroMQ development list" <[email protected]>, [email protected]
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" <[email protected]> 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 <[email protected]> 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

[email protected]

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





-- 
Victor



_______________________________________________

zeromq-dev mailing list

[email protected]

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




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

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to