-
-
Notifications
You must be signed in to change notification settings - Fork 548
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
Build fails: hash.c: error: wrong number of arguments specified for ‘constructor’ attribute
#369
Comments
Also fails with
|
It's been a while I've seen someone running Snow Leopard! I unfortunately don't have a Mac anymore (let alone one this old) to maintain Lwan for it. I'll gladly accept patches to ensure it works there, though. In this case, the fix should be straightforward (probably implementing a (Also, yes, GCC 4.x is too old and I'm not going to support it, even with patches.) |
Thank you for responding.
This is no problem at all, since we have the modern GCC (and Clang on Intel) on every system from 10.4 up. |
af47365 should have a patch that probably fixes this issue. Eventually this should be fixed a bit better by implementing priorities ourselves, but for now this should be sufficient to unblock you. Please let me know if it works for you. |
@lpereira Thank you for following up on this. Is
Looks like |
UPD. Well, no, |
libucontext is now bundled with lwan, it should work. I've only tested with x86 (by forcing it to build with libucontext), and it worked. We might need to look into this.
Are you building a release version or HEAD?
On Wed, Aug 28, 2024, at 8:54 AM, Sergey Fedorov wrote:
@lpereira <https://github.com/lpereira> Thank you for following up on this.
Is `libucontext` a new requirement? On 0.3 the patch did not apply, and building from master I get this:
`cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/3rdparty/libucontext && /opt/local/bin/cmake -E touch /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/build/src/lib/libucontext-prefix/src/libucontext-stamp/libucontext-configure
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan-array.h:27,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan.h:36,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/missing.c:35:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan-coro.h:32:10: fatal error: libucontext/libucontext.h: No such file or directory
32 | #include <libucontext/libucontext.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan-array.h:27,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan.h:36,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan-private.h:25,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan-status.c:31:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/lwan-af47365cab2f638f6beabd0c70cd4beabb4e4dbf/src/lib/lwan-coro.h:32:10: fatal error: libucontext/libucontext.h: No such file or directory
32 | #include <libucontext/libucontext.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/bin/tools/CMakeFiles/mimegen.dir/__/__/lib/missing.c.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_www_lwan/lwan/work/build'
make[1]: *** [src/bin/tools/CMakeFiles/mimegen.dir/all] Error 2
`
… Looks like `libucontext` is not there in MacPorts, but I can try making a port for it. No idea if it supports macOS though: it refers to glibc in README.
—
Reply to this email directly, view it on GitHub <#369 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAADVGI37LR6LVJJAENHXQLZTW27RAVCNFSM6AAAAABNFKMXEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJVGEZDCMRVGI>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Try "make libucontext lwan" or something of the sort. The build dependencies seem to be broken, and this should help at least get the includes/libraries right. If the PPC assembly version isn't working, we'll need to open a upstream report with libucontext. |
@lpereira It uses ELF ABI unconditionally here: https://github.com/lpereira/lwan/tree/master/src/3rdparty/libucontext/arch/ppc It should be fixable, but not something I can do in a few minutes. (It is not just registers defs are incompatible; ucontext functions should be changed, assembler opcodes fixed, and I do not know if it will work in result – obviously, this was never tested outside of Linux and maybe some BSD.) Won't something like Boost |
P. S. I understand that |
Ahhh, it's an ABI issue. Yeah, I imagine On the other hand, I just pushed a fix that should get the build dependencies correct when using |
The text was updated successfully, but these errors were encountered: