-
Notifications
You must be signed in to change notification settings - Fork 471
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
mingw-w64: cannot compile dependents due to error with crossbeam-epoch #856
Comments
I believe this is an upstream issue (maybe related to issues fixed by rust-lang/rust#67429?) as there is no windows specific code in crossbeam-epoch. Consider submitting an issue at rust-lang/rust. |
indeed there are no windows specific code, but I was able to get around this by patching the dependent's cargo.toml to use crossbeam before 08e41e1 |
One of the differences between lazy_static and once_cell is whether or not the function pointer is stored in static (once_cell stores it, and lazy_static doesn't). I found a report in rust-lang/rust about a similar linkage issue that occurs when a function pointer is stored in static: rust-lang/rust#98302 |
Downstream issues: xiph/rav1e#2960 and mozilla/grcov#849
Possibly related to 08e41e1
Currently searching up how to override a dependency of a dependency to see if I can pin crossbeam-epoch to the version before that commit to see if that works.
cargo build
works, butcargo build --release
does not, even aftercargo clean
s in between. I checked the .o files inside the target folder, and it seems that the symbol is generated, but without the_imp
prefix (meaning not compiled for dlls on Windows, normally controlled bydllimport
anddllexport
in C and C-like languages), but the other object files are looking for the dll exported version, which does not exist.error snippet:
nm of one of the .o files that grep showed for having the symbol (- the prefix)
I do not know enough rust, and it's linkage rules to determine why the symbol is being imported as a dll based symbol.
The text was updated successfully, but these errors were encountered: