[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