Tested on OpenBSD 5.9 and 6.1; got the same error.
user@xxx:vlmcsd-master $ uname -a
OpenBSD xxxxxxxxxx 5.9 GENERIC.MP#0 amd64
user@xxx:vlmcsd-master $ gmake
gmake[1]: Entering directory '/home/user/vlmcsd-master/src'
CC vlmcs.o <- vlmcs.c
CC kmsdata-full.o <- kmsdata-full.c
CC crypto.o <- crypto.c
CC endian.o <- endian.c
CC kms.o <- kms.c
CC output.o <- output.c
CC helpers.o <- helpers.c
CC shared_globals.o <- shared_globals.c
CC network.o <- network.c
CC rpc.o <- rpc.c
CC crypto_internal.o <- crypto_internal.c
kms.c: In function 'InitializeClientLists':
kms.c:185: warning: implicit declaration of function 'pthread_mutexattr_setpshared'
CC dns_srv.o <- dns_srv.c
CC ns_parse.o <- ns_parse.c
CC ns_name.o <- ns_name.c
CC kmsdata.o <- kmsdata.c
CC vlmcsd.o <- vlmcsd.c
LD ../bin/vlmcs <- vlmcs.o kmsdata-full.o crypto.o kms.o endian.o output.o shared_globals.o helpers.o network.o rpc.o crypto_internal.o dns_srv.o ns_parse.o ns_name.o
../build/vlmcs.o: In function `updateIniFile':
/home/user/vlmcsd-master/src/vlmcs.c:982: warning: warning: strcpy() is almost always misused, please use strlcpy()
../build/vlmcs.o: In function `CreateRequestBase':
/home/user/vlmcsd-master/src/vlmcs.c:1391: warning: warning: rand() may return deterministic values, is that what you want?
../build/vlmcs.o: In function `updateIniFile':
/home/user/vlmcsd-master/src/vlmcs.c:983: warning: warning: strcat() is almost always misused, please use strlcat()
../build/kms.o: In function `itoc':
/home/user/vlmcsd-master/src/kms.c:239: warning: warning: sprintf() is often misused, please use snprintf()
LD ../bin/vlmcsd <- vlmcsd.o kmsdata.o crypto.o kms.o endian.o output.o shared_globals.o helpers.o network.o rpc.o crypto_internal.o
../build/kms.o: In function `itoc':
/home/user/vlmcsd-master/src/kms.c:229: warning: warning: strcpy() is almost always misused, please use strlcpy()
../build/kms.o: In function `get16RandomBytes':
/home/user/vlmcsd-master/src/kms.c:691: warning: warning: rand() may return deterministic values, is that what you want?
../build/kms.o: In function `itoc':
/home/user/vlmcsd-master/src/kms.c:238: warning: warning: strcat() is almost always misused, please use strlcat()
/home/user/vlmcsd-master/src/kms.c:239: warning: warning: sprintf() is often misused, please use snprintf()
../build/kms.o: In function `InitializeClientLists':
kms.c:(.text.InitializeClientLists+0xbb): undefined reference to `pthread_mutexattr_setpshared'
collect2: ld returned 1 exit status
GNUmakefile:601: recipe for target '../bin/vlmcsd' failed
gmake[1]: *** [../bin/vlmcsd] Error 1
gmake[1]: Leaving directory '/home/user/vlmcsd-master/src'
GNUmakefile:110: recipe for target 'all' failed
gmake: *** [all] Error 2