How about switching from sed to perl, then? Cheers Christian
Duncan Coutts schrieb: > This is a bug in mk/chsDepend(.in) probably due to some difference in > how sed works in Solaris compared to Linux. > > the mk/chsDepend shell script looks at a .chs file and tries to find all > the lines that look like: > > {#import Some.Module.Name#} > > and then find the .chi files corresponding to those import lines. It > looks from the error message that it's picking up "{#import" as if it > were a module. > > The shell/sed code that is probably going wrong is: > > DEPS=`$GREP "{#import" $FULLNAME 2> /dev/null \ > | $SED 'y/./\//;s/^{#import \(qualified \)*\([a-zA-Z1-9/]*\)#}.*/\2/'`; > > testing this with standard solaris sed (on Solaris 9) reveals the > problem, standard Solaris sed is terrible! :-) > > The problem is that standard Solaris /usr/bin/sed does not allow * on > sub-expressions, for example this sed regexp "\(bar\)*" does not match > the string "bar bar". The other Solaris sed that is not on the path by > default works fine (/usr/xpg4/bin/sed). Well actually it needs a minor > patch too, it doesn't like the escape in "y/./\//", but if we change it > to "y|.|/|" then it's happy. > > So the solution I think is for me to change the configure script to look > for /usr/xpg4/bin/sed in preference to /usr/bin/sed on Solaris and also > to make that other minor syntax fix. > > The workaround you can try is to edit mk/chsDepend and set SED to either > gnu sed or to /usr/xpg4/bin/sed though in the latter case you'll also > need to fix the "y|.|/|" bit. Then you'll need to make clean and make > again. > > Duncan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe