[DRBD-user] DRBD on RHEL 7 beta

Digimer lists at alteeve.ca
Mon Dec 23 18:06:50 CET 2013

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On 23/12/13 08:21 AM, Vladislav Bogdanov wrote:
> 23.12.2013 05:39, Digimer wrote:
>> On 22/12/13 09:28 PM, Digimer wrote:
>>> On 22/12/13 06:05 AM, Patrick Lists wrote:
>>>> Hi Digimer,
>>>>
>>>> On 12/22/2013 07:46 AM, Digimer wrote:
>>>>> Hi all,
>>>>>
>>>>>     I am testing RHEL 7 and DRBD. I grabbed drbd from the Fedora 19
>>>>> repos
>>>>> as EPEL isn't up yet. It installed fine, but I can't seem to 'modprobe
>>>>> drbd'.
>>>>>
>>>>>     Has anyone tried to get DRBD running on RHEL 7 yet? Mind sharing the
>>>>> secret sauce, if so? If not, I'll try installing from source.
>>>>
>>>> Have you checked the logs? Watch the output of 'journalctl -f' when you
>>>> modprobe drbd and it should tell you what's going on.
>>>>
>>>> Instead of installing from source I would just grab the source rpm,
>>>> check the spec file for any obvious incompatibilities with EL7, fix any
>>>> and rebuild it.
>>>>
>>>> Regards,
>>>> Patrick
>>>
>>> Ok, I realized that '--without-km' was set in the spec. I changed that
>>> to '--with-km' and tried building it again, but it failed this time. I'm
>>> not much of a programmer, so I'm hoping you (or others) might be able to
>>> help here.
>>>
>>> Here is the error, so far as I can tell:
>>>
>>> ====
>>> gcc -O2 -g -Wall -I. -I../drbd -I../drbd/compat   -c -o drbdadm_parser.o
>>> drbdadm_parser.c
>>>     UPD     /root/rpmbuild/BUILD/drbd-8.4.3/drbd/compat.h
>>>     CC [M]  /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_buildtag.o
>>>     CC [M]  /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_bitmap.o
>>> gcc -O2 -g -Wall -I. -I../drbd -I../drbd/compat   -c -o drbdadm_main.o
>>> drbdadm_main.c
>>> In file included from
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_bitmap.c:35:0:
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_int.h:2515:0: warning:
>>> "idr_for_each_entry" redefined [enabled by default]
>>>    #define idr_for_each_entry(idp, entry, id)    \
>>>    ^
>>> In file included from include/linux/cgroup.h:19:0,
>>>                    from include/net/netprio_cgroup.h:16,
>>>                    from include/linux/netdevice.h:48,
>>>                    from include/net/sock.h:51,
>>>                    from include/linux/connector.h:30,
>>>                    from
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/linux/drbd.h:28,
>>>                    from
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_bitmap.c:28:
>>> include/linux/idr.h:132:0: note: this is the location of the previous
>>> definition
>>>    #define idr_for_each_entry(idp, entry, id)   \
>>>    ^
>>>     CC [M]  /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_proc.o
>>> gcc -O2 -g -Wall -I. -I../drbd -I../drbd/compat   -c -o drbdadm_adjust.o
>>> drbdadm_adjust.c
>>> gcc -O2 -g -Wall -I. -I../drbd -I../drbd/compat   -c -o
>>> drbdtool_common.o drbdtool_common.c
>>> In file included from
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_proc.c:34:0:
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_int.h:2515:0: warning:
>>> "idr_for_each_entry" redefined [enabled by default]
>>>    #define idr_for_each_entry(idp, entry, id)    \
>>>    ^
>>> In file included from include/linux/cgroup.h:19:0,
>>>                    from include/net/netprio_cgroup.h:16,
>>>                    from include/linux/netdevice.h:48,
>>>                    from include/net/sock.h:51,
>>>                    from include/linux/connector.h:30,
>>>                    from
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/linux/drbd.h:28,
>>>                    from
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_proc.c:33:
>>> include/linux/idr.h:132:0: note: this is the location of the previous
>>> definition
>>>    #define idr_for_each_entry(idp, entry, id)   \
>>>    ^
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_proc.c: In function
>>> 'drbd_proc_open':
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_proc.c:320:3: error: implicit
>>> declaration of function 'PDE' [-Werror=implicit-function-declaration]
>>>      return single_open(file, drbd_seq_show, PDE(inode)->data);
>>>      ^
>>> /root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_proc.c:320:53: error: invalid
>>> type argument of '->' (have 'int')
>>>      return single_open(file, drbd_seq_show, PDE(inode)->data);
>>>                                                        ^
>>> cc1: some warnings being treated as errors
>>> make[3]: *** [/root/rpmbuild/BUILD/drbd-8.4.3/drbd/drbd_proc.o] Error 1
>>> make[2]: *** [_module_/root/rpmbuild/BUILD/drbd-8.4.3/drbd] Error 2
>>> make[2]: Leaving directory `/usr/src/kernels/3.10.0-54.0.1.el7.x86_64'
>>> make[1]: *** [kbuild] Error 2
>>> make[1]: Leaving directory `/root/rpmbuild/BUILD/drbd-8.4.3/drbd'
>>> make: *** [module] Error 2
>>> ====
>>>
>>> I'll keep poking at it and report back if I make progress... As of now
>>> though, I'm stuck. :)
>>
>> Building from 8.4.3 source errors out with the same problem.
>
> This one seems to be fixed (moved to drbd_wrappers.h and ifdef'ed) in 8.4.4.

8.4.4 compiled successfully!

Now to test. :)

-- 
Digimer
Papers and Projects: https://alteeve.ca/w/
What if the cure for cancer is trapped in the mind of a person without 
access to education?



More information about the drbd-user mailing list