[gcc]: unknown (64-bit) [FAIL]
Mtk在检测gcc的时候会存在不兼容的情况,导致无法检测到gcc,出现gcc unkown错误。gcc nv检测的时候 做了以下操作(具体代码位置参见:mediatek/build/tools/checkEnv.py 函数GccCheck。):
首先在脚本中执行了gcc --v 命令,然后在返回的信息中通过匹配”.*gcc\s*version\s*”格式查找gcc的版本。由于我们当前的版本是4.6.1 不支持gcc --v, 仅支持gcc -v,而中文语言环境下返回的版本信息中”version”用了中文字符”版本”,会导致匹配不成功。因此需要做以下修改:
1.降低gcc版本
ubuntu 11.10的gcc版本是4.6.1,把gcc版本改为4.4.3。
ubuntu 32bit系统下安装gcc 4.4:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
装完后在/usr/bin目录下
$ ls -l gcc*
lrwxrwxrwx 1 root root 7 2011-10-29 09:11 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6
首先在脚本中执行了gcc --v 命令,然后在返回的信息中通过匹配”.*gcc\s*version\s*”格式查找gcc的版本。由于我们当前的版本是4.6.1 不支持gcc --v, 仅支持gcc -v,而中文语言环境下返回的版本信息中”version”用了中文字符”版本”,会导致匹配不成功。因此需要做以下修改:
1.降低gcc版本
ubuntu 11.10的gcc版本是4.6.1,把gcc版本改为4.4.3。
ubuntu 32bit系统下安装gcc 4.4:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
装完后在/usr/bin目录下
$ ls -l gcc*
lrwxrwxrwx 1 root root 7 2011-10-29 09:11 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6
发现gcc 链接到gcc-4.6, 需要将它改为链接到gcc-4.4 :
|
解决: /usr/bin/ld: cannot find -lstdc++
原因:
sudo apt-get install gcc-4.4-multilib
也有可能原因:
查找 文件名中 有 libstdc 字段的文件:
1) 查找 libstdc++.so 文件。
查找 文件名中 有 libstdc 字段的文件:
1) 查找 libstdc++.so 文件。
locate
libstdc
/opt/matlab/sys/os/glnxa64/README.libstdc++
/opt/matlab/sys/os/glnxa64/libstdc++.so
/opt/matlab/sys/os/glnxa64/README.libstdc++
/opt/matlab/sys/os/glnxa64/libstdc++.so
2) 将找到的 libstdc++ 文件 链接到: /usr/lib/libstdc++.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so