Subject: pkg/17868: openssl-0.9.6e can't build shared libraries on many platforms.
To: None <gnats-bugs@gnats.netbsd.org>
From: Frederick Bruckman <fredb@immanent.net>
List: netbsd-bugs
Date: 08/07/2002 05:48:09
>Number:         17868
>Category:       pkg
>Synopsis:       openssl-0.9.6e can't build shared libraries on many platforms.
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 07 03:49:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Frederick Bruckman
>Release:        NetBSD-1.4.3/i386 NetBSD 1.5.3/pmax
>Organization:
Frederick
>Environment:
	
	
System: NetBSD tautology.immanent.net 1.5.4_ALPHA NetBSD 1.5.4_ALPHA (TAUTOLOGY) #2: Sun Aug 4 13:28:26 CDT 2002 fredb@tautology.immanent.net:/s/src-release/sys/arch/i386/compile/TAUTOLOGY i386
Architecture: i386
Machine: i386
>Description:
	
	Problems have been reported builded openssl on various platforms
	since I updated it to openssl-0.9.6e and synced the code base with
	current.

	1) NetBSD 1.4.2 and older don't have strlcpy() and strlcat(), which
	are introduced by the netbsd-patch.

	2) It will build only unshared on NetBSD-1.4.3/i386. The new shared
	library build mechanism doesn't have any support for "non-standard"
	platforms.

>How-To-Repeat:
	
	See:

	http://mail-index.netbsd.org/tech-pkg/2002/08/05/0008.html
	http://mail-index.netbsd.org/tech-pkg/2002/08/06/0007.html

>Fix:
	
	The most straightforward way to fix "1" would be partially revert the
	strlcpy() and strcat() change to "randfile.c" with a pkgsrc patch.

	The lazy way to fix "2" would be to add support to the package to
	build designated platforms with "no-shared".

	The right way (TM), would be to fix the "config" script to report
	all the various NetBSD platforms, included the "elf" suffix as
	necessary (like for ${MACHINE_GNU_PLATFORM}), add hooks for all of
	them to "Configure", add targets to "Makefile.org" for all the
	different variations, and connect them to the platforms in
	"Configure". I'm not sure this is worth the trouble though -- the
	new ELF toolchain is supposed to take the same arguments on all
	platforms, and the alternatives are fast becoming obsolete.
>Release-Note:
>Audit-Trail:
>Unformatted: