请问下源码编译成功后,使用 fx run -g 运行报错,有人知道怎么解决吗?下面是报错信息:
root@kinger-HP-EliteDesk-800-G3-TWR:/home/kinger/os/fuchsia# fx fun -g
2020/05/07 10:43:42 no devices found
ERROR: Device discovery failed with status: 1
ERROR: Multiple devices or no device found. Try “fx -d=DEVICE_NAME shell” or “fx set-device DEVICE_NAME”
在这个错误之前一直报这个错误,说是不识别命令的意思(都是shell脚本里面的命令,我就搞不懂了,为啥到了我电脑上就不识别了,有时候看到这些报错真是气不打一出来,真想说一句垃圾):
root@wuchaochao-HP-EliteDesk-800-G3-TWR:/home/wuchaochao/Desktop/work/fuchsia-source-20200221# fx build
ninja: Entering directory /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64.zircon' ninja: no work to do. ninja: Entering directory
/home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64’
[5/26758] ACTION //zircon/public/lib/f…symbols(//build/toolchain/fuchsia:x64)
FAILED: gen/zircon/public/lib/fdio/fdio.symbols.api
/usr/bin/env …/…/build/cpp/extract_public_symbols.sh …/…/prebuilt/third_party/clang/linux-x64/bin/llvm-nm /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64.zircon/user-x64-clang.shlib/obj/system/ulib/fdio/libfdio.so.debug /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64/gen/zircon/public/lib/fdio/fdio.symbols.api
1---------: …/…/prebuilt/third_party/clang/linux-x64/bin/llvm-nm
2---------: /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64.zircon/user-x64-clang.shlib/obj/system/ulib/fdio/libfdio.so.debug
3---------: /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64/gen/zircon/public/lib/fdio/fdio.symbols.api
SYMBOLS: /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64/gen/zircon/public/lib/fdio/fdio.symbols.api
…/…/build/cpp/extract_public_symbols.sh: line 43: ./dirname: No such file or directory
…/…/build/cpp/extract_public_symbols.sh: line 43: ./mkdir: No such file or directory
[12/26758] CXX obj/zircon/system/ulib/fidl/libfidl_base.decoding.cc.o
ninja: build stopped: subcommand failed.
我看了一下这个文件extract_public_symbols.sh的第43行,我单独写了一个sh文件是可以运行的,但是使用fx build间接触发就不行,真是奇了怪了,具体第43行代码如下:
mkdir -p $(dirname “${SYMBOLS}”)
这行代码不就是创建一个文件目录的是吗,为啥一直识别不了这个命令,还把"dirname"关键字识别成了"./dirname",我真是服了!
这是我部分改的内容,我也删掉过第43行继续运行,但是还有其他命令识别不了,所以这个指标不治本,我想还得从源头上把问题解决才能顺利编译过去
我直接使用下面的命令又是可以运行的,不会报错:
/usr/bin/env …/…/build/cpp/extract_public_symbols.sh …/…/prebuilt/third_party/clang/linux-x64/bin/llvm-nm /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64.zircon/user-x64-clang.shlib/obj/system/ulib/fdio/libfdio.so.debug /home/wuchaochao/Desktop/work/fuchsia-source-20200221/out/core_x64/gen/zircon/public/lib/fdio/fdio.symbols.api
一旦用fx build命令运行又报错,不知道直接运行和使用fx build间接运行到上面的命令有什么区别,使用fx build总是会报错误
我现在只有出奇招了,每次报错单独运行报错的命令,在固定目录下运行完后,清空原来sh文件中的内容后,再在根目录下运行fx build,好像情况有了些好转
还是不行,后面很多都有sh文件,有些命令比较特殊会连续执行上百次,不可能让我一个一个命令去输入的
我弄了一遍 重新编译还是不行 还是不能识别命令
就没人帮忙看看吗?急需体验fuchsia系统。
我把程序简化成这两行还是报错,识别不了命令,有没有懂linux的大神帮帮小弟该怎么解决这个问题。直接手动运行这个sh文件是没任何问题的,但是通过fx build间接运行到sh这个文件就识别不了命令了。
求大神进来帮帮忙,折腾了快两个星期了