On Solaris, linking fails:
gcc -I/usr/pkg/include -I/usr/pkg/include -I/usr/pkg/include -Wall -Wno-pointer-sign -Wpointer-arith -O2 -I/usr/pkg/include -lsocket -lintl -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o g13-syshelp g13-syshelp.o g13-common.o keyblob.o g13tuple.o sh-cmd.o sh-blockdev.o sh-dmcrypt.o ../common/libcommon.a -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lgcrypt -lgpg-error -lassuan -lsocket -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lgpg-error -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lgpg-error /usr/pkg/lib/libiconv.so -R/usr/pkg/lib -lnsl Undefined first referenced symbol in file major sh-dmcrypt.o minor sh-dmcrypt.o ld: fatal: symbol referencing errors. No output written to g13-syshelp collect2: error: ld returned 1 exit status
Including sys/mkdev.h (in an appropriate #ifdef) in g13/sh-dmcrypt.c fixes this.