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
pdns-recursos fails on mips64 #9493
Comments
Thanks I'll take a look into this one and get input from the developers :) |
pdns-recursor 4.2.0 has been released. This may still have the same issue. We can see if it's still there or try to fix prior to bumping. |
PowerDNS/pdns#7951 introduced changes to boost.m4 which fixed the detection of boost, however now it simply fails during configure instead of falsely showing boost_context as available. Does octeonplus support System V ucontexts? Edit: The changes aren't yet in a release, and may be included in 4.2.1 |
It should. |
I looked at this again. I can't figure it out. I'm guessing it's a boost problem. Note that the compiler for this platform has a + in its name. This has caused issues with other packages as well. This is an example: https://github.com/openwrt/packages/blob/master/multimedia/gst1-libav/Makefile#L145 ping @ClaymorePT |
Ok, I have been analysing this issue. For what I can tell, this is an issue regarding the mips64 arch and the lack of support of f_context for it (f_context arch support) As an alternative, for mips64 I could try to use u_context. It will be slower but it's an alternative. |
Weird that mips is supported but not mips64. |
I also thought that, but its what the documentation sugests :/ |
Ok, the fix that I suggested is a no-go. After trying that approach, I get this when compiling pdns-recursor
which happens because 'getcontext' was deprecated since POSIX.1-2003 (as predicted by Boost.Context documentation). musl does not support this and as so, it is not possible to link pdns-recursor. @neheb The best thing I can do is to disable boost.context for mips64 :/ |
From reading the documentation again, it seems that nobody has written ASM for MIPS64. Probably because of a lack of devices. undefined reference to 'getcontext' is weird. POSIX may deprecate it but musl does not. Then again, there is only a definition of getcontext in include/ucontext.h with no corresponding function. I guess that's what undefined reference means... Looking at uClibc-ng, getcontext is available on all platforms supported by OpenWrt except mips64 and ARC. The latter fails compilation for a different reason: https://downloads.openwrt.org/snapshots/faillogs/arc_arc700/packages/pdns-recursor/compile.txt glibc story is the same. Disabling boost.context for mips64 and ARC seems correct here. |
Yeah
|
Yep, I noticed that when I looked at the src/asm folder and noticed the same.
Doing so. |
Ok. I've opened a PR @ #9838 which will disable Boost.Context for arc and mips64. |
@ClaymorePT I see boostorg/context#92 has a bunch of mips64 code for context. Any idea about that? |
@neheb Ah! I see that you I've found the PR. I'm not monitoring such changes. They seem to be recent ones. |
https://downloads.openwrt.org/snapshots/faillogs/mips64_octeonplus/packages/pdns-recursor/compile.txt
@James-TR
looks like some boost detection bug.
The text was updated successfully, but these errors were encountered: