That's pretty much what I had to do. Thanks for the full explanation so others will know!


Philip Mabon
Senior Bioinformatician
National Microbiology Laboratory
Public Health Agency of Canada


On Wed, Aug 29, 2012 at 10:31 AM, Assaf Gordon <gordon@cshl.edu> wrote:
Hello Philip,

Philip Mabon wrote, On 08/29/2012 10:08 AM:
> Looks like I forgot to reset that value. So making progress... I can install freebayes successfully (the front end timeout but it worked)
>
> However, samtools fails with the following message in web worker log:
>
> [localhost] local: sed -i .bak -e 's/-lcurses/-lncurses/g' Makefile
> Warning: local() encountered an error (return code 2) while executing 'sed -i .bak -e 's/-lcurses/-lncurses/g' Makefile'
>
> Front end error: "sed: can't read .bak: No such file or directory"
>
> So for some reason the sed did not work...
>

I haven't followed the full thread, but the direct reason for this error (with 'sed') is that the command-line uses a Mac/BSD syntax which is not standard and not compatible with the most common linux version of sed.

The parameter "-i" instructs sed to work in-place, and create a backup with with the given extension.
Mac/BSD sed accepts "-i<SPACE>.bak" and "-i.bak" (without space), but the GNU sed does not accept a space, and so assumes that ".bak" is the input file name you want to work on (which obviously doesn't exist, hence the error "no such file").

So the following are identical on Mac:
 sed -i .bak -e 's/-lcurses/-lncurses/g' Makefile
 sed -i.bak -e 's/-lcurses/-lncurses/g' Makefile

But with GNU sed, the first one will not work as expected.

To fix it, simply remove the space after the "-i" parameter (I'm not sure where the command is - is it part of freebayes or part of the tool-shed).

Regards,
 -gordon