Skip to content

Trouble working with Swift REPL #70

@jurvis

Description

@jurvis

Thank you for putting together such a tool that makes exposing Rust to Swift painless!

I'm having trouble getting the package to import when running the Swift REPL against the generated package. See the following output below for the greeter crate in the hello-world-macro example.

[15:47] hello-world-macro (main) | cd greeter                       15:47:14
[15:47] greeter (main) | cargo swift package                        15:47:18
✔ Swift Package Name · Greeter
✔ Select Target Platforms · macOS, iOS
✔ Building target macOS
    cargo build --target x86_64-apple-darwin
    cargo build --target aarch64-apple-darwin
    mkdir -p target/universal-macos/debug
    lipo target/x86_64-apple-darwin/debug/libgreeter.a \
        target/aarch64-apple-darwin/debug/libgreeter.a -create -output \
        target/universal-macos/debug/libgreeter.a
✔ Building target iOS
    cargo build --target aarch64-apple-ios
✔ Building target iOS Simulator
    cargo build --target x86_64-apple-ios
    cargo build --target aarch64-apple-ios-sim
    mkdir -p target/universal-ios/debug
    lipo target/x86_64-apple-ios/debug/libgreeter.a \
        target/aarch64-apple-ios-sim/debug/libgreeter.a -create -output \
        target/universal-ios/debug/libgreeter.a
✔ Generating Swift bindings...
✔ Creating XCFramework...
✔ Creating Swift Package 'Greeter'...
✔ Successfully created Swift Package in 'Greeter/'!
[15:47] greeter (main) | ls                                         15:47:45
Cargo.lock  Cargo.toml  Greeter/    generated/  src/        target/
[15:48] greeter (main) | cd Greeter/                                15:48:07
[15:48] Greeter (main) | ls                                         15:48:11
Package.swift              Sources/
RustFramework.xcframework/
[15:48] Greeter (main) | swift run --repl                           15:48:12
Building for debugging...
[7/7] Linking libgreeter__REPL.dylib
Build complete! (3.89s)
Launching Swift REPL with arguments: repl -I/Users/jurvistest/Projects/cargo-swift/swift-examples/hello-world-macro/greeter/Greeter/.build/arm64-apple-macosx/debug -L/Users/jurvistest/Projects/cargo-swift/swift-examples/hello-world-macro/greeter/Greeter/.build/arm64-apple-macosx/debug -lgreeter__REPL
Welcome to Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2).
Type :help for assistance.
  1> import Greeter
error: error while processing module import: repl.swift:2:8: missing required module 'greeterFFI'
import Greeter

any ideas why that may be the case? could there be an option in swift run that I may be missing? the package works well when imported elsewhere, otherwise. TIA!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions