#69142 closed defect (fixed)
MoarVM @2023.12: error: incomplete definition of type 'struct uv__queue'
Reported by: | kwolcott | Owned by: | barracuda156 |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt) | |
Port: | MoarVM |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
3rdparty/libuv/src/queue.h:36:22: note: forward declaration of 'struct uv__queue' static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) { ^
Attachments (2)
Change History (11)
Changed 10 months ago by kwolcott
Attachment: | MoarVM_main.log.bz2 added |
---|
comment:1 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Summary: | MoarVM: build from source fails → MoarVM @2023.12: error: incomplete definition of type 'struct uv__queue' |
Version: | → 2.8.1 |
comment:2 Changed 10 months ago by barracuda156
comment:3 Changed 10 months ago by barracuda156
I was able to reproduce the error on Sonoma. At the same time, it did build on buildbots. Weird. Will look into what is going on.
comment:4 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Possibly due to updates to the MoarVM port, the problem may now manifest as reported in #70316.
It is difficult to know exactly what the build is doing because it just prints lines like "compiling 3rdparty/libuv/src/unix/darwin.o". It would be helpful to disable these "silent rules" so that we can see the full compile commands that were used.
comment:5 Changed 5 months ago by barracuda156
It fails for me now as well:
compiling 3rdparty/libuv/src/unix/darwin-proctitle.o In file included from 3rdparty/libuv/src/unix/darwin.c:22: In file included from 3rdparty/libuv/src/unix/internal.h:25: In file included from 3rdparty/libuv/src/uv-common.h:37: 3rdparty/libuv/src/queue.h:27:42: warning: declaration of 'struct uv__queue' will not be visible outside of this function [-Wvisibility] static inline void uv__queue_init(struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:28:4: error: incomplete definition of type 'struct uv__queue' q->next = q; ~^ 3rdparty/libuv/src/queue.h:27:42: note: forward declaration of 'struct uv__queue' static inline void uv__queue_init(struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:29:4: error: incomplete definition of type 'struct uv__queue' q->prev = q; ~^ 3rdparty/libuv/src/queue.h:27:42: note: forward declaration of 'struct uv__queue' static inline void uv__queue_init(struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:32:48: warning: declaration of 'struct uv__queue' will not be visible outside of this function [-Wvisibility] static inline int uv__queue_empty(const struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:33:16: error: incomplete definition of type 'struct uv__queue' return q == q->next; ~^ 3rdparty/libuv/src/queue.h:32:48: note: forward declaration of 'struct uv__queue' static inline int uv__queue_empty(const struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:37:11: error: incomplete definition of type 'struct uv__queue' return q->next; ~^ 3rdparty/libuv/src/queue.h:36:22: note: forward declaration of 'struct uv__queue' static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:41:11: error: incomplete definition of type 'struct uv__queue' return q->next; ~^ 3rdparty/libuv/src/queue.h:36:22: note: forward declaration of 'struct uv__queue' static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:45:4: error: incomplete definition of type 'struct uv__queue' h->prev->next = n->next; ~^ 3rdparty/libuv/src/queue.h:36:22: note: forward declaration of 'struct uv__queue' static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:45:20: error: incomplete definition of type 'struct uv__queue' h->prev->next = n->next; ~^ 3rdparty/libuv/src/queue.h:36:22: note: forward declaration of 'struct uv__queue' static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:46:4: error: incomplete definition of type 'struct uv__queue' n->next->prev = h->prev; ~^ 3rdparty/libuv/src/queue.h:36:22: note: forward declaration of 'struct uv__queue' static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) { ^ 3rdparty/libuv/src/queue.h:46:20: error: incomplete definition of type 'struct uv__queue' n->next->prev = h->prev; ~^
However it obviously passed CI on Sonoma, so likely some build conflict.
comment:6 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|
comment:7 follow-up: 8 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:8 Changed 5 months ago by barracuda156
Replying to ryandesign:
In b679a6695e8fa15665fae5e81b137b91cb46082d/macports-ports (master):
Thank you, Ryan!
Changed 4 months ago by macportsraf
Attachment: | MoarVM-10.14.6-main.log.bz2 added |
---|
main.log on 10.14.6
comment:9 Changed 4 months ago by macportsraf
I'm seeing the same thing (or very similar) on 10.14.6. My main.log file is attached.
Hmm, it certainly does build on macOS 14 arm64, since both buildbots build it fine and I tested it locally too specifically on 14.2.1 arm64. https://ports.macports.org/port/MoarVM/details
However let me see if this can be reproduced. Maybe it finds wrong libuv headers first.
UPD. I got an error with
rakudo
installation now on 10.6 i386 which looks like #68464 But no error withMoarVM
itself, despite oldlibuv
being active.Will try to sort this out too.