Comments (8)
Apparently, LLVM MCJIT doesn't understand Windows executable formats, even on Windows. This mailing list posting indicates that adding -elf
to the end of the target triple will cause LLVM to generate ELF code in memory on Windows. The Rust LLVM JIT code should be doing this, but I'm not sure how to do it. I will be looking into it.
from rusti.
@bombless: I've written a very naive attempt to fix this. I have no idea whether it will work at all. It's in a branch in this repo called windows-fix
. If you'd try it and let me know if it succeeds or if the output changes, I'd appreciate it.
from rusti.
@murarth Thanks!
I tried your idea but it seems that changing the triple here don't work.
$ target/rusti.exe -e 0
error: Error loading target specification: Could not find specification for target "i686-pc-windows-gnu-elf"
thread '<main>' panicked at 'ExecutionEngine init input failed to compile', C:\bot\slave\nightly-dist-rustc-win-32\build\src\libcore\option.rs:330
$ target/rusti -e 0
DEBUG - searching for sysroot in PATH D:\msys64rust\mingw32\bin;D:\msys64rust\usr\local\bin;D:\msys64rust\usr\bin;D:\msys64rust\usr\bin;D:\rust\bin;C:\program files (x86)\cmake\bin;D:\msys64rust\usr\bin\site_perl;D:\msys64rust\usr\bin\vendor_perl;D:\msys64rust\usr\bin\core_perl
DEBUG - sysroot from PATH entry D:\rust\bin
error: Error loading target specification: Could not find specification for target "i686-pc-mingw32-elf"
thread '<main>' panicked at 'ExecutionEngine init input failed to compile', C:\bot\slave\nightly-dist-rustc-win-32\build\src\libcore\option.rs:330
$ target/rusti.exe -e 0
DEBUG - searching for sysroot in PATH D:\msys64rust\mingw32\bin;D:\msys64rust\usr\local\bin;D:\msys64rust\usr\bin;D:\msys64rust\usr\bin;D:\rust\bin;C:\program files (x86)\cmake\bin;D:\msys64rust\usr\bin\site_perl;D:\msys64rust\usr\bin\vendor_perl;D:\msys64rust\usr\bin\core_perl
DEBUG - sysroot from PATH entry D:\rust\bin
error: Error loading target specification: Could not find specification for target "i686-pc-windows-elf"
thread '<main>' panicked at 'ExecutionEngine init input failed to compile', C:\bot\slave\nightly-dist-rustc-win-32\build\src\libcore\option.rs:330
I tried to edit that sys::getProcessTriple()
and recompile rustc to get new rustc library but it doesn't work, with same output.
from rusti.
Changing source code of src/llvm only affects libraries built on stage1 (I read Makefile before but I forgot this thing yesterday).
Leaving this message so if anyone view this issue and try the same thing as me can save some time.
from rusti.
@bombless: I think this issue has been solved by a recent rust-lang change that landed in nightly (2228ce10c 2015-06-09)
. Can you confirm?
from rusti.
I compiled rusti with latest rustc but it seems that recent change of libsyntax breaks the code.
I'll look into it later.
from rusti.
@bombless: Yes, there was a breaking change today. (fbb13543f 2015-06-11)
is the latest nightly and rusti should compile with that nightly build.
from rusti.
Cheers, it works!
from rusti.
Related Issues (20)
- install hangs: rustup run nightly-2016-08-01 cargo install --git https://github.com/murarth/rusti HOT 1
- Exit command HOT 1
- Compilation failure in Ubuntu 14.04 HOT 1
- can't build/run master HOT 6
- Couldn't run rusti compiled with multirust : error while loading shared libraries HOT 2
- Seems to also require libedit-dev HOT 2
- Cannot build with latest nightly rustc HOT 2
- Discrepancy between help output and performed actions HOT 3
- Unresolved import errors (Ubuntu 14.04, rustc 1.11.0 nightly, rusti 815b0ee) HOT 4
- LLVM ExecutionEngine no longer supported by rustc HOT 13
- Assertion failed (crash) on Windows HOT 7
- Crash when pressing Backspace on Windows HOT 5
- rusti: error while loading shared libraries: librustc_driver-c8005792.so: cannot open shared object file: No such file or directory HOT 8
- Link failure: cannot find -lncursesw [fixed] HOT 2
- Current cargo build is broken HOT 3
- Possible REPL improvements.
- Fail to build by cargo and git HOT 3
- Dead? HOT 2
- Linking error when libncurses is not installed HOT 3
- Can’t find crate for ‘rustc_llvm’ HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rusti.