Botan and Android

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Botan and Android

Jeffrey Walton
Hi Jack,

I'm almost there with Android..... I've actually got the static and
dynamic libraries built. I'm choking on the test suite.

Do you want to take a shot at working around Android and [embedded,
lame] STLport?

I would try removing the call to rend() in std::map<_Key, _Tp,
_Compare, _Alloc>::rend(). But I really should not modify program
code. Fiddling with a Makefile is one thing, but modifying source code
is another.

Jeff

arm-linux-androideabi-g++
--sysroot=/opt/android-ndk-r8e//platforms/android-14/arch-arm
-I/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/
-Ibuild/include -O2 -D_REENTRANT -Wno-long-long -fpermissive -W -Wall
-c checks/bench.cpp -o build/checks/bench.o
checks/bench.cpp: In function 'void (anonymous
namespace)::report_results(const string&, const
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, double>&)':
checks/bench.cpp:157:102: error: no match for 'operator!=' in 'i !=
std::map<_Key, _Tp, _Compare, _Alloc>::rend() [with _Key = double, _Tp
= std::basic_string<char, std::char_traits<char>, std::allocator<char>
>, _Compare = std::less<double>, _Alloc =
std::allocator<std::pair<double const, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >, std::map<_Key,
_Tp, _Compare, _Alloc>::reverse_iterator =
std::reverse_iterator<std::priv::_Rb_tree_iterator<std::pair<double
const, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::priv::_MapTraitsT<std::pair<double
const, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > >]()'
checks/bench.cpp:157:102: note: candidates are:
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_relops_cont.h:21:1:
note: template<class _Tp, class _Alloc> bool std::operator!=(const
std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_relops_cont.h:21:1:
note: template<class _Key, class _Tp, class _Compare, class _Alloc>
bool std::operator!=(const std::multimap<_Key, _Tp, _Compare,
_Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_relops_cont.h:21:1:
note: template<class _Key, class _Tp, class _Compare, class _Alloc>
bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&,
const std::map<_Key, _Tp, _Compare, _Alloc>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_relops_cont.h:21:1:
note: template<class _Key, class _Compare, class _Value, class
_KeyOfValue, class _Traits, class _Alloc> bool std::operator!=(const
std::priv::_Rb_tree<_Key, _Compare, _Value, _KeyOfValue, _Traits,
_Alloc>&, const std::priv::_Rb_tree<_Key, _Compare, _Value,
_KeyOfValue, _Traits, _Alloc>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_relops_cont.h:21:1:
note: template<class _Tp, class _Alloc> bool std::operator!=(const
std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_istreambuf_iterator.h:118:24:
note: template<class _CharT, class _Traits> bool std::operator!=(const
std::istreambuf_iterator<_CharT, _Traits>&, const
std::istreambuf_iterator<_CharT, _Traits>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_string_operators.h:473:1:
note: template<class _CharT, class _Traits, class _Alloc> bool
std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&,
const _CharT*)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_string_operators.h:465:1:
note: template<class _CharT, class _Traits, class _Alloc> bool
std::operator!=(const _CharT*, const std::basic_string<_CharT,
_Traits, _Alloc>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_string_operators.h:425:1:
note: template<class _CharT, class _Traits, class _Alloc> bool
std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&,
const std::basic_string<_CharT, _Traits, _Alloc>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_alloc.h:384:24:
note: template<class _T1, class _T2> bool std::operator!=(const
std::allocator<_T1>&, const std::allocator<_T2>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_iterator.h:124:24:
note: template<class _Iterator> bool std::operator!=(const
std::reverse_iterator<_Iterator>&, const
std::reverse_iterator<_Iterator>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_pair.h:92:24:
note: template<class _T1, class _T2> bool std::operator!=(const
std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_deque.h:247:1:
note: template<class _Tp> bool std::priv::operator!=(const
std::priv::_Deque_iterator_base<_Tp>&, const
std::priv::_Deque_iterator_base<_Tp>&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_bvector.h:150:25:
note: bool std::priv::operator!=(const std::priv::_Bit_iterator_base&,
const std::priv::_Bit_iterator_base&)
/opt/android-ndk-r8e//sources/cxx-stl/stlport/stlport/stl/_bvector.h:150:25:
note:   no known conversion for argument 1 from 'std::map<double,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
>::const_reverse_iterator {aka
std::reverse_iterator<std::priv::_Rb_tree_iterator<std::pair<double
const, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::priv::_ConstMapTraitsT<std::pair<double
const, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > >}' to 'const
std::priv::_Bit_iterator_base&'
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev