在 llvm 3.0 测试套件中,下面的代码片段在 bash 上给出了以下错误:
sh:找不到时间命令
if [ "x$RHOST" = x ] ; then
( sh -c "$ULIMITCMD $TIMEIT -p sh -c '$COMMAND >$OUTFILE 2>&1 < $INFILE; echo exit \$?'" ) 2>&1 \
| awk -- '\
BEGIN { cpu = 0.0; }
/^user/ { cpu += $2; print; }
!/^user/ { print; }
END { printf("program %f\n", cpu); }' > $OUTFILE.time
Run Code Online (Sandbox Code Playgroud)
其中 $TIMEIT = 时间。
我试图将“sh -c”更改为“eval”,但错误仍在继续。
在尝试解决此错误时,我注意到一些有趣的事情可能有助于解决此问题,也可能无济于事:运行 sh -c "time" 有效,但 sh -c "time -p" 无效。
你们有没有人知道为什么会发生这个错误,我该如何解决? …
我已经通过 yum 安装了 clang:
yum install clang
Run Code Online (Sandbox Code Playgroud)
不幸的是,即使是一个简单的“Hello World!” 不会编译,因为它试图使用 libstdc++4.6 的头文件(我认为它具有 c++ 0x 不理解的特性)。我找不到 libstdc++4.5 包,仅适用于显然没有安装的 F14。
我什至尝试安装 2.9 二进制文件,并为自己编译和安装了 svn 主干。这些都没有帮助。
我记得在 ubuntu 上遇到过同样的问题,但我能够通过安装 libstdc++4.5 头文件来解决它。
那么,人们如何在 Fedora 上使用 clang?