You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using Visual studio 2019 to compile the current develop branch with the test projects included will fail with the following three error messages: Error LNK2019 unresolved external symbol jump_fcontext referenced in function "public: void * __cdecl boost::coroutines::detail::coroutine_context::jump(class boost::coroutines::detail::coroutine_context &,void *)" (?jump@coroutine_context@detail@coroutines@boost@@QEAAPEAXAEAV1234@PEAX@Z) load_test C:\Users\***\Documents\NanoBinaries\nano\load_test\boost_coroutine.lib(coroutine_context.obj) 1 Error LNK2019 unresolved external symbol make_fcontext referenced in function "public: __cdecl boost::coroutines::detail::coroutine_context::coroutine_context(void (__cdecl*)(struct boost::context::detail::transfer_t),struct boost::coroutines::detail::preallocated const &)" (??0coroutine_context@detail@coroutines@boost@@QEAA@P6AXUtransfer_t@1context@3@@ZAEBUpreallocated@123@@Z) load_test C:\Users\***\Documents\NanoBinaries\nano\load_test\boost_coroutine.lib(coroutine_context.obj) 1 Error LNK1120 2 unresolved externals load_test C:\Users\***\Documents\NanoBinaries\Release\load_test.exe 1
The error seems to have appeared after the Boost link targets were changed in this commit: d8fa4b7
Is this cross compiling from Windows on an Apple silicon chip to x64?
I've seen a similar issue but looking at load_test it seems like the only project with the issue. We added some boost coroutine functions in load test but they've been superseded by C++20 now.
In the mean time we should rewrite the boost::spawn and boost::yield_context code and replace it with standard callback code as is in the node elsewhere. This will remove the dependency on boost context entirely.
Summary
Using Visual studio 2019 to compile the current develop branch with the test projects included will fail with the following three error messages:
Error LNK2019 unresolved external symbol jump_fcontext referenced in function "public: void * __cdecl boost::coroutines::detail::coroutine_context::jump(class boost::coroutines::detail::coroutine_context &,void *)" (?jump@coroutine_context@detail@coroutines@boost@@QEAAPEAXAEAV1234@PEAX@Z) load_test C:\Users\***\Documents\NanoBinaries\nano\load_test\boost_coroutine.lib(coroutine_context.obj) 1 Error LNK2019 unresolved external symbol make_fcontext referenced in function "public: __cdecl boost::coroutines::detail::coroutine_context::coroutine_context(void (__cdecl*)(struct boost::context::detail::transfer_t),struct boost::coroutines::detail::preallocated const &)" (??0coroutine_context@detail@coroutines@boost@@QEAA@P6AXUtransfer_t@1context@3@@ZAEBUpreallocated@123@@Z) load_test C:\Users\***\Documents\NanoBinaries\nano\load_test\boost_coroutine.lib(coroutine_context.obj) 1 Error LNK1120 2 unresolved externals load_test C:\Users\***\Documents\NanoBinaries\Release\load_test.exe 1
The error seems to have appeared after the Boost link targets were changed in this commit:
d8fa4b7
Node version
v25db7
Build details
Build using these instructions:
https://github.com/nanocurrency/nano-node/files/10362594/Nano_windows_install.pdf
This has worked fine before
OS and version
Windows 10
Steps to reproduce the behavior
Expected behavior
No compile errors
Actual behavior
Three errors are outputted
Possible solution
It seems like it has something to do with boost coroutine.
Apparently the order that it is included matters: https://stackoverflow.com/a/17883184
Supporting files
No response
The text was updated successfully, but these errors were encountered: