paxengine / pax

User interface engine for native apps & WebAssembly sites
https://pax.dev/
Apache License 2.0
278 stars 18 forks source link

xcodebuild: error #72

Open Vjze opened 10 months ago

Vjze commented 10 months ago

[Pax] 💻 Building xcodeproject... 2023-10-30 22:41:04.134 xcodebuild[39987:197212] Writing error result bundle to /var/folders/y2/188hpfyd2_bbprjnwclm6b9h0000gn/T/ResultBundle_2023-30-10_22-41-0004.xcresult xcodebuild: error: Could not resolve package dependencies: the package at '/Users/wjz/Rust/hello-world/.pax/pkg/pax-chassis-common/pax-swift-cartridge' cannot be accessed (Error Domain=NSCocoaErrorDomain Code=260 "The folder “pax-swift-cartridge” doesn’t exist." UserInfo={NSFilePath=/Users/wjz/Rust/hello-world/.pax/pkg/pax-chassis-common/pax-swift-cartridge, NSUserStringVariant=( Folder ), NSUnderlyingError=0x7fa7f4508da0 {Error Domain=NSOSStatusErrorDomain Code=-43 "fnfErr: File not found"}})

Failed to build project with xcodebuild. Aborting.

warfaj commented 10 months ago

What version of the CLI are you using?

zackbrown commented 10 months ago

I can reproduce this on 0.10.7:

  1. cargo install pax-cli --force
  2. pax-cli new xcodetest
  3. cd xcodetest && pax-cli run --target=macos. The same error message is presented.

Thanks for the report @Vjze ; we've filed this bug in our tracker and will update this issue when we resolve it.

For whoever takes this on, it looks like the published version of the CLI (as opposed to the monorepo libdev version) is failing to unpack pax-swift-cartridge. Either it isn't getting bundled with the binary, or perhaps our recursive unpacking logic is failing (possibly not handling a symlink/etc. correctly — and we do have symlinks in pax-swift-cartridge.)

Notice the missing pax-swift-cartridge below; this is in xcodetest/.pax/pkg/pax-chassis-common after getting the error above:

tree -L 2 pax-chassis-common/
pax-chassis-common/
├── Cargo.toml
├── Cargo.toml.orig
├── pax-swift-common
│   ├── Package.swift
│   ├── README.md
│   ├── Sources
│   └── Tests
└── src
    ├── core_graphics_c_bridge.rs
    └── lib.rs

5 directories, 6 files