202110221630 PyO3のクロスコンパイル

いろいろなアプローチで試したが失敗。かなしいね。

  • armv7-none-linux-gnueabihf, arm-none-linux-gnueabihf を試したが特に違いはなし

crossを使う場合、Pythonインタプリタをコンテナに入れてやる必要がある。それがうまくいかなかった。 cargo b --target単体でやる場合、Pythonはあるしリンクには成功したが、

  • glibcはRPiのそれとバージョンが合わない
    • Raspbianのtestingリポジトリも試したがギリギリおっつかない
    • 古いglibcに対してリンクする方法もよくわからず終了
  • muslでやるとビルドまではできるしlddでみてもライブラリはちゃんとしているが、動かしてみるとなぜかファイルがないことになってしまう
    • chmodも効果なし
    • cefvis-clientなどはmuslでやってた

とかいう謎状態に…。はじめはPythonにも合わなかったが、こっちはなんか無理やりRPiにPython3.9ぶち込んだりしてたぶん解決した。

ホストコンパイラ – x86_64上で動作して、armを吐くコンパイラ

Backlinks