[Linuxha-users] Recompiling drbd after kernel upgrade
Michael Mansour
mic at npgx.com.au
Sat Sep 24 14:51:11 BST 2005
Hi Simon,
I decided to try other drbd releases, so I tried 0.7.11 and had the same issue
as below. I then downloaded the latest 0.7.13, ran the "make" and it worked fine:
# make
make -C drbd drbd_buildtag.c
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/drbd'
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/drbd'
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/user'
gcc -c -Wall -I../drbd -c -o drbdsetup.o drbdsetup.c
gcc -c -Wall -I../drbd -c -o ../drbd/drbd_buildtag.o ../drbd/drbd_buildtag.c
gcc -o drbdsetup drbdsetup.o ../drbd/drbd_buildtag.o
bison -d -o drbdadm_parser.c drbdadm_parser.y
flex -s -odrbdadm_scanner.c drbdadm_scanner.fl
gcc -c -Wall -I../drbd -c -o drbdadm_scanner.o drbdadm_scanner.c
gcc -c -Wall -I../drbd -c -o drbdadm_parser.o drbdadm_parser.c
gcc -c -Wall -I../drbd -c -o drbdadm_main.o drbdadm_main.c
gcc -c -Wall -I../drbd -c -o drbdadm_adjust.o drbdadm_adjust.c
gcc -o drbdadm drbdadm_scanner.o drbdadm_parser.o drbdadm_main.o
drbdadm_adjust.o ../drbd/drbd_buildtag.o
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/user'
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/scripts'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/scripts'
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/documentation'
To (re)make the documentation: make doc
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/documentation'
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/drbd'
Calling toplevel makefile of kernel source tree, which I believe is in
KDIR=/lib/modules/2.6.9-11.EL.XFSsmp/build
test -f ../scripts/adjust_drbd_config_h.sh && \
KDIR=/lib/modules/2.6.9-11.EL.XFSsmp/build /bin/sh
../scripts/adjust_drbd_config_h.sh
Using unmodified drbd_config.h
make -C /lib/modules/2.6.9-11.EL.XFSsmp/build
SUBDIRS=/usr/src/cluster/test/drbd-0.7.13/drbd modules
make[2]: Entering directory `/usr/src/kernels/2.6.9-11.EL.XFS-smp-i686'
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_sizeof_sanity_check.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_buildtag.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_bitmap.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_fs.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_proc.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_worker.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_receiver.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_req.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_actlog.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/lru_cache.o
CC [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd_main.o
LD [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd.o
Building modules, stage 2.
MODPOST
CC /usr/src/cluster/test/drbd-0.7.13/drbd/drbd.mod.o
LD [M] /usr/src/cluster/test/drbd-0.7.13/drbd/drbd.ko
make[2]: Leaving directory `/usr/src/kernels/2.6.9-11.EL.XFS-smp-i686'
Memorizing module configuration ... done.
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/drbd'
Build successful.
I then ran the make install:
# make install
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/user'
install -d /sbin/
install -m 755 drbdsetup /sbin/
install -m 755 drbdadm /sbin/
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/user'
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/scripts'
mkdir -p /etc/ha.d/resource.d
install -d /etc/rc.d/init.d/
install -m 755 drbd /etc/rc.d/init.d/drbd
install -m 755 drbddisk /etc/ha.d/resource.d
Don't forget to run update-rc.d or chkconfig
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/scripts'
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/documentation'
set -e; for f in drbdsetup.8 drbd.conf.5 drbd.8 drbdadm.8 ; do \
s=${f##*.}; \
install -v -D -m 644 $f /usr/share/man/man$s/$f ; \
done
`drbdsetup.8' -> `/usr/share/man/man8/drbdsetup.8'
`drbd.conf.5' -> `/usr/share/man/man5/drbd.conf.5'
`drbd.8' -> `/usr/share/man/man8/drbd.8'
`drbdadm.8' -> `/usr/share/man/man8/drbdadm.8'
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/documentation'
make[1]: Entering directory `/usr/src/cluster/test/drbd-0.7.13/drbd'
install -d //lib/modules/2.6.9-11.EL.XFSsmp/kernel/drivers/block
install -m 644 drbd.ko //lib/modules/2.6.9-11.EL.XFSsmp/kernel/drivers/block
/sbin/depmod -a || /sbin/depmod -e drbd.ko 2>&1 >/dev/null || true
make[1]: Leaving directory `/usr/src/cluster/test/drbd-0.7.13/drbd'
and started the application fine.
I can't explain what just happened!
Michael.
> Hi Simon,
>
> I have just upgraded to a newer kernel on a test cluster running linuxha.net
>
> 1.0.0, but am having trouble recompiling the drbd module. How do I
> do this successfully?
>
> I get the following:
>
> # make KDIR=/lib/modules/2.6.9-11.EL.XFSsmp/build
> make[1]: Entering directory `/usr/src/cluster/drbd-0.7.10/user'
> gcc -c -Wall -I../drbd -c -o drbdsetup.o drbdsetup.c
> gcc -c -Wall -I../drbd -c -o ../drbd/drbd_buildtag.o ../drbd/drbd_buildtag.c
> gcc -o drbdsetup drbdsetup.o ../drbd/drbd_buildtag.o
> bison -d -o drbdadm_parser.c drbdadm_parser.y
> flex -s -odrbdadm_scanner.c drbdadm_scanner.fl
> gcc -c -Wall -I../drbd -c -o drbdadm_scanner.o drbdadm_scanner.c
> gcc -c -Wall -I../drbd -c -o drbdadm_parser.o drbdadm_parser.c
> gcc -c -Wall -I../drbd -c -o drbdadm_main.o drbdadm_main.c
> gcc -c -Wall -I../drbd -c -o drbdadm_adjust.o drbdadm_adjust.c
> gcc -o drbdadm drbdadm_scanner.o drbdadm_parser.o drbdadm_main.o
> drbdadm_adjust.o ../drbd/drbd_buildtag.o
> make[1]: Leaving directory `/usr/src/cluster/drbd-0.7.10/user'
> make[1]: Entering directory `/usr/src/cluster/drbd-0.7.10/scripts'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/usr/src/cluster/drbd-0.7.10/scripts'
> make[1]: Entering directory `/usr/src/cluster/drbd-0.7.10/documentation'
> To (re)make the documentation: make doc
> make[1]: Leaving directory `/usr/src/cluster/drbd-0.7.10/documentation'
> make[1]: Entering directory `/usr/src/cluster/drbd-0.7.10/drbd'
>
> Calling toplevel makefile of kernel source tree, which I believe
> is in KDIR=/lib/modules/2.6.9-11.EL.XFSsmp/build
>
> test -f ../scripts/adjust_drbd_config_h.sh && \
> KDIR=/lib/modules/2.6.9-11.EL.XFSsmp/build /bin/sh
> ../scripts/adjust_drbd_config_h.sh
>
> Using unmodified drbd_config.h
>
> make -C /lib/modules/2.6.9-11.EL.XFSsmp/build
> SUBDIRS=/usr/src/cluster/drbd-0.7.10/drbd modules
> make[2]: Entering directory `/usr/src/kernels/2.6.9-11.EL.XFS-smp-i686'
> CC [M] /usr/src/cluster/drbd-
> 0.7.10/drbd/drbd_sizeof_sanity_check.o CC [M]
> /usr/src/cluster/drbd-0.7.10/drbd/drbd_buildtag.o CC [M]
> /usr/src/cluster/drbd-0.7.10/drbd/drbd_bitmap.o In file included
> from /usr/src/cluster/drbd-0.7.10/drbd/drbd_bitmap.c:34:
> /usr/src/cluster/drbd-0.7.10/drbd/drbd_int.h: In function `drbd_suicide':
> /usr/src/cluster/drbd-0.7.10/drbd/drbd_int.h:1558: error: `TASK_ZOMBIE'
> undeclared (first use in this function)
> /usr/src/cluster/drbd-0.7.10/drbd/drbd_int.h:1558: error: (Each undeclared
> identifier is reported only once
> /usr/src/cluster/drbd-0.7.10/drbd/drbd_int.h:1558: error: for each
> function it appears in.) make[3]: *** [/usr/src/cluster/drbd-
> 0.7.10/drbd/drbd_bitmap.o] Error 1 make[2]: ***
> [_module_/usr/src/cluster/drbd-0.7.10/drbd] Error 2 make[2]: Leaving
> directory `/usr/src/kernels/2.6.9-11.EL.XFS-smp-i686' make[1]: ***
> [kbuild] Error 2 make[1]: Leaving directory `/usr/src/cluster/drbd-0.7.10/drbd'
> make: *** [all] Error 2
>
> Michael.
>
> _______________________________________________
> Linuxha-users mailing list
> Linuxha-users at linuxha.net
> http://linuxha.net/mailman/listinfo/linuxha-users_linuxha.net
------- End of Original Message -------
More information about the Linuxha-users
mailing list