xmake-io / xmake

🔥 A cross-platform build utility based on Lua
https://xmake.io
Apache License 2.0
9.89k stars 775 forks source link

Ubuntu 平台,不能检测到sdcc工具链 #1081

Closed KnightJun closed 3 years ago

KnightJun commented 3 years ago

描述问题

在ubuntu系统上,使用xmake+sdcc编译51单片机代码,在生成xmake配置的时候显示error: sdcc toolchain not found! 系统已经通过apt安装sdcc编译器,值得注意的是我是在docker内使用的,只有root账户,因此是使用root模式运行xmake(加了--root参数)

期待的结果

正常检测出sdcc工具链

错误信息

如果可能,请尽量附加程序运行过程中的错误输出信息。

` <git:(master*)> xmake f -p cross -a mcs51 --toolchain=sdcc --root -vD error: @programdir/core/main.lua:284: @programdir/core/tool/toolchain.lua:205: @programdir/toolchains/sdcc/check.lua:34: sdcc toolchain not found! stack traceback: [C]: in function 'error' [@programdir/core/base/os.lua:789]: in function 'raise' [@programdir/toolchains/sdcc/check.lua:34]: [C]: in function 'load' [@programdir/core/tool/toolchain.lua:201]: in function 'check' [@programdir/core/platform/platform.lua:287]: in function 'check' [...mdir/core/sandbox/modules/import/core/project/config.lua:120]: in function 'check' [@programdir/actions/config/main.lua:274]: [C]: in function 'load' [@programdir/core/base/task.lua:520]: in function 'run' [@programdir/core/main.lua:282]: in function 'cotask' [@programdir/core/base/scheduler.lua:317]:

stack traceback: [C]: in function 'error' @programdir/core/base/os.lua:789: in function 'raise' @programdir/core/main.lua:284: in function 'cotask' @programdir/core/base/scheduler.lua:317: in function <@programdir/core/base/scheduler.lua:315>

<git:(master*)> which sdcc /usr/bin/sdcc `

相关环境

KnightJun commented 3 years ago

我看了下xmake的代码,是检测sdk目录下的bin文件夹,应该是使用 xmake f -p cross -a mcs51 --toolchain=sdcc --sdk=/usr/ 不过还是希望能通过环境变量去自动检测sdk的路径,不用手动指定

lalala-233 commented 3 months ago

我看了下xmake的代码,是检测sdk目录下的bin文件夹,应该是使用 xmake f -p cross -a mcs51 --toolchain=sdcc --sdk=/usr/ 不过还是希望能通过环境变量去自动检测sdk的路径,不用手动指定

十分感谢。

截止 v2.9.3+20240624 版本依旧不能自动检测 sdk 的路径……

Issues-translate-bot commented 3 months ago

Bot detected the issue body's language is not English, translate it automatically.


I looked at the code of xmake, which is to detect the bin folder in the sdk directory. I should use xmake f -p cross -a mcs51 --toolchain=sdcc --sdk=/usr/ but I still hope to use environment variables. Automatically detect the sdk path without manually specifying it

Thank you very much.

As of version v2.9.3+20240624, it still cannot automatically detect the sdk path...