hyprwm / hyprland-plugins

Official plugins for Hyprland
BSD 3-Clause "New" or "Revised" License
462 stars 43 forks source link

New plugin hyprexpo fails to build #107

Closed alerque closed 1 month ago

alerque commented 3 months ago

As a follow up to #105, hyprexpo is now in the manifest, but it doesn't build. All the other plugins in the manifest seem to have built, and no logs or useful errors are output:

$ hyprpm add https://github.com/hyprwm/hyprland-plugins.git
✔ adding a new plugin repository from https://github.com/hyprwm/hyprland-plugins.git
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n] y

! old plugin repo build files found in temp directory, removing.
 → Cloning https://github.com/hyprwm/hyprland-plugins.git
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 6 plugins:
 → borders-plus-plus by Vaxry version
 → csgo-vulkan-fix by Vaxry version
 → hyprbars by Vaxry version
 → hyprexpo by Vaxry version
 → hyprtrails by Vaxry version
 → hyprwinwrap by Vaxry version
 → Manifest has 8 pins, checking
✔ commit pin e45066d0741a1a4b9298a4c5ec43a5e57b059a4e matched hl, resetting
✔ Hyprland headers OK
 → Building borders-plus-plus
✔ built borders-plus-plus into borders-plus-plus/borders-plus-plus.so
 → Building csgo-vulkan-fix
✔ built csgo-vulkan-fix into csgo-vulkan-fix/csgo-vulkan-fix.so
 → Building hyprbars
✔ built hyprbars into hyprbars/hyprbars.so
 → Building hyprexpo
✖ Plugin hyprexpo failed to build.

 → Building hyprtrails
✔ built hyprtrails into hyprtrails/hyprtrails.so
 → Building hyprwinwrap
✔ built hyprwinwrap into hyprwinwrap/hyprwinwrap.so
✔ all plugins built
✔ installed repository
✔ you can now enable the plugin(s) with hyprpm enable

Perhaps a user hint for what to do next when a build fails would be a good thing to add to the output. Is there a place to find build logs even?

MysticBytes786 commented 3 months ago

Are you using the last commit hyprland-git ?

vaxerski commented 3 months ago

expo needs today's git. Add -v to your hyprpm command to see what went wrong

alerque commented 3 months ago

This issue is more about the UX of what do do. The "failed to build" error should probably include a "rerun with --verbose to see messages" if they are not logged somewhere you can tell the user to find them.

And the verbose log gives no useful clues at all, "directory not found" without even saying what directory it expects where.

But no I'm not running Hyprland Git HEAD, I have the latest tagged release (I'm the packager for Arch Linux, so I typically dogfood that package). The plugins repo said it needed at least v0.33 so I figured I was fine. I suppose each plugin should have something that identifies a minimum supported version.

vaxerski commented 3 months ago

can you paste the output of the verbose run?

The plugins repo said it needed at least v0.33 so I figured I was fine. I suppose each plugin should have something that identifies a minimum supported version.

That is there, if you're on tagged then hyprpm will checkout to a pin for that release and compile all plugins there.

vaxerski commented 3 months ago

I agree with the UX part, though.

alba4k commented 3 months ago

hyprpm update -v output

``` [v] version returned: Hyprland, built from branch main at commit fbdaf74a82b38e11a0a6914b3c9f7cb934ac1624 dirty (master: fix swapped workspaces (5397)). Date: Wed Apr 3 02:22:59 2024 Tag: v0.38.0-10-gfbdaf74a flags: (if any) [v] parsed commit fbdaf74a82b38e11a0a6914b3c9f7cb934ac1624 at branch main ✔ Headers up to date. → checking for updates for hyprland-plugins ! old update build files found in temp directory, removing. → Cloning https://github.com/hyprwm/hyprland-plugins ✔ repository hyprland-plugins has updates. → Building hyprland-plugins ✔ found hyprpm manifest → Manifest has 8 pins, checking → Building borders-plus-plus ━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━ 2 / 4 Updating hyprland-plugins[v] shell returned: -> cd /tmp/hyprpm/update && PKG_CONFIG_PATH="/home/alba4k/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C borders-plus-plus all make: ingresso nella directory «/tmp/hyprpm/update/borders-plus-plus» g++ -shared -fPIC --no-gnu-unique main.cpp borderDeco.cpp -o borders-plus-plus.so -g `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b -O2 borderDeco.cpp: In member function ‘virtual void CBordersPlusPlus::damageEntire()’: borderDeco.cpp:143:16: warning: narrowing conversion of ‘(int)(((CBordersPlusPlus*)this)->CBordersPlusPlus::m_vLastWindowPos.Vector2D::x - ((CBordersPlusPlus*)this)->CBordersPlusPlus::m_seExtents.SWindowDecorationExtents::topLeft.Vector2D::x)’ from ‘int’ to ‘double’ [-Wnarrowing] 143 | CBox dm = {(int)(m_vLastWindowPos.x - m_seExtents.topLeft.x), (int)(m_vLastWindowPos.y - m_seExtents.topLeft.y), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ borderDeco.cpp:143:67: warning: narrowing conversion of ‘(int)(((CBordersPlusPlus*)this)->CBordersPlusPlus::m_vLastWindowPos.Vector2D::y - ((CBordersPlusPlus*)this)->CBordersPlusPlus::m_seExtents.SWindowDecorationExtents::topLeft.Vector2D::y)’ from ‘int’ to ‘double’ [-Wnarrowing] 143 | CBox dm = {(int)(m_vLastWindowPos.x - m_seExtents.topLeft.x), (int)(m_vLastWindowPos.y - m_seExtents.topLeft.y), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ borderDeco.cpp:144:16: warning: narrowing conversion of ‘(int)(((CBordersPlusPlus*)this)->CBordersPlusPlus::m_vLastWindowSize.Vector2D::x + ((CBordersPlusPlus*)this)->CBordersPlusPlus::m_seExtents.SWindowDecorationExtents::topLeft.Vector2D::x + ((CBordersPlusPlus*)this)->CBordersPlusPlus::m_seExtents.SWindowDecorationExtents::bottomRight.Vector2D::x)’ from ‘int’ to ‘double’ [-Wnarrowing] 144 | (int)(m_vLastWindowSize.x + m_seExtents.topLeft.x + m_seExtents.bottomRight.x), (int)m_seExtents.topLeft.y}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ borderDeco.cpp:144:96: warning: narrowing conversion of ‘(int)((CBordersPlusPlus*)this)->CBordersPlusPlus::m_seExtents.SWindowDecorationExtents::topLeft.Vector2D::y’ from ‘int’ to ‘double’ [-Wnarrowing] 144 | (int)(m_vLastWindowSize.x + m_seExtents.topLeft.x + m_seExtents.bottomRight.x), (int)m_seExtents.topLeft.y}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make: uscita dalla directory «/tmp/hyprpm/update/borders-plus-plus» ✔ built borders-plus-plus into borders-plus-plus/borders-plus-plus.so → Building csgo-vulkan-fix ━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━ 2 / 4 Updating hyprland-plugins[v] shell returned: -> cd /tmp/hyprpm/update && PKG_CONFIG_PATH="/home/alba4k/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C csgo-vulkan-fix all make: ingresso nella directory «/tmp/hyprpm/update/csgo-vulkan-fix» g++ -shared -fPIC --no-gnu-unique main.cpp -o csgo-vulkan-fix.so -g `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b -O2 make: uscita dalla directory «/tmp/hyprpm/update/csgo-vulkan-fix» ✔ built csgo-vulkan-fix into csgo-vulkan-fix/csgo-vulkan-fix.so → Building hyprbars ━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━ 2 / 4 Updating hyprland-plugins[v] shell returned: -> cd /tmp/hyprpm/update && PKG_CONFIG_PATH="/home/alba4k/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C hyprbars all make: ingresso nella directory «/tmp/hyprpm/update/hyprbars» g++ -shared -fPIC --no-gnu-unique -g -std=c++2b -Wno-c++11-narrowing `pkg-config --cflags pixman-1 libdrm hyprland pangocairo libinput libudev wayland-server hyprland` main.cpp barDeco.cpp -o hyprbars.so `pkg-config --libs pangocairo` -O2 barDeco.cpp: In member function ‘virtual SDecorationPositioningInfo CHyprBar::getPositioningInfo()’: barDeco.cpp:38:32: warning: narrowing conversion of ‘*(long int*)(*(long int* const*)PHEIGHT)’ from ‘long int’ to ‘double’ [-Wnarrowing] 38 | info.desiredExtents = {{0, **PHEIGHT}, {0, 0}}; | ^~~~~~~~~ barDeco.cpp: In member function ‘void CHyprBar::onMouseDown(SCallbackInfo&, wlr_pointer_button_event*)’: barDeco.cpp:78:18: warning: comparison between ‘enum wl_pointer_button_state’ and ‘enum wlr_button_state’ [-Wenum-compare] 78 | if (e->state != WLR_BUTTON_PRESSED) { | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:108:42: warning: narrowing conversion of ‘(int)__builtin_memcpy(&, & this->assignedBoxGlobal()()).CBox::.CBox::._anon_363::w’ from ‘int’ to ‘double’ [-Wnarrowing] 108 | const auto BARBUF = Vector2D{(int)assignedBoxGlobal().w, **PHEIGHT}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:108:70: warning: narrowing conversion of ‘*(long int*)(*(long int* const*)PHEIGHT)’ from ‘long int’ to ‘double’ [-Wnarrowing] 108 | const auto BARBUF = Vector2D{(int)assignedBoxGlobal().w, **PHEIGHT}; | ^~~~~~~~~ barDeco.cpp: In member function ‘virtual void CHyprBar::draw(CMonitor*, float)’: barDeco.cpp:409:24: warning: narrowing conversion of ‘*(long int*)(*(long int* const*)PHEIGHT)’ from ‘long int’ to ‘double’ [-Wnarrowing] 409 | m_seExtents = {{0, **PHEIGHT}, {}}; | ^~~~~~~~~ barDeco.cpp:469:51: warning: narrowing conversion of ‘(int)(double)BARBUF.Vector2D::x’ from ‘int’ to ‘double’ [-Wnarrowing] 469 | CBox textBox = {titleBarBox.x, titleBarBox.y, (int)BARBUF.x, (int)BARBUF.y}; | ^~~~~~~~~~~~~ barDeco.cpp:469:66: warning: narrowing conversion of ‘(int)(double)BARBUF.Vector2D::y’ from ‘int’ to ‘double’ [-Wnarrowing] 469 | CBox textBox = {titleBarBox.x, titleBarBox.y, (int)BARBUF.x, (int)BARBUF.y}; | ^~~~~~~~~~~~~ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-c++11-narrowing’ may have been intended to silence earlier diagnostics make: uscita dalla directory «/tmp/hyprpm/update/hyprbars» ✔ built hyprbars into hyprbars/hyprbars.so → Building hyprexpo ━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━ 2 / 4 Updating hyprland-plugins[v] shell returned: -> cd /tmp/hyprpm/update && PKG_CONFIG_PATH="/home/alba4k/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C hyprexpo all make: ingresso nella directory «/tmp/hyprpm/update/hyprexpo» g++ -shared -fPIC --no-gnu-unique main.cpp overview.cpp -o hyprexpo.so -g `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b -Wno-narrowing overview.cpp: In constructor ‘COverview::COverview(PHLWORKSPACE, bool)’: overview.cpp:104:16: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 104 | startedOn->m_bVisible = false; | ^~~~~~~~~~ overview.cpp:124:25: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 124 | PWORKSPACE->m_bVisible = true; | ^~~~~~~~~~ overview.cpp:131:25: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 131 | PWORKSPACE->m_bVisible = false; | ^~~~~~~~~~ overview.cpp:149:16: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 149 | startedOn->m_bVisible = true; | ^~~~~~~~~~ overview.cpp: In member function ‘void COverview::redrawID(int, bool)’: overview.cpp:238:16: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 238 | startedOn->m_bVisible = false; | ^~~~~~~~~~ overview.cpp:243:21: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 243 | PWORKSPACE->m_bVisible = true; | ^~~~~~~~~~ overview.cpp:250:21: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 250 | PWORKSPACE->m_bVisible = false; | ^~~~~~~~~~ overview.cpp:262:16: error: ‘using std::__shared_ptr_access::element_type = class CWorkspace’ {aka ‘class CWorkspace’} has no member named ‘m_bVisible’ 262 | startedOn->m_bVisible = true; | ^~~~~~~~~~ make: *** [Makefile:2: all] Error 1 make: uscita dalla directory «/tmp/hyprpm/update/hyprexpo» ✖ Plugin hyprexpo failed to build. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4 / 4 Done! ✔ Ensuring plugin load state ✔ Plugin load state ensured ```
vaxerski commented 3 months ago

well your output just shows you're on an outdated git

Yusuf-Duran commented 3 months ago

what about this build error?

✔ built hyprbars into hyprbars/hyprbars.so                                                                                                         
 → Building hyprexpo                                                                                                                               
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/yusuf/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C hyprexpo all
make: Entering directory '/tmp/hyprpm/new'
make: *** hyprexpo: No such file or directory.  Stop.
make: Leaving directory '/tmp/hyprpm/new'

✖ Plugin hyprexpo failed to build. 

Includes the directory not found error

vaxerski commented 3 months ago

this is odd.. Do you perhaps have a /tmp cleaner or something? hyprpm uses /tmp/hyprpm/new to store the source to build while it's doing so.

Yusuf-Duran commented 3 months ago

this is odd.. Do you perhaps have a /tmp cleaner or something? hyprpm uses /tmp/hyprpm/new to store the source to build while it's doing so.

shouldn't be, this is a rather fresh arch install. Is there a way to check if I do?

vaxerski commented 3 months ago

oh wait, I misread the thing.

Uhh yeah hyprexpo won't build cuz you're on tagged. hyprexpo is -git only. (or, well future 0.39)

Yusuf-Duran commented 3 months ago

I tried hyprland-git and barely anything built so I tried hyprland. Lemme try hyprland-git again and see if this changes anything brb

Yusuf-Duran commented 3 months ago

oh wait, I misread the thing.

Uhh yeah hyprexpo won't build cuz you're on tagged. hyprexpo is -git only. (or, well future 0.39)

❯ hyprpm add https://github.com/hyprwm/hyprland-plugins.git --verbose
[v] version returned: Hyprland, built from branch main at commit 10146f5ec50caeae2d835f5f6296137e2ac6f243 dirty (core: fix some crash conditions around workspace ptrs in CWindow).
Date: Wed Apr 3 21:42:38 2024
Tag: v0.38.0-18-g10146f5e

flags: (if any)

[v] parsed commit 10146f5ec50caeae2d835f5f6296137e2ac6f243 at branch main

[...]

 → Building hyprexpo                                                                                                                               
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/yusuf/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C hyprexpo all
make: Entering directory '/tmp/hyprpm/new/hyprexpo'
g++ -shared -fPIC --no-gnu-unique main.cpp overview.cpp -o hyprexpo.so -g `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b -Wno-narrowing
overview.cpp: In constructor ‘COverview::COverview(PHLWORKSPACE, bool)’:
overview.cpp:144:37: error: ‘struct SCurrentRenderData’ has no member named ‘blockScreenShader’
  144 |         g_pHyprOpenGL->m_RenderData.blockScreenShader = true;
      |                                     ^~~~~~~~~~~~~~~~~
overview.cpp: In member function ‘void COverview::redrawID(int, bool)’:
overview.cpp:261:33: error: ‘struct SCurrentRenderData’ has no member named ‘blockScreenShader’
  261 |     g_pHyprOpenGL->m_RenderData.blockScreenShader = true;
      |                                 ^~~~~~~~~~~~~~~~~
make: *** [Makefile:2: all] Error 1
make: Leaving directory '/tmp/hyprpm/new/hyprexpo'

✖ Plugin hyprexpo failed to build.    

also about the "it only builds for the newest version", shouldn't hyprpm skip the plugin then if it isn't for the version?

vaxerski commented 3 months ago

it does that. "failed to build" isn't fatal. You can still use those that did.

also about the "it only builds for the newest version"

error indicates you're not on newest. The missing prop the compiler is complaining about is from like ~15 mins ago

Yusuf-Duran commented 3 months ago

Def the error message isn't fatal. Everything else that can build builds, so you can use the plugins that you can. My problem is rather (and prob that of @alerque I think) is that the error messages could be clearer on letting the user know it is not a problem on the code's end but rather on their end (for having a too low version).

vaxerski commented 3 months ago

yea that's fine and I agreed with that, but if it's just UX, then it's something to do in hyprpm, so it doesn't relate to this repo (plugins don't have anything to do with this)

Yusuf-Duran commented 3 months ago

Ok yeah that is valid, should I create an issue at the hyprland repo then?

alerque commented 3 months ago

Given the UX issue actually belongs on a different repo I guess we can consider keeping this issue for the build problem.

I've just switch to the hyprland-git package from the AUR on Arch built about an hour ago and am still having the same issue:

$ hyprpm update --verbose
...
Tag: v0.38.0-18-g10146f5e
...
 → Building hyprexpo
 ━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━  2 / 4  Updating hyprland-plugins[v] shell returned:  -> cd /tmp/hyprpm/update && PKG_CONFIG_PATH="/home/caleb/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C hyprexpo all
make: Entering directory '/tmp/hyprpm/update/hyprexpo'
g++ -shared -fPIC --no-gnu-unique main.cpp overview.cpp -o hyprexpo.so -g `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b -Wno-narrowing
overview.cpp: In constructor ‘COverview::COverview(PHLWORKSPACE, bool)’:
overview.cpp:144:37: error: ‘struct SCurrentRenderData’ has no member named ‘blockScreenShader’
  144 |         g_pHyprOpenGL->m_RenderData.blockScreenShader = true;
      |                                     ^~~~~~~~~~~~~~~~~
overview.cpp: In member function ‘void COverview::redrawID(int, bool)’:
overview.cpp:261:33: error: ‘struct SCurrentRenderData’ has no member named ‘blockScreenShader’
  261 |     g_pHyprOpenGL->m_RenderData.blockScreenShader = true;
      |                                 ^~~~~~~~~~~~~~~~~
make: *** [Makefile:2: all] Error 1
make: Leaving directory '/tmp/hyprpm/update/hyprexpo'

✖ Plugin hyprexpo failed to build.

This is a different error than I was seeing before the update, but still not a success.

Yusuf-Duran commented 3 months ago

seems to be the same issue as mine, that is simply because the git package isn't on the newest version yet (the one that is like 1h old). Just wait for an update on the package

alerque commented 3 months ago

@Yusuf-Duran I don't think you understand how *-git packages work in the Arch Linux AUR. They build directly from a fresh clone of the upstream repo default branch, so the version is updated whenever you build it, not when the packaging info was last updated.

My version is quite fresh and was built after @vaxerski said I needed a current one, so presumable whatever commits were needed for support would have been included as of then.

alerque commented 3 months ago

Okay several issues:

Tag: v0.38.0-21-g36a8ae9b works (to build at least, haven't tried using it) given those other points.

This brings us back to UX. The experience of trying to build plugins is quite opaque and the errors point nowhere useful for any of this. The running sessions vs. downloaded vendored copy of hyprland source code needs to be explained, as does the issue wind needing to be in a running copy, and of course plugins should clearly identify a minimum version and that should produce a different error than any of the above.

vaxerski commented 3 months ago

makes sense. I'll try to do something about the UX tomorrow.

vaxerski commented 3 months ago

I've added some stuff so that it's like this now: image

worth noting it won't work retroactively, it's available in git now. Is that enough?

Ignore the duplicate bars its me being a bit goof

CRAG666 commented 2 months ago

not working for me

CarloCattano commented 2 months ago

deleted /usr/include/hyprland and switched to hyprland-git solved it for me just now

Scelester commented 1 month ago

Build failing for me even in hyprland-git.

Mr-Ples commented 1 month ago

build failing for me on latest hyprland built from source

hyprland info ```sh $ hyprctl systeminfo Hyprland, built from branch main at commit b6a7fb9e9125e56bf742f68e0ec46f52d5c34f4c (layersurface: fix invalid use of std::move). Date: Sat May 11 15:43:44 2024 Tag: v0.40.0-61-gb6a7fb9e, commits: 4667 flags: (if any) System Information: System name: Linux Node name: socrates Release: 6.8.9-arch1-2 Version: #1 SMP PREEMPT_DYNAMIC Tue, 07 May 2024 21:35:54 +0000 GPU information: 26:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev ef) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ```
```sh → Building hyprexpo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━ 3 / 5 Building plugin(s)[v] shell returned: -> cd /tmp/hyprpm/simon && PKG_CONFIG_PATH="/home/simon/.local/share/hyprpm/headersRoot/share/pkgconfig" make -C hyprexpo all make: Entering directory '/tmp/hyprpm/simon/hyprexpo' g++ -shared -fPIC --no-gnu-unique main.cpp overview.cpp -o hyprexpo.so -g `pkg-config --cflags pixman-1 libdrm hyprland pangocairo libinput libudev wayland-server xkbcommon` -std=c++2b -Wno-narrowing overview.cpp: In constructor ‘COverview::COverview(PHLWORKSPACE, bool)’: overview.cpp:26:27: error: cannot convert ‘const CWeakPointer’ to ‘CMonitor*’ in assignment 26 | pMonitor = PMONITOR; | ^~~~~~~~ | | | const CWeakPointer overview.cpp:120:38: error: cannot convert ‘const CWeakPointer’ to ‘CMonitor*’ 120 | g_pHyprRenderer->beginRender(PMONITOR, fakeDamage, RENDER_MODE_FULL_FAKE, nullptr, &image.fb); | ^~~~~~~~ | | | const CWeakPointer In file included from overview.cpp:4: /home/simon/.local/share/hyprpm/headersRoot/include/hyprland/src/render/Renderer.hpp:77:32: note: initializing argument 1 of ‘bool CHyprRenderer::beginRender(CMonitor*, CRegion&, eRenderMode, wlr_buffer*, CFramebuffer*, bool)’ 77 | bool beginRender(CMonitor* pMonitor, CRegion& damage, eRenderMode mode = RENDER_MODE_NORMAL, wlr_buffer* buffer = nullptr, CFramebuffer* fb = nullptr, bool simple = false); | ~~~~~~~~~~^~~~~~~~ overview.cpp:138:46: error: cannot convert ‘const CWeakPointer’ to ‘CMonitor*’ 138 | g_pHyprRenderer->renderWorkspace(PMONITOR, PWORKSPACE, &now, monbox); | ^~~~~~~~ | | | const CWeakPointer /home/simon/.local/share/hyprpm/headersRoot/include/hyprland/src/render/Renderer.hpp:116:46: note: initializing argument 1 of ‘void CHyprRenderer::renderWorkspace(CMonitor*, PHLWORKSPACE, timespec*, const CBox&)’ 116 | void renderWorkspace(CMonitor* pMonitor, PHLWORKSPACE pWorkspace, timespec* now, const CBox& geometry); | ~~~~~~~~~~^~~~~~~~ overview.cpp:146:46: error: cannot convert ‘const CWeakPointer’ to ‘CMonitor*’ 146 | g_pHyprRenderer->renderWorkspace(PMONITOR, PWORKSPACE, &now, monbox); | ^~~~~~~~ | | | const CWeakPointer /home/simon/.local/share/hyprpm/headersRoot/include/hyprland/src/render/Renderer.hpp:116:46: note: initializing argument 1 of ‘void CHyprRenderer::renderWorkspace(CMonitor*, PHLWORKSPACE, timespec*, const CBox&)’ 116 | void renderWorkspace(CMonitor* pMonitor, PHLWORKSPACE pWorkspace, timespec* now, const CBox& geometry); | ~~~~~~~~~~^~~~~~~~ make: *** [Makefile:2: all] Error 1 make: Leaving directory '/tmp/hyprpm/simon/hyprexpo' ✖ Plugin hyprexpo failed to build. ```
Heyian commented 1 month ago

Build if failing for me too. The versbose command outputs the same thing as @Mr-Ples

vaxerski commented 1 month ago

yes maybe because I havent updated them 2 seconds after a breaking hyprland change. Can we stop the spam? If you want your plugins to build 100% of the time, stick to releases