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
docs: add missing prerequisites: brotli, boost, libseccomp #2569
Conversation
Great work. If you want to be specific about which parts of boost nix needs to build, it's only the |
@@ -77,6 +87,15 @@ | |||
modify the parser or when you are building from the Git | |||
repository.</para></listitem> | |||
|
|||
<listitem><para>The <literal>libseccomp</literal> is used to provide |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't realise this was optional. I just assumed it was required because configure bombs out if you don't have it.
@endgame |
Interesting. I had a link failure on aarch64. I agree with your point, regardless. |
@endgame Can you try my script https://gitlab.com/veprbl/nix-bootstrap/blob/master/bootstrap.sh ? |
Strange. AFAICT it's unconditionally linking against Line 9 in 6924bdf
Do you want that script run on amd64 or aarch64? |
@endgame |
@@ -52,6 +58,10 @@ | |||
pass the flag <option>--enable-gc</option> to | |||
<command>configure</command>.</para></listitem> | |||
|
|||
<listitem><para>The <literal>boost</literal> library of version | |||
1.61.0 or higher. It can be obtained from the official web site |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe it should be higher due to some boost::coroutine2 bug in previous releases. Maybe 1.65 but I'm not sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@edolstra
I guess you are referring to
Lines 160 to 162 in 03ce0c3
#if BOOST_VERSION >= 106300 && BOOST_VERSION < 106600 | |
#error Coroutines are broken in this version of Boost! | |
#endif |
It singles out 1.63.x, 1.64.x, 1.65.x to exclude specifically. A test can be done a following way:
with import <nixpkgs> {};
map (boost: nix.override { inherit boost; })
[
#boost155
#boost159
#boost160 ld: symbol(s) not found for architecture x86_64
#boost161 not in nixpkgs, but works if you add it
boost162
#boost163 assert fails in serialise.cc
#boost164 assert fails in serialise.cc
#boost165 assert fails in serialise.cc
boost166
boost167
boost168
]
All four build for me (including installCheckPhase
) just fine. I can change the minimum version to 1.66, if you think that is needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for investigating :-)
@veprbl Well, that explains it. Do you still need me to run that script, and if so, on which arch? |
@endgame I think we are good. You were right about boost_context being a dependency, thanks for pointing that out. Also I learn that |
The list of prerequisites is incomplete. This should add the missing ones. The minimal supported version of "boost" is determined by trying different versions until nix compiled successfully.
This would need a backport to the maintenance branch.
Fixes: #2568