Building Bestcrypt 1.5_p7 fails because it can't find linux/modversions.h, even though /usr/src/linux/include/linux/modversion.h does exists and yes, /usr/src/linux is pointing to my current running and compiled kernel. Also tried to emerge Bestcrypt on a freshly-installed system (also 2.4.26-r9) and got the same error. Reproducible: Always Steps to Reproduce: 1.emerge bestcrypt 2. 3. Actual Results: backup root # emerge bestcrypt Calculating dependencies ...done! >>> emerge (1 of 1) app-crypt/bestcrypt-1.5_p7 to / >>> md5 src_uri ;-) BestCrypt-1.5-7.tar.gz >>> Unpacking source... >>> Unpacking BestCrypt-1.5-7.tar.gz to /var/tmp/portage/bestcrypt-1.5_p7/work * Applying bestcrypt-1.5_p7-makefile_fix.patch... [ ok ] >>> Source unpacked. set -e; for i in kgsha src mod; do make -C $i CC=gcc CPP=g++ ; done make[1]: Entering directory `/var/tmp/portage/bestcrypt-1. 5_p7/work/bcrypt/kgsha' g++ -Wall -Werror -fno-strength-reduce -I../include -g -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o alg.o alg.cpp g++ -Wall -Werror -fno-strength-reduce -I../include -g -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o kblock.o kblock.cpp g++ -Wall -Werror -fno-strength-reduce -I../include -g -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o kg_misc.o kg_misc.cpp g++ -Wall -Werror -fno-strength-reduce -I../include -g -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o kgsha.o kgsha.cpp g++ -Wall -Werror -fno-strength-reduce -I../include -g -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o pwldlg.o pwldlg.cpp g++ -Wall -Werror -fno-strength-reduce -I../include -g -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o sha1.o sha1.cpp g++ -Wall -Werror -fno-strength-reduce -I../include -g -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o random.o random.cpp ar -rcsv libkgsha.a alg.o kblock.o kg_misc.o kgsha.o pwldlg.o sha1.o random.o a - alg.o a - kblock.o a - kg_misc.o a - kgsha.o a - pwldlg.o a - sha1.o a - random.o cp -f libkgsha.a ../lib cp -f kg_defs.h kgsha.h kblock.h sha1.h random.h ../include make[1]: Leaving directory `/var/tmp/portage/bestcrypt-1.5_p7/work/bcrypt/kgsha' make[1]: Entering directory `/var/tmp/portage/bestcrypt-1.5_p7/work/bcrypt/src' gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bctool.o bctool.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o alg.o alg.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o config.o config.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o error.o error.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o misc.o misc.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bcmount.o bcmount.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bcpasswd.o bcpasswd.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bcinfo.o bcinfo.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bccreate.o bccreate.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bcformat.o bcformat.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bcreencrypt.o bcreencrypt.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bcfsck.o bcfsck.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bclink.o bclink.c gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bcunlock.o bcunlock.c g++ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -L../lib -I../include/ -Wall -O2 -fno-strict-aliasing -O2 -march=pentium3 -pipe -fomit-frame-pointer -o bctool bctool.o alg.o config.o error.o misc.o bcmount.o bcpasswd.o bcinfo.o bccreate.o bcformat.o bcreencrypt.o bcfsck.o bclink.o bcunlock.o -lkgsha cp -f bctool ../bin/ make[1]: Leaving directory `/var/tmp/portage/bestcrypt-1.5_p7/work/bcrypt/src' make[1]: Entering directory `/var/tmp/portage/bestcrypt-1.5_p7/work/bcrypt/mod' gcc -I/lib/modules//usr/src/2.4.26-gentoo-r9/build/include -o mkver mkver.c touch bc_dev.ver ; gcc -I/lib/modules//usr/src/2.4.26-gentoo-r9/build/include/ -E bc_dev24.c -I.. /include -D__GENKSYMS__ | /sbin/genksyms -p smp_ -k 2.4.21 > bc_dev.ver gcc -c -D__KERNEL__ -DMODULE -I/var/tmp/portage/bestcrypt-1. 5_p7/work/bcrypt/mod/../include/ -I/lib/modules//usr/src/2.4. 26-gentoo-r9/build/include/ -O2 -march=pentium3 -pipe -fomit-frame-pointer -c -o bc_dev24.o bc_dev24.c In file included from bc_dev24.c:40: bc_cfg.h:46:37: linux/modversions.h: No such file or directory In file included from bc_dev24.c:52: bc_mgr.h:43: error: `_set_ver' declared as function returning a function bc_mgr.h:43: warning: parameter names (without types) in function declaration bc_mgr.h:44: error: `_set_ver' declared as function returning a function bc_mgr.h:44: warning: parameter names (without types) in function declaration bc_dev24.c:89: error: `__kstrtab__set_ver' declared as function returning an array bc_dev24.c:89: warning: parameter names (without types) in function declaration bc_dev24.c:89: error: function `__kstrtab__set_ver' is initialized like a variable bc_dev24.c:89: warning: parameter names (without types) in function declaration bc_dev24.c:89: error: function `__ksymtab__set_ver' is initialized like a variable bc_dev24.c:89: error: `register_bc_algo' undeclared here (not in a function) bc_dev24.c:89: error: invalid lvalue in unary `&' bc_dev24.c:89: error: `register_bc_algo' undeclared here (not in a function) bc_dev24.c:89: warning: excess elements in scalar initializer bc_dev24.c:89: warning: (near initialization for `__ksymtab__set_ver') bc_dev24.c:90: error: `__kstrtab__set_ver' declared as function returning an array bc_dev24.c:90: warning: parameter names (without types) in function declaration bc_dev24.c:90: error: function `__kstrtab__set_ver' is initialized like a variable bc_dev24.c:90: warning: parameter names (without types) in function declaration bc_dev24.c:90: error: function `__ksymtab__set_ver' is initialized like a variable bc_dev24.c:90: error: `unregister_bc_algo' undeclared here (not in a function) bc_dev24.c:90: error: invalid lvalue in unary `&' bc_dev24.c:90: error: `unregister_bc_algo' undeclared here (not in a function) bc_dev24.c:90: warning: excess elements in scalar initializer bc_dev24.c:90: warning: (near initialization for `__ksymtab__set_ver') make[1]: *** [bc_dev24.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/bestcrypt-1.5_p7/work/bcrypt/mod' make: *** [subdirs] Error 2 !!! ERROR: app-crypt/bestcrypt-1.5_p7 failed. !!! Function src_compile, Line 40, Exitcode 2 !!! (no error message)
Note to self/fellow devs: the include path isn't set correctly by the package.
I just commited bestcrypt-1.5_p9. This compiles modules for 2.4 kernels. Please test this as I'm not sure I got the kernel versioning numbers correct.