首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试编译C文件时出错: mkfifo:无法创建fifo 'stderr':不支持操作

尝试编译C文件时出错: mkfifo:无法创建fifo 'stderr':不支持操作
EN

Stack Overflow用户
提问于 2021-02-27 22:10:12
回答 1查看 835关注 0票数 2

我们正在尝试编译

这个

按照自述文件中的说明进行操作。我必须说,我们不是C++的专家

一点也不

,我们是web开发训练营的学生,正在努力完成我们的最后一个项目。

这是一个命令行工具来计算多个天体的星历,正如你可以在自述文件中读到的设置一样,它需要从互联网上下载某些数据,然后编译。所有操作都是通过

脚本。

因此,我们尝试了:

在Windows 10 ubuntu WSL终端中

如果我们输入

或者

,下载数据后,给出错误:

代码语言:javascript
复制
$mkfifo: cannot create fifo 'stderr': Operation not supported
$mkdir -p obj obj/argparse obj/coreUtils obj/ephemCalc obj/listTools obj/mathsTools obj/settings
cc -Wall -Wno-format-truncation -Wno-unknown-pragmas -g -c -I /mnt/d/reboot/ephemeris-compute-de430/src -O3 -D DEBUG=0 -D MEMDEBUG1=0 -D MEMDEBUG2=0 -fopenmp -D DCFVERSION=\"2.0\"  -D DATE=\"09/06/2019\"  -D PATHLINK=\"/\"  -D SRCDIR=\"/mnt/d/reboot/ephemeris-compute-de430/src/\" src/ephemCalc/constellations.c -o obj/ephemCalc/constellations.o

如果我们用

,打印的错误为:

代码语言:javascript
复制
$mkfifo: cannot create fifo 'stderr': Operation not supported
$cat: stderr: No such file or directory
$mkdir -p obj obj/argparse obj/coreUtils obj/ephemCalc obj/listTools obj/mathsTools obj/settings
cc -Wall -Wno-format-truncation -Wno-unknown-pragmas -g -c -I /mnt/d/reboot/ephemeris-compute-de430/src -O3 -D DEBUG=0 -D MEMDEBUG1=0 -D MEMDEBUG2=0 -fopenmp -D DCFVERSION=\"2.0\"  -D DATE=\"09/06/2019\"  -D PATHLINK=\"/\"  -D SRCDIR=\"/mnt/d/reboot/ephemeris-compute-de430/src/\" src/ephemCalc/constellations.c -o obj/ephemCalc/constellations.o

在macOS终端中

如果我们输入

,给出了错误:

代码语言:javascript
复制
$mkdir -p obj obj/argparse obj/coreUtils obj/ephemCalc obj/listTools obj/mathsTools obj/settings
cc -Wall -Wno-format-truncation -Wno-unknown-pragmas -g -c -I /Users/rominaelorrietalopez/Documents/Descargas2/ephemeris-compute-de430-master/src -O3 -D DEBUG=0 -D MEMDEBUG1=0 -D MEMDEBUG2=0 -fopenmp -D DCFVERSION=\"2.0\"  -D DATE=\"09/06/2019\"  -D PATHLINK=\"/\"  -D SRCDIR=\"/Users/rominaelorrietalopez/Documents/Descargas2/ephemeris-compute-de430-master/src/\" src/argparse/argparse.c -o obj/argparse/argparse.o
$clang: error: unsupported option '-fopenmp'
$make: *** [obj/argparse/argparse.o] Error 1

我们已经尝试了某些事情,但都无济于事,比如授予权限等等,但不知道下一步该做什么。

它似乎与漂亮的have文件有关:

代码语言:javascript
复制
mkfifo stderr
cat stderr | sed 's/\(.*\)/\1/' &
make $@ 2>stderr | sed 's/\(.*\)/\1/'
rm stderr

这就像它试图创建一个管道来保存编译的错误,但不知何故失败了。同样值得一提的是,它有一个关联的Makefile。

由于github项目没有问题,我们已经通过电子邮件联系了创建者,但我们认为也许有人可以在这里帮助我们。

任何形式的帮助都会受到真诚的感谢,谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2021-02-28 21:52:45

来自OP的评论邀请我回答;这就是它。

The The The

脚本创建一个命名的fifo,以便接收由生成的消息

关于它的标准误差。后台进程(

)使用此fifo中的数据,并将它们发送到

命令(参见后面),以便在写入标准输出之前转换这些数据。(请注意

在这里是无用的,因为

可以直接从指定的fifo读取,这要归功于

)

然而,这两个

问题中所示的命令不会做任何事情,因为它们只捕获文本的每一行(

),并原封不动地重复它们(

),因此它们可以被省略。在这种情况下,脚本可能只包含

,它也会产生同样的效果。在创建命名fifo有问题的系统上(显然是旧版本的WSL ),脚本中的这种更改应该会产生与预期相同的效果。

查看

链接

在问题中,我们可以看到原来的

脚本实际上包含

命令,以显示

命令使用不同的颜色。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66399634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档