Open arasan01 opened 1 year ago
問題の発見とワークアラウンドのみ分かっていて、実際にビルドツールチェインとして解決する方法は調査してます。なにか分かれば再度追記します。もしかするとclang++のバージョンが上がると修正される可能性もある && 回避方法が簡単なため、静観で良いと思いました。
issue作成ありがとうございます! 将来VOICEVOXのビルド環境を変えるときまでに修正されていると嬉しいですね。。
"cc"のバージョンを1.0.79に上たらコンパイルが通りました。 Cargo.lockによれば現在"cc"は1.0.73ですが、
cargo update -p cc --precise 1.0.79
で手元では通りました。
コマンドは
$ RUSTFLAGS="-C panic=abort" ORT_USE_CUDA="false" cargo build -p voicevox_core_c_api -vv --features "" --target aarch64-apple-ios-sim --release
が
error[E0463]: can't find crate for core
となるので、
RUSTFLAGS="-C panic=abort" ORT_USE_CUDA="false" rustup run nightly cargo build -p voicevox_core_c_api --features "" --target aarch64-apple-ios-sim --release -Z build-std
として nightlyで-Z build-stdをつけて標準ライブラリをコンパイル(エラーは大量に出る)した後に -Z build-stdを外して
cargo clean
RUSTFLAGS="-C panic=abort" ORT_USE_CUDA="false" rustup run nightly cargo build -p voicevox_core_c_api --features "" --target aarch64-apple-ios-sim --release
で通りました。
clangの15.0.0では(?)、ccのバージョンと関係なくaarch64-apple-ios-simの標準のstdがおかしい問題がある気がします。
Xcode: Version 15.1 clang++: Apple clang version 15.0.0 (clang-1500.1.0.2.5)
不具合の内容
Xcode15ß1の環境で導入されるclang++ 15.0.0で実行されるコマンドの一部が受け付けられなくなるためaarch64-apple-ios-sim向けビルドが失敗する
現象・ログ
再現手順
MacOS 14.0 Sonoma (beta) - 必須ではない。 Xcode 15.0 beta1 (15A5160n) - 事象の原因 main branch(確認したコミット: b8c1b316203a0963ce3d3aca787fd392cceba930)
期待動作
clang++ 15.0.0でビルドができる
VOICEVOXのバージョン
0.?.0
OSの種類/ディストリ/バージョン
MacOS 14.0 Sonoma (beta) - 必須ではない。 Xcode 15.0 beta1 (15A5160n) - 事象の原因
この問題の回避方法
対応方法としてXcodeをダウングレード(今回は14.3.1: 14E300c)に落とすと利用されるclang++が下がりビルドが成功します。