Subject: bin/12804: make NBUILDJOBS=4 goes funny in libcrypto
To: None <gnats-bugs@gnats.netbsd.org>
From: None <fvdl@netbsd.org>
List: netbsd-bugs
Date: 05/02/2001 05:02:21
>Number:         12804
>Category:       bin
>Synopsis:       make NBUILDJOBS=4 goes funny in libcrypto
>Confidential:   yes
>Severity:       non-critical
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue May 01 18:01:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Frank van der Linden
>Release:        NetBSD-current 05012001
>Organization:
Vaasjes International
>Environment:
	
System: NetBSD k2 1.5U NetBSD 1.5U (DUO) #1: Wed May 2 02:09:15 CEST 2001 fvdl@duo:/work/trees/mp/sys/arch/i386/compile/DUO i386
Architecture: i386
Machine: i386
>Description:
	When having make(1) do a "make build NBUILDJOBS=4" in /usr/src,
	it crunches along for a while, but then fails in libcrypto as
	follows:
[...]
--- dependall-libcrypto ---

[last few lines of the lint for txt_db.c]

/usr/src/lib/libcrypto/../../crypto/dist/openssl/crypto/txt_db/txt_db.c(362): warning: pointer casts may be troublesome [247]
/usr/src/lib/libcrypto/../../crypto/dist/openssl/crypto/txt_db/txt_db.c(373): warning: pointer casts may be troublesome [247]

[the trouble starts here]

make: Graph cycles through `/usr/include/openssl/rc5.h'
make: Graph cycles through `/usr/include/openssl/idea.h'
make: Graph cycles through `/usr/include/openssl/rsa.h'
`/usr/src/lib/libcrypto/../../crypto/dist/openssl/crypto/asn1/a_digest.c' is up
to date.
`/usr/include/stdio.h' is up to date.
`/usr/include/sys/ansi.h' is up to date.
`/usr/include/machine/int_types.h' is up to date.
`/usr/include/sys/cdefs.h' is up to date.
`/usr/include/machine/cdefs.h' is up to date.
`/usr/include/sys/cdefs_elf.h' is up to date.
`/usr/include/sys/featuretest.h' is up to date.
`/usr/include/machine/ansi.h' is up to date.
`/usr/include/sys/null.h' is up to date.
`/usr/include/time.h' is up to date.
`/usr/include/machine/limits.h' is up to date.
`/usr/include/sys/time.h' is up to date.
`/usr/include/sys/types.h' is up to date.
`/usr/include/machine/types.h' is up to date.
`/usr/include/machine/endian.h' is up to date.
`/usr/include/sys/endian.h' is up to date.
`/usr/include/machine/endian_machdep.h' is up to date.
`/usr/include/machine/byte_swap.h' is up to date.
`/usr/include/machine/bswap.h' is up to date.
`/usr/include/sys/bswap.h' is up to date.

[etc]


	It continues to seemingly list all dependencies for each
	following target, saying they're up to date, but it doesn't
	actually make any more object files. Naturally, creating libcrypto.a
	fails a little later on, because the object files do not
	exist.

	The .depend file does not seem to be the problem, it is equal
	to the one created in a normal run.

>How-To-Repeat:
	cd /usr/src ; make build NBUILDJOBS=4
	(only tried on a dual CPU x86 system, maybe an up system will
	reproduce it oo)
	After it has failed, changing to lib/libcrypto and doing
	'make -j4' will reproduce it. A normal 'make' in that directory
	works.
>Fix:
	Unknown.
>Release-Note:
>Audit-Trail:
>Unformatted: