Re: Errors compiling ceph argonaut

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 08/02/2012 12:39 PM, Nick Couchman wrote:
>> Running into some errors compiling ceph-0.48 (argonaut) on RHEL5.  It gets 
> most of the way through the build process and then throws the following:
>>
>>    CXX    librbd_la-cls_rbd_client.lo
>> /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'
>> /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'
>> /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'
>> /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'
>> /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'
>> /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'
>> make[3]: *** [librbd_la-cls_rbd_client.lo] Error 1
>> make[3]: *** Waiting for unfinished jobs....
>> make[3]: Leaving directory `/usr/src/redhat/BUILD/ceph-0.48argonaut.test/src'
>> make[2]: *** [all-recursive] Error 1
>> make[2]: Leaving directory `/usr/src/redhat/BUILD/ceph-0.48argonaut.test/src'
>> make[1]: *** [all] Error 2
>> make[1]: Leaving directory `/usr/src/redhat/BUILD/ceph-0.48argonaut.test/src'
>> make: *** [all-recursive] Error 1
>>
>> So, looks like a source file is pulling in both sys/types.h and 
> linux/types.h, and that's causing problems.  From what I can see, most of the 
> files only pull in one or the other (via some ifdef/elif code blocks), but 
> evidently one of them does not.  I have not been able to track it down, yet - 
> is this something anyone else has encountered?  0.44 seemed to work fine, 
> this seems to be unique to 0.48.
> 

Well, I got it to build, but had to do a couple of things that I'm not sure how they will affect the functionality.  Hopefully someone can tell me if I've misstepped.  Here's what I did:
- Remove all includes for linux/types.h and just went with sys/types.h.  This fixed the above compile issues.
- Then ran into a "undefined reference to sync_file_range", which I traced back to the following RHEL5 bug: https://bugzilla.redhat.com/show_bug.cgi?id=518581.  This is marked as CANTFIX, so I used the code mentioned in one of the comments as a work around - I placed it in the FileStore.cc file.

I can send over the full patch if anyone is interested - most of the folks using Ceph are probably building on newer platforms that don't have these issues, but I have a good collection of EL5 systems that I need to keep around that I'd like to run Ceph on, so it's fairly important for me.  I have packages build in the OpenSuSE Build System for CentOS5, SLES11, openSuSE 11.4/12.1/12.2.

-Nick


--------
This e-mail may contain confidential and privileged material for the sole use of the intended recipient.  If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information.  In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way.  If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox.  Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux