-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
recompile with -fPIE : failed cargo build with cuda feature on Red Hat Linux distribution #286
Comments
Refs huggingface/candle#1844. I'll try to add a fix. It seemed to be an issue with Red Hat distributions, all we need is to add those flags to the linker script. |
@chmlxj, I just added some configuration options. Can you please try recompiling with
|
Hi, thanks for the quick reply! Just got time to try it, still not working for me... but this time the error message is different: note: /usr/bin/ld: /home/share/code/mistral.rs/target/release/build/candle-layer-norm-5c28d7952eae74de/out/liblayernorm.a(ln_api.o): relocation R_X86_64_32 against symbol `_ZN10layer_norm9FWD_FUNCSE' can not be used when making a PIE object; recompile with -fPIE I guess you have fixed the flash-attn package, but not the candle-layer-norm package? |
Ok, I think it should be fixed now with |
When it is compiling ln_api.o, the gcc command still not including "-fpie" option, as I found out below: gcc -std=c++17 -D__CUDA_ARCH__=890 -D__CUDA_ARCH_LIST__=890 -c -x c++ -DCUDA_DOUBLE_MATH_FUNCTIONS -O3 "-I/home/cuda/bin/../targets/x86_64-linux/include" -m64 "/tmp/tmpxft_0012c916_00000000-6_ln_api.cudafe1.cpp" -o "/home/mistral.rs/target/release/build/candle-layer-norm-5c28d7952eae74de/out/ln_api.o" |
@chmlxj can you please run |
It worked after cargo update! Thanks for the help! |
Great! Glad to help, please let me know if you have any questions for feature requests! |
I encountered similar issue on Red Hat server.
|
@Xiao-Chenguang can you try |
The error message seems to be the same when use flag -fPIC.
|
@Xiao-Chenguang please see #395. |
Thank you @EricLBuehler . After several attempts, I fount the error related to CUDA and GCC in RedHat. I can successfully compile
latest [email protected] and [email protected] lead the -fPIC and -fPIE error whatever NVCC flags supplied. |
I was trying to build using ' cargo build --release --features "cuda flash-attn" ', but it gave me these errors:
/usr/bin/ld: /home/share/code/mistral.rs/target/release/build/candle-flash-attn-d4e3bffc95604f92/out/libflashattention.a(flash_api-59d12f2bec85f63.o): relocation R_X86_64_32 against `.nvFatBinSegment' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
/usr/bin/ld: /home/share/code/mistral.rs/target/release/build/candle-flash-attn-d4e3bffc95604f92/out/libflashattention.a(flash_api-59d12f2bec85f63.o): relocation R_X86_64_32 against `.nvFatBinSegment' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
I am using Fedora 40, gcc-12. To reproduce just run
cargo build --release --features "cuda flash-attn", or
cargo build --release --features "cuda"
The text was updated successfully, but these errors were encountered: