Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
/ 2004-02-18 22:56:01 -0500 \ William Dooley: > I am having a lot of problems compiling drbd-0.6.10 > > I have installed the kernel-source for my distro > took out the custom part of the Makefile > > it now looks like this > EXTRAVERSION = -1.2115.nptl > > did > # make mrproper > # make menuconfig > after the menu came up I just saved it. > a default config was copied automatically > > did > # make dep > # make include/linux/version.h > > NOTE: I think your documentation on the www.drbd.org site says > # make linux/include/version.h that didn't work. (because you don't have permission to write it?) > > then I installed your tarball > > untarred it into > /usr/src/drbd-0.6.10 > > edited the drbd_config.h > uncommented the #define SIGHAND_HACK line > > then tried to build the rpm > # make rpm KDIR=/usr/src/linux-2.4.22-1.2115.nptl/ did you try to just cd drbd ; make clean ; make KDIR=/usr/src/linux-2.4.22-1.2115.nptl > It starts the build and during the compile it errors, start of errors > below > > > make -C /usr/src/linux-2.4.22-1.2115.nptl/ > SUBDIRS=/usr/src/drbd-0.6.10/dist/BUILD/drbd-0.6.10/drbd modules > make[3]: Entering directory `/usr/src/linux-2.4.22-1.2115.nptl' > make -r -f tmp_include_depends all > make[4]: Entering directory `/usr/src/linux-2.4.22-1.2115.nptl' > make[4]: Nothing to be done for `all'. > make[4]: Leaving directory `/usr/src/linux-2.4.22-1.2115.nptl' > make -C /usr/src/drbd-0.6.10/dist/BUILD/drbd-0.6.10/drbd > CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.22-1.2115.nptl/include -Wall > -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common > -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 > -DMODULE -DMODVERSIONS -include > /usr/src/linux-2.4.22-1.2115.nptl/include/linux/modversions.h" > MAKING_MODULES=1 modules > make[4]: Entering directory > `/usr/src/drbd-0.6.10/dist/BUILD/drbd-0.6.10/drbd' > gcc32 -D__KERNEL__ -I/usr/src/linux-2.4.22-1.2115.nptl/include -Wall > -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common > -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 > -DMODULE -DMODVERSIONS -include > /usr/src/linux-2.4.22-1.2115.nptl/include/linux/modversions.h -nostdinc > -iwithprefix include -DKBUILD_BASENAME=drbd_fs -c -o drbd_fs.o drbd_fs.c > In file included from > /usr/src/linux-2.4.22-1.2115.nptl/include/asm/uaccess.h:8, > from drbd_fs.c:39: > /usr/src/linux-2.4.22-1.2115.nptl/include/linux/sched.h:6: invalid suffix > on integer constant > /usr/src/linux-2.4.22-1.2115.nptl/include/linux/sched.h:6: syntax error > before numeric constant > /usr/src/linux-2.4.22-1.2115.nptl/include/linux/sched.h:6: warning: > function declaration isn't a prototype > > ... > ... > many more errors follow and ends like this > > make[2]: Leaving directory > `/usr/src/drbd-0.6.10/dist/BUILD/drbd-0.6.10/drbd' > make[1]: *** [all] Error 1 > make[1]: Leaving directory `/usr/src/drbd-0.6.10/dist/BUILD/drbd-0.6.10' > error: Bad exit status from /var/tmp/rpm-tmp.32103 (%build) > > > RPM build errors: > Bad exit status from /var/tmp/rpm-tmp.32103 (%build) > make: *** [rpm] Error 1 > what am I doing incorrect > any help would be appreciated. Sorry, I can not tell. I just did the very same thing, though my host system is SuSE, and we don't have "gcc32", so I say CC=gcc, and I don't want to rebuild the documentation (because it is supplied in the tgz), and this is drbd-0.6.11 (so RPMOPTIONS=... don't work with 0.6.10, I think) Works for me. # make rpm KDIR=/usr/kernel-src/RH/linux-2.4.22-1.2135.nptl/ CC=gcc \ RPMOPTIONS="--define 'skip_make_doc true'" # ls dist/RPMS/i586/drbd-* dist/RPMS/i586/drbd-0.6.11-3.i586.rpm dist/RPMS/i586/drbd-km-2.4.22_1.2135.nptl-0.6.11-3.i586.rpm # rpm -qvilp dist/RPMS/i586/drbd-* ( everything alright, execpt drbd.o beeing in /lib/modules/*/block/drbd.o instead of /lib/modules/*/kernel/driver/block/drbd.o So there is somewhere a wrong condition in the Makefiles, this should still be improved. As long as /lib/modules/*/kernel/driver/block/ already exists, it ends up in the correct location. ) Lars Ellenberg