~atha/newm-atha#16: 
Problem building after GCC 14 update

When building from the AUR with GCC-14, pywm will fail as it asks for wlroots v0.16, which fails to build with a "calloc sizes specified with sizeof in the earlier argument and not the later (-Werror=calloc-transposed-args)".

I think that was fixed on wlroots v0.17.2.

I managed to build using GCC-13, but maybe updating it to use more recent wlroots 0.17.3 or 0.18 instead would be better.

I wanted to test that before opening an issue, but I don't really know how to change submodule version, but I'll try to figure it out in the meantime. And if you need anything I'd be glad to help in any way I can!

Status
REPORTED
Submitter
~tarik
Assigned to
No-one
Submitted
1 year, 28 days ago
Updated
11 months ago
Labels
No labels applied.

~wyli 1 year, 27 days ago*

Looks like it will need to be a help, changing submodule version if you are compiling it through pip involves cloning the pywm repo, going to /subprojects/wlroots/ running git checkout master and then pip3 install --user --editable . to install

I tried this however, I got a massive error.

~tarik 1 year, 25 days ago

Yeah, here too. One of the first messages were about a wlr_output_damage type include, I looked up and this was removed from wlroots a year ago (9ef98452). So, updating wlroots I think might require some changes to pywm? I'll have pretty much all day tomorrow to try and figure something out. Also, I tried both checkout master and also checkout tags/0.17.3, I think they gave the same errors. But should I focus on master (v 0.18.0-dev) or the more stable 0.17.3?

~cben 1 year, 24 days ago

Another error building pywm subproject/wlroots/ with recent libavcodec (This is against libavcodec-free-devel-6.1.1-3.fc39.x86_64 headers):

../examples/dmabuf-capture.c:524:33: error: ‘frame_number’ is deprecated [-Werror=deprecated-declarations]
  524 |                                 ctx->avctx->frame_number, get_fifo_size(&ctx->vid_frames));
      |                                 ^~~

It's been fixed by https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/8db0d8289087d9e63438e01f810ef01d82170eb1 (included in wlroots tag 0.17.0 and later).

However that's for examples/dmabuf-capture and I'm not sure we really need the wlroots examples to build pywm.

~tarik 11 months ago

Just to give some quick feedback. I've been trying to bump pywm to latest wlroots version. They released 0.18.0 recently. Big problem is this is way out of my league. But it's been fun to give it a try and I'll keep on it whenever I can.

So, following this sway commit Use wlr_damage_ring I replaced wlr_output_damage with the new wlr_damage_ring.

Lots of incomplete definition of pointer errors that I think were because those event structs were renamed uniformize events name, so I renamed them accordingly.

Currently I'm trying to fix some functions whose arguments changed, like some that needed no arg but now requires a wl_display. Still failing to build it, though...

I'm also still trying to figure out how wlroots and pywm works... which right now tbh I feel I'm just starting to get it... but well, last month I didn't even know what damage was in this context, so I got a lot to figure out still

Register here or Log in to comment, or comment via email.