/bin/sh is a symbolic link that doesn't point to /bin/bash [closed]

I was installing the software environment of Armadeus experiment board APF27DEV, and when I tried the make command, it gave me the following error message:

On your system /bin/sh is a symbolic link that doesn't point to /bin/bash --> please correct that !
lrwxrwxrwx 1 root root 4 2013-08-03 20:57 /bin/sh -> dash

To resolve this error, I've tried to change all the shebangs from #!/bin/sh to #!/bin/bash, and I've also tried the following command line:

ln -s /bin/bash /bin/sh

But, all that I've done didn't resolve the problem. Could anyone please help me out with this problem?


Solution 1:

You were almost there with your ln command - except you probably needed to include the -f flag ('force') in order to overwrite the old link - also it's preferable to use a relative path for the target

sudo ln -sf bash /bin/sh

When you're done with the install, you can revert to the system default with

sudo ln -sf dash /bin/sh

There should be no need to change the script file 'shebangs'

Solution 2:

The problem must not be /bin/sh pointing at dash because that's default (I just checked on my end and it was the same). The problem must be elsewhere; the package doesn't seem to be compatible with Ubuntu out-of-the-box.

Perhaps in the Makefile you may find a line executing a script through sh explicitly, i.e. sh path/to/script. Replace all such occurrences of sh for bash, and report back your results.