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: