Skip to content

AXVISOR_VM_CONFIGS 路径分隔符导致启动多个VM时配置文件读取失败 #307

@Iscreamx

Description

@Iscreamx

配置文件

Image

构建结果

Image

关键报错信息

compile_error!("Failed to read file /home/iscreamx/axvisor/tmp/arceos-aarch64-qemu-smp1.toml;/home/iscreamx/axvisor/tmp/arceos-aarch64-qemu-smp2.toml: No such file or directory (os error 2)")

错误原因

AXVISOR_VM_CONFIGS 环境变量在xtask/src/tbuld.rs中配置:

Image

根据kernel/build.rs中的代码和注释可以发现, 不同的平台上env::split_paths的行为不同. 在Windows平台要求AXVISOR_VM_CONFIGS中的路径以";"分隔, 在Unix平台要求以":"分隔, 否则无法正确从AXVISOR_VM_CONFIGS中分割出配置路径.

Image

修改

在xtask/src/tbuld.rs中根据平台向AXVISOR_VM_CONFIGS插入不同分隔符

Image

修改后的构建结果:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions