[DRBD-user] drbd-0.7.21 on RHEL-3

Eric Pretorious epretorious at vmware.com
Tue Oct 10 01:17:28 CEST 2006


I've carefully re-read the directions listed in ./INSTALL and found that I
may have made a crucial misstep by issuing `make clean all` from
/usr/local/src/drbd-0.7.21 (instead of /usr/local/src/drbd-0.7.21/drbd) so I
wiped everything clear and started from scratch:

> [root at vm2 drbd]#  rpm --erase kernel-source
> [root at vm2 drbd]#  rpm -Uvh kernel-source-2.4.21-27.EL.i386.rpm
> [root at vm2 drbd]#  cd /usr/src/linux-2.4.21-27.EL/ 
> [root at vm2 drbd]#  make mrproper
> [root at vm2 drbd]#  cp /boot/config-2.4.21-27.EL .config
> [root at vm2 drbd]#  vi Makefile     <== edited EXTRAVERSION
> [root at vm2 drbd]#  make dep
> [root at vm2 drbd]#  make include/linux/version.h     <== make:
`include/linux/version.h' is up to date.
> [root at vm2 drbd]#  cd /usr/local/src/drbd-0.7.21/drbd
> [root at vm2 drbd]#  make clean all

...but still, compiling fails:

> [root at vm2 drbd]# make clean all
> rm -rf .tmp_versions
> rm -f *.[oas] *.ko .*.cmd .*.d .*.tmp *.mod.c .*.flags .depend .kernel*
> 
>     Calling toplevel makefile of kernel source tree, which I believe is in
>     KDIR=/lib/modules/2.4.21-27.EL/build
> 
> trying to make dep ...
> /bin/sh: line 1: cd: /usr/src/linux-2.4.21-27.EL/include/linux/modules: No
such file or directory
> /usr/src/linux-2.4.21-27.EL/include/linux/modversions.h was updated
> find: /usr/src/linux-2.4.21-27.EL/include/asm: No such file or directory
> test -f ../scripts/adjust_drbd_config_h.sh && \
>  KDIR=/lib/modules/2.4.21-27.EL/build /bin/sh
../scripts/adjust_drbd_config_h.sh
> ls: /lib/modules/2.4.21-27.EL/build/include/asm/bitops.h: No such file or
directory
>         Sorry, automagic adjustment of drdb_config.h failed.
>         For well known 2.6. kernels, no adjustment to the shipped
drbd_config is necessary.
>         You need to verify it yourself.
> make: [kbuild] Error 1 (ignored)
> make -C /lib/modules/2.4.21-27.EL/build
SUBDIRS=/usr/local/src/drbd-0.7.21/drbd  modules
> make[1]: Entering directory `/usr/src/linux-2.4.21-27.EL'
> gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o
scripts/split-include scripts/split-include.c
> make[1]: *** No rule to make target `include/linux/autoconf.h', needed by
`include/config/MARKER'.  Stop.
> make[1]: Leaving directory `/usr/src/linux-2.4.21-27.EL'
> make: *** [kbuild] Error 2

Looking at the errors...

> find: /usr/src/linux-2.4.21-27.EL/include/asm: No such file or directory

Even though /usr/src/linux-2.4/include/asm didn't exist, there were several
related variants so I decided to create a symlink from
/usr/src/linux-2.4/include/asm to /usr/src/linux-2.4/include/asm-i386. That
certainly made a difference:

> [root at vm2 drbd]# make clean all
> rm -rf .tmp_versions
> rm -f *.[oas] *.ko .*.cmd .*.d .*.tmp *.mod.c .*.flags .depend .kernel*
> 
>     Calling toplevel makefile of kernel source tree, which I believe is in
>     KDIR=/lib/modules/2.4.21-27.EL/build
> 
> trying to make dep ...
> /bin/sh: line 1: cd: /usr/src/linux-2.4.21-27.EL/include/linux/modules: No
such file or directory
> /usr/src/linux-2.4.21-27.EL/include/linux/modversions.h was not updated
> test -f ../scripts/adjust_drbd_config_h.sh && \
>  KDIR=/lib/modules/2.4.21-27.EL/build /bin/sh
../scripts/adjust_drbd_config_h.sh
> 
>   Adjusted drbd_config.h:
>   --- ./linux/drbd_config.h     2006-08-01 07:33:07.000000000 -0700
>   +++ ./linux/drbd_config.h.new 2006-10-05 22:54:30.000000000 -0700
>   @@ -38 +38 @@
>   -//#define SIGHAND_HACK           // Needed for RH 2.4.20 and later
kernels.
>   +#define SIGHAND_HACK           // Needed for RH 2.4.20 and later
kernels.
>   @@ -46 +46 @@
>   -//#define HAVE_MM_INLINE_H
>   +#define HAVE_MM_INLINE_H
>   @@ -49 +49 @@
>   -//#define HAVE_FIND_NEXT_BIT
>   +#define HAVE_FIND_NEXT_BIT
> 
> make -C /lib/modules/2.4.21-27.EL/build
SUBDIRS=/usr/local/src/drbd-0.7.21/drbd  modules
> make[1]: Entering directory `/usr/src/linux-2.4.21-27.EL'
> make[1]: *** No rule to make target `include/linux/autoconf.h', needed by
`include/config/MARKER'.  Stop.
> make[1]: Leaving directory `/usr/src/linux-2.4.21-27.EL'
> make: *** [kbuild] Error 2

...but I'm still right back where I was before:

> make[1]: *** No rule to make target `include/linux/autoconf.h', needed by
`include/config/MARKER'.  Stop.

Ideas? Suggestions?

Eric P.
Palo Alto, CA

-----Original Message-----
From: drbd-user-bounces at lists.linbit.com on behalf of Eric Pretorious
Sent: Thu 10/5/2006 8:24 PM
To: drbd-user at lists.linbit.com
Subject: [DRBD-user] drbd-0.7.21 on RHEL-3
 
Hello, All:

I'm attempting to `make` drbd-0.7.21 on Red Hat Enterprise Linux 3 but get
this error:

> In file included from /usr/src/linux-2.4.21-27.EL/include/linux/mm.h:22,
>                  from /usr/src/linux-2.4.21-27.EL/include/linux/slab.h:14,
>                  from drbd_actlog.c:28:
> /usr/src/linux-2.4.21-27.EL/include/linux/sched.h:6: invalid suffix on
integer constant
> /usr/src/linux-2.4.21-27.EL/include/linux/sched.h:6: syntax error before
numeric constant
> /usr/src/linux-2.4.21-27.EL/include/linux/sched.h:6: warning: function
declaration isn't a prototype
> make[3]: *** [drbd_actlog.o] Error 1
> make[3]: Leaving directory `/usr/local/src/drbd-0.7.21/drbd'
> make[2]: *** [_mod_/usr/local/src/drbd-0.7.21/drbd] Error 2
> make[2]: Leaving directory `/usr/src/linux-2.4.21-27.EL'
> make[1]: *** [kbuild] Error 2
> make[1]: Leaving directory `/usr/local/src/drbd-0.7.21/drbd'
> make: *** [all] Error 2

What does this mean? How can I fix it?

Eric P.
Palo Alto, CA
_______________________________________________
drbd-user mailing list
drbd-user at lists.linbit.com
http://lists.linbit.com/mailman/listinfo/drbd-user





More information about the drbd-user mailing list