[odb-users] ODB 2.5.0
Kingle Zhuang
kingle.zhuang at ringcentral.com
Tue May 28 20:09:30 EDT 2019
Thank you for your reply.
For 2, I suggest we can use int64_t instead of long long int when build on 64 bit platform.
Attachment is error log when build 64 bit for android
By the way, I installed build2 according to the documentation[https://build2.org/install.xhtml]. I tried two mac[10.14.4] machines that were not installed successfully, so I can't use the build2 tool. I tried 0.10 and 0.9.
On 5/28/19, 10:55 PM, "Boris Kolpackov" <boris at codesynthesis.com> wrote:
Kingle Zhuang <kingle.zhuang at ringcentral.com> writes:
> 1. When will the 2.5.0 version can be official released?
While the release is overdue we don't yet have a firm date.
The reason for the delay is that we are moving to a uniform
build/packaging toolchain as well as more of "continuous
delivery" model in the future. I would recommend that you
do not wait for the official release and start using the
new setup as described here:
https://urldefense.proofpoint.com/v2/url?u=https-3A__codesynthesis.com_products_odb_doc_install-2Dbuild2.xhtml&d=DwIDaQ&c=fxtm8VyUXgCVDKhi9yIVsVsjq1ocZ-LZVehzdzjopw0&r=-h5cCTUebAX5iBiy5e8p2yBktDE1lF2eG68a_tt_aQw&m=wXsXGmbN3LbzLpZDmc0DhFWWxWP138oVsTQH9czdB1A&s=DP2BEhOBqmNEZ8wVrllT3w6Yc0GOBC-ySZv5ckCJOb4&e=
At this stage in the development cycle, it is as stable as 2.4.0,
we are using it ourselves in multiple projects, we have migrated
a number of users with very good results, and it is fully supported
(i.e., we provide the same level of support as for 2.4.0).
> 2. For android arm64-v8a support, int64_t is type defined to long on
> android ndk, and odb compiler only generate long long int for int64_t,
> so when we use std::vector<int64_t> for field, odb compiler will
> generate std::vector<long long int> for that, finally cause compiler
> error when build 64bit app. So my question is that ‘Is it fix on
> 2.5.0?’
I am guessing you are generating the database support code on Linux
and then compiling it for the Android target. If that's the case, then
yes, chances are this could be fixed in 2.5.0 since we've done some
extra work on using aliases instead of the underlying types (it is still
not always possible). So I would suggest that you try 2.5.0 and see how
it goes.
-------------- next part --------------
FAILED: /Users/bill.shen/Library/Android/ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android --gcc-toolchain=/Users/bill.shen/Library/Android/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64 --sysroot=/Users/bill.shen/Library/Android/ndk/sysroot -DLOG4CPP_FIX_ERROR_COLLISION -DOPENSSL_NO_ENGINE -DSIO_TLS -DUSE_ASIO=1 -DWEBRTC_ANDROID -DWEBRTC_POSIX -D_ANDROID_ -D__STDINT_LIMITS -I/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/platform/android/libglipcore/../../../../../CoreLib/external/common -I/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/platform/android/libglipcore/../../../../../CoreLib/external/optional -I/Users/bill.shen/.conan/data/rapidjson/1.1.0/common/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include -I/Users/bill.shen/.conan/data/pcre/8.43/mthor/stable/package/de9cd4a5ee68e8229a756ab59655c7ba47691cf8/include -I/Users/bill.shen/.conan/data/odb/3.27.0/mthor/stable/package/de9cd4a5ee68e8229a756ab59655c7ba47691cf8/include -I/Users/bill.shen/.conan/data/formatting/5.3.0/mthor/stable/package/de9cd4a5ee68e8229a756ab59655c7ba47691cf8/include -isystem /Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include -isystem /Users/bill.shen/Library/Android/ndk/sources/android/support/include -isystem /Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++abi/include -isystem /Users/bill.shen/Library/Android/ndk/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -std=c++1y -DNO_WEBRTC -std=c++1y -O0 -fno-limit-debug-info -fPIC -O0 -pthread -fexceptions -frtti -MD -MT core_model/CMakeFiles/core_model.dir/glip-odb.cxx.o -MF core_model/CMakeFiles/core_model.dir/glip-odb.cxx.o.d -o core_model/CMakeFiles/core_model.dir/glip-odb.cxx.o -c /Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:13088:45: error: no viable conversion from 'const vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:13099:45: error: no viable conversion from 'const vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:13185:45: error: no viable conversion from 'const vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:13196:45: error: no viable conversion from 'const vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'const std::vector<int64_t>' (aka 'const vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:13453:35: error: no viable conversion from 'vector<long long>' to 'vector<int64_t>'
obj.setGuestUserCompanyIDs (v);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'const std::__ndk1::vector<long, std::__ndk1::allocator<long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'initializer_list<std::__ndk1::vector<long, std::__ndk1::allocator<long> >::value_type>' (aka 'initializer_list<long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'std::__ndk1::vector<long, std::__ndk1::allocator<long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/group.hpp:164:58: note: passing argument to parameter 'guestUserCompanyIDs' here
void setGuestUserCompanyIDs(std::vector<int64_t> guestUserCompanyIDs) { m_guestUserCompanyIDs = guestUserCompanyIDs; }
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:13459:39: error: non-const lvalue reference to type 'vector<long long>' cannot bind to a value of unrelated type 'vector<int64_t>'
::std::vector< long long int >& v =
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:18592:45: error: no viable conversion from 'vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:18693:45: error: no viable conversion from 'vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:19045:32: error: no viable conversion from 'vector<long long>' to 'vector<int64_t>'
obj.setAtmentionPostIds (v);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'const std::__ndk1::vector<long, std::__ndk1::allocator<long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'initializer_list<std::__ndk1::vector<long, std::__ndk1::allocator<long> >::value_type>' (aka 'initializer_list<long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'std::__ndk1::vector<long, std::__ndk1::allocator<long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/item.hpp:223:55: note: passing argument to parameter 'atmentionPostIds' here
void setAtmentionPostIds(std::vector<int64_t> atmentionPostIds) {
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:53307:45: error: no viable conversion from 'vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:53399:45: error: no viable conversion from 'vector<int64_t>' to 'const vector<long long>'
::std::vector< long long int > const& v =
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'const std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'initializer_list<std::__ndk1::vector<long long, std::__ndk1::allocator<long long> >::value_type>' (aka 'initializer_list<long long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from 'std::vector<int64_t>' (aka 'vector<long>') to 'std::__ndk1::vector<long long, std::__ndk1::allocator<long long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/glip-odb.cxx:53774:35: error: no viable conversion from 'vector<long long>' to 'vector<int64_t>'
obj.setCompleteAssigneedId (v);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:534:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'const std::__ndk1::vector<long, std::__ndk1::allocator<long> > &' for 1st argument
vector(const vector& __x);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:541:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'initializer_list<std::__ndk1::vector<long, std::__ndk1::allocator<long> >::value_type>' (aka 'initializer_list<long>') for 1st argument
vector(initializer_list<value_type> __il);
^
/Users/bill.shen/Library/Android/ndk/sources/cxx-stl/llvm-libc++/include/vector:547:5: note: candidate constructor not viable: no known conversion from '::std::vector<long long>' to 'std::__ndk1::vector<long, std::__ndk1::allocator<long> > &&' for 1st argument
vector(vector&& __x)
^
/Users/bill.shen/workspace/Rincentral/RingCentral-Android/CoreLib/GlipCore/GlipCore/model/item_task.hpp:144:58: note: passing argument to parameter 'completeAssigneedId' here
void setCompleteAssigneedId(std::vector<int64_t> completeAssigneedId) { m_completeAssigneedId = completeAssigneedId; }
^
12 errors generated.
ninja: build stopped: subcommand failed.
More information about the odb-users
mailing list