Make_release: 344: make_release: Syntaxerror: "do" unexpected (expecting "fi") mv: unable to get "drivers/net/wireless/realtek/pci/rtl8192ce /.. /.. /combo/rtl8192c_819
InUbuntu 13.04When the Linux source package provided by Realtek is compiled
Make_release: 344: make_release: Syntax error: "do" unexpected (expecting "fi ")
Mv: unable to obtain "drivers/net/wireless/realtek/pci/rtl8192ce /.. /.. /combo/rtl8192c_8192d/rtl8192_8188CE_linux_drv/"File status (stat): no file or directory
Change to Fedora 16 to pass compilation.
Refer to the online materials and find that the problem is caused by Ubuntu's default Shell. Unbuntu defaults to sh -->/bin/dash, which is inconsistent with the bash standard of Fedora.
Echo $ SHELL returns/bin/bash
Ls-lis/bin/sh returns point to/bin/dash
Make, although the makefile already has #! /Bin/bash, but sh is actually called. (This makefile is in the sub-directory)
Bash-GNU Bourne-Again SHell
Dash-Debian almqualified Shell
Solution:
An invalid file limitation solution is mentioned on the Internet:
- The first line of the file uses #! /Bin/bash does not actually work
- The first line of the file uses SHELL =/bin/bash, but it is not tested. Echo $ SHELL already points to bash
The final solution is provided in the online materials:
Sudo dpkg-reconfigure dash
Select NO from the menu that appears (do not use dash)
Reference:
Ubuntu shell script running exception: bash and dash difference http://www.linuxidc.com/Linux/2013-10/91100.htm
Ubuntu bash and dash differences http://www.linuxidc.com/Linux/2012-03/57493.htm
For more information about Ubuntu, see Ubuntu special page http://www.linuxidc.com/topicnews.aspx? Tid = 2