[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