I tried to compile nettle using --disable-dependency-tracking on OpenBSD, but I get:
$ make make all-here make: don't know how to make aesdata. Stop in /usr/ports/security/ nettle/w-nettle-1.13/nettle-1.13. *** Error code 2
make clean also doesn't work right:
$ make clean set -e; for d in tools testsuite examples; do echo "Making clean in $d" ; (cd $d && make clean); done Making clean in tools rm -f sexp-conv nettle-lfib-stream *.o Making clean in testsuite rm -f aes-test$(EXEEXT) arcfour-test$(EXEEXT) arctwo-test$(EXEEXT) blowfish-test$(EXEEXT) cast128-test$(EXEEXT) base16-test$(EXEEXT) base64-test$(EXEEXT) des-test$(EXEEXT) des3-test$(EXEEXT) des-compat- test$(EXEEXT) md2-test$(EXEEXT) md4-test$(EXEEXT) md5-test$(EXEEXT) md5- compat-test$(EXEEXT) sha1-test$(EXEEXT) sha256-test$(EXEEXT) serpent- test$(EXEEXT) twofish-test$(EXEEXT) buffer-test$(EXEEXT) sexp-test $(EXEEXT) sexp-format-test$(EXEEXT) rsa2sexp-test$(EXEEXT) sexp2rsa-test $(EXEEXT) knuth-lfib-test$(EXEEXT) cbc-test$(EXEEXT) ctr-test$(EXEEXT) hmac-test$(EXEEXT) bignum-test$(EXEEXT) pkcs1-test$(EXEEXT) rsa-test $(EXEEXT) rsa-encrypt-test$(EXEEXT) rsa-keygen-test$(EXEEXT) dsa-test $(EXEEXT) dsa-keygen-test$(EXEEXT) yarrow-test$(EXEEXT) *.o test.in test1.out test2.out /bin/sh: EXEEXT: not found /bin/sh: EXEEXT: not found /bin/sh: EXEEXT: not found /bin/sh: EXEEXT: not found /bin/sh: EXEEXT: not found ...
I am assuming of course that the --disable-dependency-tracking option means that it should work with a BSD make.
Adam
Adam Montague amontague@siriushosting.com writes:
I tried to compile nettle using --disable-dependency-tracking on OpenBSD, but I get:
$ make make all-here make: don't know how to make aesdata. Stop in /usr/ports/security/ nettle/w-nettle-1.13/nettle-1.13. *** Error code 2
Right, I noticed this too.
Appearantly, two-suffix rules are fairly portable and useful, while single-suffix rules are not. I've hacked the Makefiles to not use single-suffix rules.
Since a week or so, the lsh xenofarm is up and running again, and these clients also build nettle. With the Makefiles in CVS, building nettle (with --disable-dependency-tracking) seems to work with all of GNU make, FreeBSD make and Solaris make, see http://www.lysator.liu.se/~nisse/xeno-lsh/latest.html. Is OpenBSD's make program different from FreeBSD's?
make clean also doesn't work right:
$ make clean set -e; for d in tools testsuite examples; do echo "Making clean in $d" ; (cd $d && make clean); done Making clean in tools rm -f sexp-conv nettle-lfib-stream *.o Making clean in testsuite rm -f aes-test$(EXEEXT) arcfour-test$(EXEEXT) arctwo-test$(EXEEXT)
[...]
This is strange. Why isn't $(EXEEXT) expanded? I'm not sure in which order things are supposed to be expanded, but it shouldn't matter. The unexpanded command line is
-rm -f $(TARGETS)
where TARGETS is defined as
TARGETS = $(TS_SOURCES:.c=$(EXEEXT))
Is this construction failing on OpenBSD? Can it be rewritten in some more portable way?
Regards, /Niels
nettle-bugs@lists.lysator.liu.se