All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [ceph-users] compile error on centos 5.9
       [not found] <51FF1100.2000004@gmail.com>
@ 2013-08-05  4:03 ` Sage Weil
  2013-08-05  9:51   ` huangjun
  0 siblings, 1 reply; 3+ messages in thread
From: Sage Weil @ 2013-08-05  4:03 UTC (permalink / raw)
  To: huangjun; +Cc: ceph-devel

[Moving to ceph-devel]

On Mon, 5 Aug 2013, huangjun wrote:
> hi,all
> i compiled ceph 0.61.3 on centos 5.9,the "sh autogen.sh" and
> "./configure " is ok, but when i "make", an error occurs, the err log:
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
> In function ?int rados::cls::lock::lock(librados::IoCtx*, const
> std::string&, const std::string&, ClsLockType, const std::string&, const
> std::string&, const std::string&, const utime_t&, uint8_t)?:
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
> error: ?class __gnu_cxx::lock? is not a function,
> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
> std::string&, ClsLockType, const std::string&, const std::string&, const
> std::string&, const utime_t&, uint8_t)?
> cls/lock/cls_lock_client.cc:62: error: in call to ?lock?
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
> In member function ?void
> rados::cls::lock::Lock::lock_shared(librados::ObjectWriteOperation*)?:
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
> error: ?class __gnu_cxx::lock? is not a function,
> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
> std::string&, ClsLockType, const std::string&, const std::string&, const
> std::string&, const utime_t&, uint8_t)?
> cls/lock/cls_lock_client.cc:181: error: in call to ?lock?
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
> In member function ?int
> rados::cls::lock::Lock::lock_shared(librados::IoCtx*, const std::string&)?:
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
> error: ?class __gnu_cxx::lock? is not a function,
> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
> std::string&, ClsLockType, const std::string&, const std::string&, const
> std::string&, const utime_t&, uint8_t)?
> cls/lock/cls_lock_client.cc:187: error: in call to ?lock?
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
> In member function ?void
> rados::cls::lock::Lock::lock_exclusive(librados::ObjectWriteOperation*)?:
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
> error: ?class __gnu_cxx::lock? is not a function,
> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
> std::string&, ClsLockType, const std::string&, const std::string&, const
> std::string&, const utime_t&, uint8_t)?
> cls/lock/cls_lock_client.cc:193: error: in call to ?lock?
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
> In member function ?int
> rados::cls::lock::Lock::lock_exclusive(librados::IoCtx*, const
> std::string&)?:
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
> error: ?class __gnu_cxx::lock? is not a function,
> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
> std::string&, ClsLockType, const std::string&, const std::string&, const
> std::string&, const utime_t&, uint8_t)?
> cls/lock/cls_lock_client.cc:199: error: in call to ?lock?
> make[3]: *** [cls_lock_client.o] Error 1
> 
> the gcc version is 4.1.2, does this make a difference?

I suspect so.  Mark Nelson successfully built on RHEL5 a while back but 
needed to use a newer gcc.

> what should i do if i want to use ceph-fuse client on centos 5.9? must
> compile the ceph? or just compile the ceph-fuse code?

Right.. you only need the ceph-fuse code.  'make ceph-fuse' may do the 
trick.  Otherwise, you'll need to just strip out the osd stuff from 
Makefile.am.

Either way, let us know how it goes, as others would benefit from this as 
well!

Thanks-
sage

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ceph-users] compile error on centos 5.9
  2013-08-05  4:03 ` [ceph-users] compile error on centos 5.9 Sage Weil
@ 2013-08-05  9:51   ` huangjun
  2013-08-06 14:58     ` huangjun
  0 siblings, 1 reply; 3+ messages in thread
From: huangjun @ 2013-08-05  9:51 UTC (permalink / raw)
  To: Sage Weil; +Cc: ceph-devel, mark.nelson

于 2013/8/5 12:03, Sage Weil 写道:
> [Moving to ceph-devel]
>
> On Mon, 5 Aug 2013, huangjun wrote:
>> hi,all
>> i compiled ceph 0.61.3 on centos 5.9,the "sh autogen.sh" and
>> "./configure " is ok, but when i "make", an error occurs, the err log:
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
>> In function ?int rados::cls::lock::lock(librados::IoCtx*, const
>> std::string&, const std::string&, ClsLockType, const std::string&, const
>> std::string&, const std::string&, const utime_t&, uint8_t)?:
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
>> error: ?class __gnu_cxx::lock? is not a function,
>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>> std::string&, ClsLockType, const std::string&, const std::string&, const
>> std::string&, const utime_t&, uint8_t)?
>> cls/lock/cls_lock_client.cc:62: error: in call to ?lock?
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
>> In member function ?void
>> rados::cls::lock::Lock::lock_shared(librados::ObjectWriteOperation*)?:
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
>> error: ?class __gnu_cxx::lock? is not a function,
>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>> std::string&, ClsLockType, const std::string&, const std::string&, const
>> std::string&, const utime_t&, uint8_t)?
>> cls/lock/cls_lock_client.cc:181: error: in call to ?lock?
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
>> In member function ?int
>> rados::cls::lock::Lock::lock_shared(librados::IoCtx*, const std::string&)?:
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
>> error: ?class __gnu_cxx::lock? is not a function,
>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>> std::string&, ClsLockType, const std::string&, const std::string&, const
>> std::string&, const utime_t&, uint8_t)?
>> cls/lock/cls_lock_client.cc:187: error: in call to ?lock?
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
>> In member function ?void
>> rados::cls::lock::Lock::lock_exclusive(librados::ObjectWriteOperation*)?:
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
>> error: ?class __gnu_cxx::lock? is not a function,
>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>> std::string&, ClsLockType, const std::string&, const std::string&, const
>> std::string&, const utime_t&, uint8_t)?
>> cls/lock/cls_lock_client.cc:193: error: in call to ?lock?
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:
>> In member function ?int
>> rados::cls::lock::Lock::lock_exclusive(librados::IoCtx*, const
>> std::string&)?:
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83:
>> error: ?class __gnu_cxx::lock? is not a function,
>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>> std::string&, ClsLockType, const std::string&, const std::string&, const
>> std::string&, const utime_t&, uint8_t)?
>> cls/lock/cls_lock_client.cc:199: error: in call to ?lock?
>> make[3]: *** [cls_lock_client.o] Error 1
>>
>> the gcc version is 4.1.2, does this make a difference?
> I suspect so.  Mark Nelson successfully built on RHEL5 a while back but
> needed to use a newer gcc.
>
>> what should i do if i want to use ceph-fuse client on centos 5.9? must
>> compile the ceph? or just compile the ceph-fuse code?
> Right.. you only need the ceph-fuse code.  'make ceph-fuse' may do the
> trick.  Otherwise, you'll need to just strip out the osd stuff from
> Makefile.am.
>
> Either way, let us know how it goes, as others would benefit from this as
> well!
>
> Thanks-
> sage
unfortunatly, i installed gcc4.4.7 and recompiled source code, but 
failed again:

/usr/include/sys/types.h:46: error: conflicting declaration ‘typedef 
__loff_t loff_t’
/usr/include/linux/types.h:30: error: ‘loff_t’ has a previous 
declaration as ‘typedef __kernel_loff_t loff_t’
/usr/include/sys/types.h:62: error: conflicting declaration ‘typedef 
__dev_t dev_t’
/usr/include/linux/types.h:13: error: ‘dev_t’ has a previous declaration 
as ‘typedef __kernel_dev_t dev_t’
In file included from /usr/include/sys/types.h:133,
from /usr/include/stdlib.h:438,
from ./include/buffer.h:29,
from mds/Capability.h:19,
from mds/Capability.cc:15:
/usr/include/time.h:105: error: conflicting declaration ‘typedef void* 
timer_t’
/usr/include/linux/types.h:22: error: ‘timer_t’ has a previous 
declaration as ‘typedef __kernel_timer_t timer_t’
In file included from /usr/include/stdlib.h:438,
from ./include/buffer.h:29,
from mds/Capability.h:19,
from mds/Capability.cc:15:
/usr/include/sys/types.h:198: error: conflicting declaration ‘typedef 
long int int64_t’
/usr/include/linux/types.h:98: error: ‘int64_t’ has a previous 
declaration as ‘typedef __s64 int64_t’
/usr/include/sys/types.h:204: error: conflicting declaration ‘typedef 
long unsigned int u_int64_t’
/usr/include/linux/types.h:97: error: ‘u_int64_t’ has a previous 
declaration as ‘typedef __u64 u_int64_t’
In file included from /usr/include/sys/types.h:220,
from /usr/include/stdlib.h:438,
from ./include/buffer.h:29,
from mds/Capability.h:19,
from mds/Capability.cc:15:
/usr/include/sys/select.h:78: error: conflicting declaration ‘typedef 
struct fd_set fd_set’
/usr/include/linux/types.h:12: error: ‘fd_set’ has a previous 
declaration as ‘typedef struct __kernel_fd_set fd_set’
In file included from /usr/include/stdlib.h:438,
from ./include/buffer.h:29,
from mds/Capability.h:19,
from mds/Capability.cc:15:
/usr/include/sys/types.h:248: error: conflicting declaration ‘typedef 
__blkcnt64_t blkcnt_t’
/usr/include/linux/types.h:114: error: ‘blkcnt_t’ has a previous 
declaration as ‘typedef long unsigned int blkcnt_t’
In file included from ./include/buffer.h:48,
from mds/Capability.h:19,
from mds/Capability.cc:15:
/usr/include/stdint.h:56: error: conflicting declaration ‘typedef long 
unsigned int uint64_t’
/usr/include/linux/types.h:96: error: ‘uint64_t’ has a previous 
declaration as ‘typedef __u64 uint64_t’
In file included from mds/Capability.h:24,
from mds/Capability.cc:15:
mds/mdstypes.h: In member function ‘size_t 
__gnu_cxx::hash<vinodeno_t>::operator()(const vinodeno_t&) const’:
mds/mdstypes.h:252: error: no match for call to ‘(__gnu_cxx::hash<long 
long unsigned int>) (const snapid_t&)’
mds/mdstypes.h: In member function ‘void 
dentry_key_t::encode(ceph::bufferlist&) const’:
mds/mdstypes.h:531: warning: format ‘%lx’ expects type ‘long unsigned 
int’, but argument 4 has type ‘uint64_t’
mds/mdstypes.h:531: warning: format ‘%lx’ expects type ‘long unsigned 
int’, but argument 4 has type ‘uint64_t’
mds/mdstypes.h: In member function ‘size_t 
__gnu_cxx::hash<metareqid_t>::operator()(const metareqid_t&) const’:
mds/mdstypes.h:673: error: no match for call to ‘(__gnu_cxx::hash<long 
long unsigned int>) (int64_t)’
mds/mdstypes.h:673: error: no match for call to ‘(__gnu_cxx::hash<long 
long unsigned int>) (int)’
mds/mdstypes.h:673: error: no match for call to ‘(__gnu_cxx::hash<long 
long unsigned int>) (const uint64_t&)’
make[3]: *** [Capability.o] Error 1

Mark, do you have meet this problem before, and would you like to share 
your experiences on centos 5?

thanks!
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ceph-users] compile error on centos 5.9
  2013-08-05  9:51   ` huangjun
@ 2013-08-06 14:58     ` huangjun
  0 siblings, 0 replies; 3+ messages in thread
From: huangjun @ 2013-08-06 14:58 UTC (permalink / raw)
  To: Sage Weil; +Cc: ceph-devel, mark.nelson, Nick Couchman

于 2013/8/5 17:51, huangjun 写道:
> 于 2013/8/5 12:03, Sage Weil 写道:
>> [Moving to ceph-devel]
>>
>> On Mon, 5 Aug 2013, huangjun wrote:
>>> hi,all
>>> i compiled ceph 0.61.3 on centos 5.9,the "sh autogen.sh" and
>>> "./configure " is ok, but when i "make", an error occurs, the err log:
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h: 
>>>
>>> In function ?int rados::cls::lock::lock(librados::IoCtx*, const
>>> std::string&, const std::string&, ClsLockType, const std::string&, 
>>> const
>>> std::string&, const std::string&, const utime_t&, uint8_t)?:
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83: 
>>>
>>> error: ?class __gnu_cxx::lock? is not a function,
>>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>>> std::string&, ClsLockType, const std::string&, const std::string&, 
>>> const
>>> std::string&, const utime_t&, uint8_t)?
>>> cls/lock/cls_lock_client.cc:62: error: in call to ?lock?
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h: 
>>>
>>> In member function ?void
>>> rados::cls::lock::Lock::lock_shared(librados::ObjectWriteOperation*)?:
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83: 
>>>
>>> error: ?class __gnu_cxx::lock? is not a function,
>>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>>> std::string&, ClsLockType, const std::string&, const std::string&, 
>>> const
>>> std::string&, const utime_t&, uint8_t)?
>>> cls/lock/cls_lock_client.cc:181: error: in call to ?lock?
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h: 
>>>
>>> In member function ?int
>>> rados::cls::lock::Lock::lock_shared(librados::IoCtx*, const 
>>> std::string&)?:
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83: 
>>>
>>> error: ?class __gnu_cxx::lock? is not a function,
>>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>>> std::string&, ClsLockType, const std::string&, const std::string&, 
>>> const
>>> std::string&, const utime_t&, uint8_t)?
>>> cls/lock/cls_lock_client.cc:187: error: in call to ?lock?
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h: 
>>>
>>> In member function ?void
>>> rados::cls::lock::Lock::lock_exclusive(librados::ObjectWriteOperation*)?: 
>>>
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83: 
>>>
>>> error: ?class __gnu_cxx::lock? is not a function,
>>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>>> std::string&, ClsLockType, const std::string&, const std::string&, 
>>> const
>>> std::string&, const utime_t&, uint8_t)?
>>> cls/lock/cls_lock_client.cc:193: error: in call to ?lock?
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h: 
>>>
>>> In member function ?int
>>> rados::cls::lock::Lock::lock_exclusive(librados::IoCtx*, const
>>> std::string&)?:
>>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/concurrence.h:83: 
>>>
>>> error: ?class __gnu_cxx::lock? is not a function,
>>> cls/lock/cls_lock_client.cc:59: error: conflict with ?int
>>> rados::cls::lock::lock(librados::IoCtx*, const std::string&, const
>>> std::string&, ClsLockType, const std::string&, const std::string&, 
>>> const
>>> std::string&, const utime_t&, uint8_t)?
>>> cls/lock/cls_lock_client.cc:199: error: in call to ?lock?
>>> make[3]: *** [cls_lock_client.o] Error 1
>>>
>>> the gcc version is 4.1.2, does this make a difference?
>> I suspect so.  Mark Nelson successfully built on RHEL5 a while back but
>> needed to use a newer gcc.
>>
>>> what should i do if i want to use ceph-fuse client on centos 5.9? must
>>> compile the ceph? or just compile the ceph-fuse code?
>> Right.. you only need the ceph-fuse code.  'make ceph-fuse' may do the
>> trick.  Otherwise, you'll need to just strip out the osd stuff from
>> Makefile.am.
>>
>> Either way, let us know how it goes, as others would benefit from 
>> this as
>> well!
>>
>> Thanks-
>> sage
> unfortunatly, i installed gcc4.4.7 and recompiled source code, but 
> failed again:
>
> /usr/include/sys/types.h:46: error: conflicting declaration ‘typedef 
> __loff_t loff_t’
> /usr/include/linux/types.h:30: error: ‘loff_t’ has a previous 
> declaration as ‘typedef __kernel_loff_t loff_t’
> /usr/include/sys/types.h:62: error: conflicting declaration ‘typedef 
> __dev_t dev_t’
> /usr/include/linux/types.h:13: error: ‘dev_t’ has a previous 
> declaration as ‘typedef __kernel_dev_t dev_t’
> In file included from /usr/include/sys/types.h:133,
> from /usr/include/stdlib.h:438,
> from ./include/buffer.h:29,
> from mds/Capability.h:19,
> from mds/Capability.cc:15:
> /usr/include/time.h:105: error: conflicting declaration ‘typedef void* 
> timer_t’
> /usr/include/linux/types.h:22: error: ‘timer_t’ has a previous 
> declaration as ‘typedef __kernel_timer_t timer_t’
> In file included from /usr/include/stdlib.h:438,
> from ./include/buffer.h:29,
> from mds/Capability.h:19,
> from mds/Capability.cc:15:
> /usr/include/sys/types.h:198: error: conflicting declaration ‘typedef 
> long int int64_t’
> /usr/include/linux/types.h:98: error: ‘int64_t’ has a previous 
> declaration as ‘typedef __s64 int64_t’
> /usr/include/sys/types.h:204: error: conflicting declaration ‘typedef 
> long unsigned int u_int64_t’
> /usr/include/linux/types.h:97: error: ‘u_int64_t’ has a previous 
> declaration as ‘typedef __u64 u_int64_t’
> In file included from /usr/include/sys/types.h:220,
> from /usr/include/stdlib.h:438,
> from ./include/buffer.h:29,
> from mds/Capability.h:19,
> from mds/Capability.cc:15:
> /usr/include/sys/select.h:78: error: conflicting declaration ‘typedef 
> struct fd_set fd_set’
> /usr/include/linux/types.h:12: error: ‘fd_set’ has a previous 
> declaration as ‘typedef struct __kernel_fd_set fd_set’
> In file included from /usr/include/stdlib.h:438,
> from ./include/buffer.h:29,
> from mds/Capability.h:19,
> from mds/Capability.cc:15:
> /usr/include/sys/types.h:248: error: conflicting declaration ‘typedef 
> __blkcnt64_t blkcnt_t’
> /usr/include/linux/types.h:114: error: ‘blkcnt_t’ has a previous 
> declaration as ‘typedef long unsigned int blkcnt_t’
> In file included from ./include/buffer.h:48,
> from mds/Capability.h:19,
> from mds/Capability.cc:15:
> /usr/include/stdint.h:56: error: conflicting declaration ‘typedef long 
> unsigned int uint64_t’
> /usr/include/linux/types.h:96: error: ‘uint64_t’ has a previous 
> declaration as ‘typedef __u64 uint64_t’
> In file included from mds/Capability.h:24,
> from mds/Capability.cc:15:
> mds/mdstypes.h: In member function ‘size_t 
> __gnu_cxx::hash<vinodeno_t>::operator()(const vinodeno_t&) const’:
> mds/mdstypes.h:252: error: no match for call to ‘(__gnu_cxx::hash<long 
> long unsigned int>) (const snapid_t&)’
> mds/mdstypes.h: In member function ‘void 
> dentry_key_t::encode(ceph::bufferlist&) const’:
> mds/mdstypes.h:531: warning: format ‘%lx’ expects type ‘long unsigned 
> int’, but argument 4 has type ‘uint64_t’
> mds/mdstypes.h:531: warning: format ‘%lx’ expects type ‘long unsigned 
> int’, but argument 4 has type ‘uint64_t’
> mds/mdstypes.h: In member function ‘size_t 
> __gnu_cxx::hash<metareqid_t>::operator()(const metareqid_t&) const’:
> mds/mdstypes.h:673: error: no match for call to ‘(__gnu_cxx::hash<long 
> long unsigned int>) (int64_t)’
> mds/mdstypes.h:673: error: no match for call to ‘(__gnu_cxx::hash<long 
> long unsigned int>) (int)’
> mds/mdstypes.h:673: error: no match for call to ‘(__gnu_cxx::hash<long 
> long unsigned int>) (const uint64_t&)’
> make[3]: *** [Capability.o] Error 1
>
> Mark, do you have meet this problem before, and would you like to 
> share your experiences on centos 5?
>
> thanks!
hi,all
today,i have make the ceph compiled successfully on centos 5.9.
there are two points to take care of so far:
1)install the required packages
   ***boost1.41***
    a) download the epel package on website: 
http://dl.fedoraproject.org/pub/epel/5/x86_64/
    b) rpm -Uvh epel-release*rpm
    c) yum install boost141*
   ***automake,aclocal(1.11.1)***
     wget http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.gz
     tar xzvf automake-1.11.1.tar.gz
     cd automake-1.11.1
     ./configure
     make -j4
     make install
   ***gcc44***
     yum install gcc44*
     export CC=/usr/bin/gcc44
     export CXX=/usr/bin/g++44
   ***other packages***
     yum install libtool autoconf autoheader autoreconf e2fsprogs-devel 
keyutils-libs-devel fuse-devel fuse nss-devel nss libxml2-devel 
sharutils java-devel expat expat-devel cryptopp cryptopp-devel 
libatomic_ops-devel gperftools-libs gperftools-devel libaio libaio-devel
     wget 
http://pkgs.repoforge.org/libedit/libedit-20090923-3.0_1.el5.rf.x86_64.rpm
     wget 
http://pkgs.repoforge.org/libedit/libedit-devel-20090923-3.0_1.el5.rf.x86_64.rpm
     wget 
http://pkgs.repoforge.org/snappy/snappy-devel-1.0.5-1.el5.rf.x86_64.rpm
     wget http://pkgs.repoforge.org/snappy/snappy-1.0.5-1.el5.rf.x86_64.rpm
2)change the include order in src/include/buffer.h
diff --git a/src/include/buffer.h b/src/include/buffer.h
index 99c1985..d485c3f 100644
--- a/src/include/buffer.h
+++ b/src/include/buffer.h
@@ -16,17 +16,19 @@
  #define CEPH_BUFFER_H

  #if defined(__linux__)
+#include <stdlib.h>
  #include <linux/types.h>
  #elif defined(__FreeBSD__)
  #include <sys/types.h>
  #include "include/inttypes.h"
+#include <stdlib.h>
  #endif

  #ifndef _XOPEN_SOURCE
  # define _XOPEN_SOURCE 600
  #endif

-#include <stdlib.h>
+//#include <stdlib.h>
  #include <stdio.h>

  #ifdef DARWIN

ps: does this has effect on other modules?

then you can compile ceph on centos5 by "sh autogen && ./configure && 
make -j4 && make install"
welcome to check it!

thanks!
huangjun
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-08-06 14:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <51FF1100.2000004@gmail.com>
2013-08-05  4:03 ` [ceph-users] compile error on centos 5.9 Sage Weil
2013-08-05  9:51   ` huangjun
2013-08-06 14:58     ` huangjun

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.