Menu

#2018 amf: Build failure on 32-bit system

5.1.RC1
fixed
nobody
None
defect
amf
nd
5.1.FC
major
2016-09-12
2016-09-09
No

Build fails on 32-bit systems (GCC version 6.1.1):

make[7]: Entering directory '/home/opensaf/opensaf-staging/osaf/services/saf/amf/amfnd'
  CXX      osafamfnd-comp.o
In file included from ../../../../../osaf/libs/core/include/ncs_osprm.h:32:0,
                 from ../../../../../osaf/libs/core/leap/include/ncsdlib.h:33,
                 from ../../../../../osaf/libs/common/amf/include/amf.h:37,
                 from ../../../../../osaf/services/saf/amf/amfnd/include/avnd.h:38,
                 from comp.cc:35:
comp.cc: In function 'uint32_t avnd_amfa_mds_info_evh(AVND_CB*, AVND_EVT*)':
../../../../../osaf/libs/core/common/include/logtrace.h:145:127: error: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'MDS_DEST {aka long long unsigned int}' [-Werror=format=]
 #define TRACE_ENTER2(format, args...) _logtrace_trace(__FILE__, __LINE__, CAT_TRACE_ENTER, "%s: " format, __FUNCTION__, ##args)
                                                                                                                               ^
comp.cc:3016:3: note: in expansion of macro 'TRACE_ENTER2'
   TRACE_ENTER2("mds_dest :%lu, MDS version:%d",
   ^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Makefile:765: recipe for target 'osafamfnd-comp.o' failed

Related

Tickets: #2018

Discussion

  • Long H Buu Nguyen

    • status: unassigned --> accepted
    • assigned_to: Long HB Nguyen
     
  • Praveen

    Praveen - 2016-09-12

    Hi Long,

    I think this could be the fix:
    root@SC-1:/home/staging/osaf/services/saf/amf/amfnd# hg diff
    diff --git a/osaf/services/saf/amf/amfnd/comp.cc b/osaf/services/saf/amf/amfnd/comp.cc
    --- a/osaf/services/saf/amf/amfnd/comp.cc
    +++ b/osaf/services/saf/amf/amfnd/comp.cc
    @@ -3013,7 +3013,7 @@ void avnd_amf_pxied_comp_clean_cbk_fill(
    * @return uint32_t
    /
    uint32_t avnd_amfa_mds_info_evh(AVND_CB
    cb, AVND_EVT *evt) {
    - TRACE_ENTER2("mds_dest :%lu, MDS version:%d",
    + TRACE_ENTER2("mds_dest :%" PRIx64 ", MDS version:%d",
    evt->info.amfa_mds_info.mds_dest, evt->info.amfa_mds_info.mds_version);
    agent_mds_ver_db[evt->info.amfa_mds_info.mds_dest] = evt->info.amfa_mds_info.mds_version;
    TRACE_LEAVE();

    Thanks,
    Praveen

     
  • Long H Buu Nguyen

    Hi Praveen,

    Yes, amf uses your that fix in some other places.

    Thanks,
    Long Nguyen.

     
  • Long H Buu Nguyen

    • status: accepted --> review
     
  • Minh Hon Chau

    Minh Hon Chau - 2016-09-12

    changeset: 8051:2c08aa065812
    tag: tip
    parent: 8047:9dd223204b0a
    user: Long Nguyen long.hb.nguyen@dektech.com.au
    date: Mon Sep 12 19:52:02 2016 +1000
    summary: AMF: Build failure on 32-bit system [#2018]

    changeset: 8050:602e4938d0c3
    branch: opensaf-5.1.x
    parent: 8048:2588d9e5fe8a
    user: Long Nguyen long.hb.nguyen@dektech.com.au
    date: Mon Sep 12 19:48:38 2016 +1000
    summary: AMF: Build failure on 32-bit system [#2018]

     

    Related

    Tickets: #2018

  • Minh Hon Chau

    Minh Hon Chau - 2016-09-12
    • status: review --> fixed
    • assigned_to: Long HB Nguyen --> nobody
     

Log in to post a comment.