From: huangjun <hjwsm1989@gmail.com>
To: Sage Weil <sage@inktank.com>
Cc: ceph-devel@vger.kernel.org, mark.nelson@inktank.com
Subject: Re: [ceph-users] compile error on centos 5.9
Date: Mon, 05 Aug 2013 17:51:27 +0800 [thread overview]
Message-ID: <51FF759F.1060502@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1308042100330.5645@cobra.newdream.net>
于 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
next prev parent reply other threads:[~2013-08-05 9:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[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 [this message]
2013-08-06 14:58 ` huangjun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51FF759F.1060502@gmail.com \
--to=hjwsm1989@gmail.com \
--cc=ceph-devel@vger.kernel.org \
--cc=mark.nelson@inktank.com \
--cc=sage@inktank.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.