Справочная информация: я использую Helix для написания собственного расширения для Ruby, написанного на Rust. На моем 64-битном MacBook Pro все работает нормально, я испытываю эту проблему на 32-битной машине Linux (i686-unknown-linux-gnu). Проблема возникает независимо от кода в источнике Rust.
Общий объект компилируется нормально, но если я пытаюсь его потребовать, я всегда получаю сообщение об ошибке, подобное следующему:
`require': invalid symbol in encoding US-ASCII :"(}\xC3\xBFtO\xEE\xB7\xE0\xEBi\x01\xAC|\xC3\xBF\x18.\x8D\xB5\xC6\xC0\x89\xB5\xFD\xF1\x8B\xB5\x80\x8B\x91\x01\x18.\x8D\xB5\xB7\xC0\x89\xB5\xE0|\xC3\xBF\xFA\x8Ck" (EncodingError)
При разных вызовах Ruby, когда мне требуется файл, двоичная строка в сообщении об ошибке отличается, что еще больше сбивает меня с толку.
Шаги для воспроизведения (обязательно: Helix , Rust, Ruby, Bundler):
Примечание: я использую
- Спираль 0,7,5
- груз 1,30,0 (a1a4ad372 2018-11-02)
- rustc 1.30.1 (1433507eb 2018-11-07)
- ruby 2.6.0p0 (2018-12-25 редакция 66547) [i686-linux]
- Версия Bundler 1.17.2
Но та же проблема существует с рекомендованными версиями от Helix README, хотя и скомпилированными для 32-битных, а не для 64-битных
- Helix 0.7.5
- груз 0,18,0 (fe7b0cdcf 2017-04-24)
- rustc 1.17.0 (56124baa9 2017-04-24)
- ruby 2.4.1p111 (2017-03-22, редакция 58053) [i686-linux]
- Версия Bundler 1.14.6
mkdir repro
cd repro/
bundle init
echo 'gem "helix-rails"' > Gemfile
bundle
helix bootstrap example
cd example
bundle exec rake build
bundle exec ruby lib/example.rb
Я также открыл выпуск 163 в репозитории tildeio / helix .