现在的位置: 首页 > 综合 > 正文

ubuntu中的sh命令引起的编译问题

2014年10月23日 ⁄ 综合 ⁄ 共 1263字 ⁄ 字号 评论关闭

 

用ubuntu 9.10执行
$ sh build_me.sh -b  -j -L lex
命令的时候,出现error message,如下
-------------------------------------------
(cd basis/build/linux-am34-bluraypan; sh build_me.sh -b  -j -L lex)
[: 133: unexpected operator
[: 133: unexpected operator
***Error: DirectFB path point to an invalid path
Hint: you can set DirectFB path by:
1. setenv MEI2_TOOLCHAIN_JAVA_DIR your_directfb_path
2. use -D build switch, type build_me.sh -h for help
make[4]: *** [install] エラー 1
...
...
-------------------------------------------

而在其他的linux发行版中,执行同样的命令时,无此error message,正常执行。

所以,在ubuntu发行版下,查看sh命令。
$ cd /bin
$ ls -l
lrwxrwxrwx 1 root root      4 2010-01-07 22:00 sh -> dash
实际上,sh命令链接的是dash(Debian-shell)

而在其他的linux发行版下,例如fedora、vine
lrwxrwxrwx 1 root root      4 12月 2日 16:40 sh -> bash
他们的sh链接的都是bash

所以将ubuntu中的sh和bash链接在一起。
$ sudo dpkg-reconfigure dash(可见dash的说明文)
选择[NO]

执行上面的命令之后出现dash原文,如下:
dash的说明文:================
The default /bin/sh on Debian and Debian-based systems is bash.
However,since the default shell is required to be POSIX-compliant, any shell that conforms to POSIX,such as dash, can serve as /bin/sh. You may wish to do this because is faster and smaller than bash.

Install dash as /bin/sh
    <yes>    <No>
=============================

需要注意的一点是:
本人在卸载perl的时候,由于是在新力得里卸载,没有注意perl的各种依赖关系,以至于卸载了不少跟桌面系统相关的软件,
因此导致整个系统没有了桌面系统。尝试在命令行状态下安装桌面系统:

在命令行下输入:sudo apt-get install ubuntu-desktop 

即可解决。

OK,已经安装完成,重新启动,熟悉的Linux界面系统又回来了

抱歉!评论已关闭.