caladan: cannot find macro `llvm_asm`
Hi,
Thank you for your clear instructions in compiling Caladan! I’m trying to compile and run Caladan on the XL170 machines in CloudLab (running Ubuntu 18.04.6 LTS, kernel 4.15.0-191-generic) . All instructions worked out fine until the very last step of building the synthetic client-server application.
Specifically, cargo build --release fails to compile Shenango. Any idea on how to resolve this? Below is the output
I’d greatly appreciate your help!
Best regards, Hamed
Compiling nom v3.2.1
Compiling mersenne_twister v1.1.1
Compiling cexpr v0.2.3
Compiling env_logger v0.4.3
Compiling shenango v0.1.0 (/users/hameds/orig/caladan/bindings/rust)
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/asm.rs:21:14
|
21 | unsafe { llvm_asm!("rdtscp" : "={eax}"(a), "={edx}"(d), "={ecx}"(c) : : : "volatile") };
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/asm.rs:13:14
|
13 | unsafe { llvm_asm!("rdtsc" : "={eax}"(a), "={edx}"(d) : : : "volatile" ) };
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/asm.rs:7:14
|
7 | unsafe { llvm_asm!("cpuid" : : : "rax", "rbx", "rcx", "rdx": "volatile") }
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/asm.rs:3:14
|
3 | unsafe { llvm_asm!("pause" :::: "volatile") }
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/lib.rs:55:9
|
55 | llvm_asm!("" ::: "memory" : "volatile");
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/lib.rs:54:9
|
54 | llvm_asm!("addl $$1, %fs:preempt_cnt@tpoff" : : : "memory", "cc" : "volatile");
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/lib.rs:44:9
|
44 | llvm_asm!("subl $$1, %fs:preempt_cnt@tpoff" : : : "memory", "cc" : "volatile");
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /users/hameds/orig/caladan/bindings/rust/src/lib.rs:43:9
|
43 | llvm_asm!("" ::: "memory" : "volatile");
| ^^^^^^^^
error[E0635]: unknown feature `llvm_asm`
--> /users/hameds/orig/caladan/bindings/rust/src/lib.rs:4:12
|
4 | #![feature(llvm_asm)]
| ^^^^^^^^
For more information about this error, try `rustc --explain E0635`.
error: could not compile `shenango` due to 9 previous errors
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 48 (23 by maintainers)
You’ll need to switch to a newer version of rust, try running
rustup default nightlyOK. Sounds like c-states are still not enabled on your machine (the output should be something like
intel_idle, notnone). If the cloudlab admins pushed a change to the BIOS config, you may need to reboot for it to take effect. Otherwise you should check back in with them about what is going on.What is the output of ‘cat /sys/devices/system/cpu/cpuidle/current_driver’? If it is “none” then you will need to request that the Cloudlab admins enable c-states in BIOS for your machine. You’ll see other similar requests in the cloudlab-users forum.