Instalowałem środowisko oprogramowania płyty eksperymentalnej Armadeus APF27DEV, a kiedy wypróbowałem make
polecenie, wyświetlił mi się następujący komunikat o błędzie:
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
Aby rozwiązać ten błąd, próbowałem zmienić wszystkie shebangi z #!/bin/sh
na #!/bin/bash
i wypróbowałem również następujący wiersz poleceń:
ln -s /bin/bash /bin/sh
Ale wszystko, co zrobiłem, nie rozwiązało problemu. Czy ktoś mógłby mi pomóc z tym problemem?
bash
make
symbolic-link
batur
źródło
źródło
Odpowiedzi:
Byłeś prawie przy komendzie ln - z tym wyjątkiem, że prawdopodobnie musiałeś dołączyć flagę -f („force”), aby zastąpić stary link - lepiej też użyć ścieżki względnej dla celu
Po zakończeniu instalacji możesz przywrócić system do ustawień domyślnych za pomocą
Nie powinno być potrzeby zmiany pliku skryptu „shebangs”
źródło
sudo dpkg-reconffigure dash
i wybrać opcję, aby nie używać myślnika w celu zapewnienia/bin/sh
. Jeśli zrobisz to z dpkg, zaktualizuje on inne części twojego systemu (takie jak strony podręcznika), aby pasowały.Problem nie może
/bin/sh
wskazywać,dash
ponieważ jest to ustawienie domyślne (właśnie sprawdziłem na swoim końcu i było tak samo). Problem musi być gdzie indziej; pakiet nie wydaje się być kompatybilny z Ubuntu po wyjęciu z pudełka.Być może w Makefile możesz znaleźć linię wykonującą skrypt
sh
jawnie, tjsh path/to/script
. Zamień wszystkie takie wystąpieniash
dlabash
i zgłoś swoje wyniki.źródło