Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#876 Build error: trotl_handle.h:374:33: error: request for member 'bytes' in 'retval', which is of non-class type 'int'

None
closed-fixed
Ivan Brezina
None
5
2013-12-20
2013-11-29
tom
No

For quite some time I'm getting the below build error.

I use

  • ArchLinux stable
  • gcc 4.8.2
  • Oracle Instant Client 12.1.0.1

[ 0%] Building CXX object extlibs/trotl/src/CMakeFiles/trotl.dir/trotl_anydata.cpp.o In file included from /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_anydata.h:39:0, from /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_anydata.cpp:36: /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_handle.h: In instantiation of 'RETTYPE trotl::OciHandle<TYPE>::get_attribute(ub4) [with RETTYPE = int; TYPE = OCISession; ub4 = unsigned int]': /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_conn.h:335:71: required from here /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_handle.h:374:33: error: request for member 'bytes' in 'retval', which is of non-class type 'int' ub1* p_retval = &retval.bytes[0]; ^ /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_handle.h:375:25: error: request for member 'bytes' in 'retval', which is of non-class type 'int' ub4 infoSize = sizeof(retval.bytes); ^ /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_handle.h:380:33: error: request for member 'bytes' in 'retval', which is of non-class type 'int' if( p_retval != &retval.bytes[0]) ^ /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_handle.h:384:25: error: request for member 'bytes' in 'retval', which is of non-class type 'int' memcpy(&retval.bytes[0], p_retval, (std::min)((size_t)infoSize, sizeof(retval.bytes))); ^ /home/tkuther/abs/tora-svn/src/tora/extlibs/trotl/src/trotl_handle.h:384:75: error: request for member 'bytes' in 'retval', which is of non-class type 'int' memcpy(&retval.bytes[0], p_retval, (std::min)((size_t)infoSize, sizeof(retval.bytes))); ^ extlibs/trotl/src/CMakeFiles/trotl.dir/build.make:60: recipe for target 'extlibs/trotl/src/CMakeFiles/trotl.dir/trotl_anydata.cpp.o' failed make[2]: *** [extlibs/trotl/src/CMakeFiles/trotl.dir/trotl_anydata.cpp.o] Error 1 CMakeFiles/Makefile2:342: recipe for target 'extlibs/trotl/src/CMakeFiles/trotl.dir/all' failed make[1]: *** [extlibs/trotl/src/CMakeFiles/trotl.dir/all] Error 2 Makefile:136: recipe for target 'all' failed make: *** [all] Error 2

Discussion

  • Ivan Brezina
    Ivan Brezina
    2013-12-11

    • assigned_to: Ivan Brezina
    • Group: -->
     
  • Ivan Brezina
    Ivan Brezina
    2013-12-11

    Try to comment out these three lines. This 12c feature is not used yet anyway:

    trotl_conn.h:334
    #if (OCI_MAJOR_VERSION >= 12)
            t = _session.get_attribute<boolean>(OCI_ATTR_TRANSACTION_IN_PROGRESS);
    #endif
    

    to

    trotl_conn.h:334
    #if 0
    #if (OCI_MAJOR_VERSION >= 12)
            t = _session.get_attribute<boolean>(OCI_ATTR_TRANSACTION_IN_PROGRESS);
    #endif
    #endif
    
     
  • tom
    tom
    2013-12-12

    That works. Thanks!

     
  • Ivan Brezina
    Ivan Brezina
    2013-12-20

    fixed

     
  • Ivan Brezina
    Ivan Brezina
    2013-12-20

    • status: open --> closed-fixed