CHLone安装失败 [英] CHLone installation fails

查看:0
本文介绍了CHLone安装失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Ubuntu 16.04上安装CHLonev0.49以便安装pyCGNS。当我运行scons

时,如输出开头所示,依赖项已安装并且似乎可以通过scons找到
scons: Reading SConscript files ...
# =================================================================
# CHLone: production setup...
# CHLone: Cython & numpy found, add CGNS/Python build
# CHLone: Configuration uses HDF5 version 1.10.0-patch1 with:
# CHLone: + thread safe HDF5
# CHLone: + includes in ['/usr/local/hdf5/include']
# CHLone: + libraries in ['/usr/local/hdf5/lib']
# CHLone: compiler is gcc
# =================================================================
# CHLone: Build v0.49
# =================================================================
scons: done reading SConscript files.

但是,它随后会遇到如下输出问题:

scons: done reading SConscript files.
scons: Building targets ...
# CHLone: Compiling shared src/l3.c
.scons.linux2.tmp/build/src/l3.c: In function 'objlist_status':
.scons.linux2.tmp/build/src/l3.c:172:14: warning: format '%d' expects argument of type 'int', but argument 2 has type 'hid_t {aka long int}' [-Wformat=]
       printf("# L3 :HDF5 ID %d ALIVE (%s:%d) {%s}
", 
              ^
.scons.linux2.tmp/build/src/l3.c: In function 'HDF_Read_Array':
.scons.linux2.tmp/build/src/l3.c:680:20: warning: format '%d' expects argument of type 'int', but argument 5 has type 'hsize_t {aka long long unsigned int}' [-Wformat=]
       sprintf(dims,"%s%c%d",dims,pad,int_dim_vals[n]);
                    ^
In file included from .scons.linux2.tmp/build/src/l3P.h:6:0,
                 from .scons.linux2.tmp/build/src/l3.c:42:
.scons.linux2.tmp/build/src/l3.c:687:19: warning: format '%d' expects argument of type 'int', but argument 3 has type 'hid_t {aka long int}' [-Wformat=]
     L3M_DBG(ctxt,("HDF_Read_Array ALLOCATE %p from %d size %s)x%d=%d %s
",
                   ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c:687:19: warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
     L3M_DBG(ctxt,("HDF_Read_Array ALLOCATE %p from %d size %s)x%d=%d %s
",
                   ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c:687:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'long long unsigned int' [-Wformat=]
     L3M_DBG(ctxt,("HDF_Read_Array ALLOCATE %p from %d size %s)x%d=%d %s
",
                   ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c:692:19: warning: format '%d' expects argument of type 'int', but argument 3 has type 'hid_t {aka long int}' [-Wformat=]
     L3M_DBG(ctxt,("HDF_Read_Array NO ALLOCATE %p from %d
",data,nid));
                   ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c: In function 'HDF_Get_DataArray':
.scons.linux2.tmp/build/src/l3.c:779:17: warning: format '%d' expects argument of type 'int', but argument 2 has type 'hid_t {aka long int}' [-Wformat=]
   L3M_DBG(ctxt,("HDF_Get_DataArray from %d/%d/%d/%d
",
                 ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c:779:17: warning: format '%d' expects argument of type 'int', but argument 3 has type 'hid_t {aka long int}' [-Wformat=]
   L3M_DBG(ctxt,("HDF_Get_DataArray from %d/%d/%d/%d
",
                 ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c:779:17: warning: format '%d' expects argument of type 'int', but argument 4 has type 'hid_t {aka long int}' [-Wformat=]
   L3M_DBG(ctxt,("HDF_Get_DataArray from %d/%d/%d/%d
",
                 ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c:779:17: warning: format '%d' expects argument of type 'int', but argument 5 has type 'hid_t {aka long int}' [-Wformat=]
   L3M_DBG(ctxt,("HDF_Get_DataArray from %d/%d/%d/%d
",
                 ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:777:28: note: in definition of macro 'L3M_DBG'
 {printf("# L3 : +");printf msg;fflush(stdout);}}
                            ^
.scons.linux2.tmp/build/src/l3.c: In function 'L3_nodeUpdate':
.scons.linux2.tmp/build/src/l3.c:1318:21: warning: format '%d' expects argument of type 'int', but argument 2 has type 'hid_t {aka long int}' [-Wformat=]
     L3M_TRACE(ctxt,("L3_nodeUpdate H5Lmove [%d:%s]%d:%s
",pid,oldname,pid,node->name));
                     ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:781:26: note: in definition of macro 'L3M_TRACE'
 {printf("# L3 :");printf msg ;fflush(stdout);}}
                          ^
.scons.linux2.tmp/build/src/l3.c:1318:21: warning: format '%d' expects argument of type 'int', but argument 4 has type 'hid_t {aka long int}' [-Wformat=]
     L3M_TRACE(ctxt,("L3_nodeUpdate H5Lmove [%d:%s]%d:%s
",pid,oldname,pid,node->name));
                     ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:781:26: note: in definition of macro 'L3M_TRACE'
 {printf("# L3 :");printf msg ;fflush(stdout);}}
                          ^
.scons.linux2.tmp/build/src/l3.c: In function 'L3_nodeRetrieve':
.scons.linux2.tmp/build/src/l3.c:1604:19: warning: format '%d' expects argument of type 'int', but argument 2 has type 'hid_t {aka long int}' [-Wformat=]
   L3M_TRACE(ctxt,("L3_nodeRetrieve [%d]
",oid));
                   ^
.scons.linux2.tmp/build/src/include/CHLone/l3.h:781:26: note: in definition of macro 'L3M_TRACE'
 {printf("# L3 :");printf msg ;fflush(stdout);}}
                          ^
.scons.linux2.tmp/build/src/l3.c: At top level:
.scons.linux2.tmp/build/src/l3.c:2045:7: error: conflicting types for 'L3_incRef'
 hid_t L3_incRef(L3_Cursor_t *ctxt,hid_t id)
       ^
In file included from .scons.linux2.tmp/build/src/l3P.h:6:0,
                 from .scons.linux2.tmp/build/src/l3.c:42:
.scons.linux2.tmp/build/src/include/CHLone/l3.h:517:10: note: previous declaration of 'L3_incRef' was here
 /*#*/int L3_incRef(L3_Cursor_t *ctxt,hid_t id);
          ^
scons: *** [.scons.linux2.tmp/build/src/l3.os] Error 1
scons: building terminated because of errors.  

有人能帮我做什么吗?我不知道问题出在哪里...

推荐答案

我也遇到过同样的问题,答案实际上在编译器日志中。表示l3.c(int)中的函数L3_incRef的返回类型与表头l3.h(hid_t)中的返回类型不一致。

L3_incRef的返回类型更改为l3.C中的int后,代码编译成功。

这篇关于CHLone安装失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆