Subject: pkg/36129: net/SDL_net and audio/SDL_mixer don't honor $PATH
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <Peter.Bex@xs4all.nl>
List: pkgsrc-bugs
Date: 04/08/2007 20:30:00
>Number:         36129
>Category:       pkg
>Synopsis:       SDL_net and SDL_mixer get mixed up when you have a 'sed' in $LOCALBASE because they reshuffle $PATH
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 08 20:30:00 +0000 2007
>Originator:     Peter Bex
>Release:        NetBSD 4.0_BETA2
>Organization:
	
>Environment:
	
	
System: NetBSD byers.homeunix.org 4.0_BETA2 NetBSD 4.0_BETA2 (BYERS) #2: Mon Jan 15 21:41:06 CET 2007 sjamaan@byers.homeunix.org:/usr/src/sys/arch/macppc/compile/BYERS macppc
Architecture: powerpc
Machine: macppc
>Description:
	When you try to compile audio/SDL_mixer and net/SDL_net, their 
	configure scripts get confused when a 'sed' is installed in
	LOCALBASE/bin.  This is evidenced by the error:

	-------------
	checking how to hardcode library paths into programs... immediate
	checking for sdl-config... /usr/pkg/bin/sdl-config
	checking for SDL - version >= 1.2.4... no
	*** Could not run SDL test program, checking why...
	*** The test program compiled, but did not run. This usually means
	*** that the run-time linker is not finding SDL or finding the wrong
	*** version of SDL. If it is not finding SDL, you'll need to set your
	*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
	*** to the installed location  Also, make sure you have run ldconfig if that
	*** is required on your system
	***
	*** If you have an old version installed, it is best to remove it, although
	*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
	configure: error: *** SDL version 1.2.4 not found!
	*** Error code 1

	Stop.
	-------------

	The value of ${PATH} at the start of the configure
	is fine (try putting an echo ${PATH} right at the top and observe
	its value).

	Put an echo ${PATH} right in front of this error message and you'll notice
	it has changed.  Now /usr/pkg/bin is in front of
	/usr/pkgsrc/net/SDL_net/work/.wrapper/bin

	This causes it to find the wrong version of sed (which is the one from 9base on
	my system).  The one in .wrapper/bin is GNU sed.

>How-To-Repeat:

	* run 'make configure' in net/SDL_net
	* Watch it succeed
	* run 'make clean' in net/SDL_net
	* Install sysutils/9base
	* run 'make configure' in net/SDL_net again
	* Watch it fail

>Fix:
	Unfortunately, I haven't been able to pinpoint where exactly configure
	messes with ${PATH}, so I don't have a patch.

	A workaround is either to deinstall 9base temporarily while building
	the SDL packages, or to move 9base's sed out of the way:
	mv /usr/pkg/bin/sed /usr/pkg/bin/9sed
	<install packages>
	mv /usr/pkg/bin/9sed /usr/pkg/bin/sed

>Unformatted: