Open Syndrizzle opened 2 years ago
@FuzzyQuills Can you search for wayfire/region.hpp
from /
with fzf
or something, and then post the results here please?
I have the same issue on voidlinux (wayfire version 0.7.3
, 0.8.0
doesn't seem to exist?)
wayfire/region.hpp
doesn't exist anywhere.
Found the issue - wayfire/region.hpp
only exists in the master branch of wayfire, version 0.7.3
doesn't have https://github.com/WayfireWM/wayfire/commit/7b3aefedafaf0c3a2cc0e9622418f09d677a9fd1
So whats the fix?
@FuzzyQuills Can you search for
wayfire/region.hpp
from/
withfzf
or something, and then post the results here please?
Hey, only just saw this sorry, idk if I was tagged on purpose or what but I'll definitely check my arch install for this file.
(Been working on a particularly big project the past week or so haha)
Okay so far this is what I got. It was in /usr/include as I expected it to be in.
On wayfire ver. 0.8 myself (whichever commit it was at the time I built wayfire-git
from the AUR)
I did look at OP's issue and it looks like the include line is missing for wayfire although you'd think gcc would pick up the headers. My only guess is that Fedora's missing that file due to an old version, as per hen's comment.
@Syndrizzle how easy is it to build Wayfire from git on Fedora? Because that's potentially an option so long as it isn't too fiddly to remove or change afterwards, it would fix your issue.
Edit: or one could try substituting utils.hpp into where that header is and see if it works... Maybe it's time i tried Fedora purely for this purpose haha.
I built wayfire on fedora using the wf-install script with /opt as the prefix and master as the version (possibly git I think)
I built wayfire on fedora using the wf-install script with /opt as the prefix and master as the version (possibly git I think)
If it was built from git using wf-install then I'm not sure how that header's missing then, unless you first installed it over a year ago
Nah that's like 2 days after the last commit on the master branch
Nah that's like 2 days after the last commit on the master branch
That's what I thought... lol
Yeah idk why it is erroring out then
I got this same error using dnf installed wayfire (0.7.3). I tried just copying wayfire/region.hpp
from the src to /usr/include/wayfire/
which solved the first issue but casued much more lol, these errors are mainly relating to redefinitions between region.hpp and other files, so my dirty fix didn't work :(
ninja: Entering directory `/home/bearly/Packages/Firedecor/build'
[1/3] Compiling C++ object src/libfiredecor.so.p/firedecor-layout.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-layout.cpp.o
ccache c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/valgrind -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-layout.cpp.o -MF src/libfiredecor.so.p/firedecor-layout.cpp.o.d -o src/libfiredecor.so.p/firedecor-layout.cpp.o -c ../src/firedecor-layout.cpp
In file included from ../src/firedecor-layout.hpp:4,
from ../src/firedecor-layout.cpp:6:
/usr/include/wayfire/region.hpp:9:8: error: redefinition of ‘struct wf::region_t’
9 | struct region_t
| ^~~~~~~~
In file included from ../src/firedecor-layout.cpp:4:
/usr/include/wayfire/util.hpp:14:8: note: previous definition of ‘struct wf::region_t’
14 | struct region_t
| ^~~~~~~~
[2/3] Compiling C++ object src/libfiredecor.so.p/firedecor-subsurface.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-subsurface.cpp.o
ccache c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/valgrind -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-subsurface.cpp.o -MF src/libfiredecor.so.p/firedecor-subsurface.cpp.o.d -o src/libfiredecor.so.p/firedecor-subsurface.cpp.o -c ../src/firedecor-subsurface.cpp
In file included from ../src/firedecor-layout.hpp:4,
from ../src/firedecor-subsurface.cpp:14:
/usr/include/wayfire/region.hpp:9:8: error: redefinition of ‘struct wf::region_t’
9 | struct region_t
| ^~~~~~~~
In file included from /usr/include/wayfire/opengl.hpp:7,
from ../src/firedecor-subsurface.cpp:8:
/usr/include/wayfire/util.hpp:14:8: note: previous definition of ‘struct wf::region_t’
14 | struct region_t
| ^~~~~~~~
../src/firedecor-subsurface.cpp: In function ‘void wf::firedecor::init_view(wayfire_view, theme_options)’:
../src/firedecor-subsurface.cpp:900:35: error: cannot convert ‘std::remove_reference<std::unique_ptr<wf::firedecor::simple_decorator_t, std::default_delete<wf::firedecor::simple_decorator_t> >&>::type’ {aka ‘std::unique_ptr<wf::firedecor::simple_decorator_t, std::default_delete<wf::firedecor::simple_decorator_t> >’} to ‘wf::surface_interface_t*’
900 | view->set_decoration(std::move(firedecor));
| ~~~~~~~~~^~~~~~~~~~~
| |
| std::remove_reference<std::unique_ptr<wf::firedecor::simple_decorator_t, std::default_delete<wf::firedecor::simple_decorator_t> >&>::type {aka std::unique_ptr<wf::firedecor::simple_decorator_t, std::default_delete<wf::firedecor::simple_decorator_t> >}
In file included from /usr/include/wayfire/view-transform.hpp:4,
from ../src/firedecor-subsurface.cpp:11:
/usr/include/wayfire/view.hpp:328:54: note: initializing argument 1 of ‘virtual void wf::view_interface_t::set_decoration(wf::surface_interface_t*)’
328 | virtual void set_decoration(surface_interface_t *frame);
| ~~~~~~~~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/c++/12/vector:63,
from /usr/include/wayfire/surface.hpp:6,
from /usr/include/wayfire/compositor-surface.hpp:4,
from ../src/firedecor-subsurface.cpp:6:
/usr/include/c++/12/bits/stl_uninitialized.h: In instantiation of ‘constexpr bool std::__check_constructible() [with _ValueType = wf::firedecor::simple_decoration_surface::accent_texture_t; _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t&&]’:
/usr/include/c++/12/bits/stl_uninitialized.h:182:4: required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*]’
/usr/include/c++/12/bits/stl_uninitialized.h:372:37: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t]’
/usr/include/c++/12/bits/stl_uninitialized.h:397:2: required from ‘constexpr _ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Allocator = allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>]’
/usr/include/c++/12/bits/vector.tcc:674:48: required from ‘constexpr void std::vector<_Tp, _Alloc>::_M_default_append(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
/usr/include/c++/12/bits/stl_vector.h:1011:4: required from ‘constexpr void std::vector<_Tp, _Alloc>::resize(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
../src/firedecor-subsurface.cpp:570:39: required from here
/usr/include/c++/12/bits/stl_uninitialized.h:90:56: error: static assertion failed: result type must be constructible from input type
90 | static_assert(is_constructible<_ValueType, _Tp>::value,
| ^~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:90:56: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
In file included from /usr/include/c++/12/bits/stl_iterator.h:85,
from /usr/include/c++/12/bits/stl_algobase.h:67,
from /usr/include/c++/12/bits/specfun.h:45,
from /usr/include/c++/12/cmath:1935,
from /usr/include/glm/exponential.hpp:21,
from /usr/include/glm/detail/func_geometric.inl:1,
from /usr/include/glm/geometric.hpp:116,
from /usr/include/glm/detail/func_matrix.inl:1,
from /usr/include/glm/matrix.hpp:161,
from /usr/include/glm/detail/type_mat4x4.inl:1,
from /usr/include/glm/detail/type_mat4x4.hpp:188,
from /usr/include/glm/ext/matrix_double4x4.hpp:5,
from /usr/include/glm/mat4x4.hpp:5,
from /usr/include/glm/gtc/matrix_transform.hpp:24,
from ../src/firedecor-subsurface.cpp:1:
/usr/include/c++/12/bits/stl_construct.h: In instantiation of ‘constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Args = {wf::firedecor::simple_decoration_surface::accent_texture_t}]’:
/usr/include/c++/12/bits/stl_uninitialized.h:120:21: required from ‘constexpr _ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*]’
/usr/include/c++/12/bits/stl_uninitialized.h:370:30: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t]’
/usr/include/c++/12/bits/stl_uninitialized.h:397:2: required from ‘constexpr _ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Allocator = allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>]’
/usr/include/c++/12/bits/vector.tcc:674:48: required from ‘constexpr void std::vector<_Tp, _Alloc>::_M_default_append(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
/usr/include/c++/12/bits/stl_vector.h:1011:4: required from ‘constexpr void std::vector<_Tp, _Alloc>::resize(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
../src/firedecor-subsurface.cpp:570:39: required from here
/usr/include/c++/12/bits/stl_construct.h:115:28: error: no matching function for call to ‘construct_at(wf::firedecor::simple_decoration_surface::accent_texture_t*&, wf::firedecor::simple_decoration_surface::accent_texture_t)’
115 | std::construct_at(__p, std::forward<_Args>(__args)...);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_construct.h:94:5: note: candidate: ‘template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)’
94 | construct_at(_Tp* __location, _Args&&... __args)
| ^~~~~~~~~~~~
/usr/include/c++/12/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/stl_construct.h: In substitution of ‘template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Args = {wf::firedecor::simple_decoration_surface::accent_texture_t}]’:
/usr/include/c++/12/bits/stl_construct.h:115:21: required from ‘constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Args = {wf::firedecor::simple_decoration_surface::accent_texture_t}]’
/usr/include/c++/12/bits/stl_uninitialized.h:120:21: required from ‘constexpr _ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*]’
/usr/include/c++/12/bits/stl_uninitialized.h:370:30: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t]’
/usr/include/c++/12/bits/stl_uninitialized.h:397:2: required from ‘constexpr _ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Allocator = allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>]’
/usr/include/c++/12/bits/vector.tcc:674:48: required from ‘constexpr void std::vector<_Tp, _Alloc>::_M_default_append(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
/usr/include/c++/12/bits/stl_vector.h:1011:4: required from ‘constexpr void std::vector<_Tp, _Alloc>::resize(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
../src/firedecor-subsurface.cpp:570:39: required from here
/usr/include/c++/12/bits/stl_construct.h:96:17: error: use of deleted function ‘wf::firedecor::simple_decoration_surface::accent_texture_t::accent_texture_t(wf::firedecor::simple_decoration_surface::accent_texture_t&&)’
96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:158:12: note: ‘wf::firedecor::simple_decoration_surface::accent_texture_t::accent_texture_t(wf::firedecor::simple_decoration_surface::accent_texture_t&&)’ is implicitly deleted because the default definition would be ill-formed:
158 | struct accent_texture_t {
| ^~~~~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:158:12: error: use of deleted function ‘wf::simple_texture_t::simple_texture_t(const wf::simple_texture_t&)’
In file included from ../src/firedecor-buttons.hpp:10,
from ../src/firedecor-layout.hpp:6:
/usr/include/wayfire/plugins/common/simple-texture.hpp:7:8: note: ‘wf::simple_texture_t::simple_texture_t(const wf::simple_texture_t&)’ is implicitly deleted because the default definition would be ill-formed:
7 | struct simple_texture_t : public noncopyable_t
| ^~~~~~~~~~~~~~~~
/usr/include/wayfire/plugins/common/simple-texture.hpp:7:8: error: use of deleted function ‘noncopyable_t::noncopyable_t(const noncopyable_t&)’
In file included from /usr/include/wayfire/object.hpp:9,
from /usr/include/wayfire/surface.hpp:12:
/usr/include/wayfire/nonstd/noncopyable.hpp:11:5: note: declared here
11 | noncopyable_t(const noncopyable_t&) = delete;
| ^~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:158:12: error: use of deleted function ‘wf::simple_texture_t::simple_texture_t(const wf::simple_texture_t&)’
158 | struct accent_texture_t {
| ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_construct.h: In instantiation of ‘constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Args = {wf::firedecor::simple_decoration_surface::accent_texture_t}]’:
/usr/include/c++/12/bits/stl_uninitialized.h:120:21: required from ‘constexpr _ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*]’
/usr/include/c++/12/bits/stl_uninitialized.h:370:30: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = move_iterator<wf::firedecor::simple_decoration_surface::accent_texture_t*>; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t]’
/usr/include/c++/12/bits/stl_uninitialized.h:397:2: required from ‘constexpr _ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _ForwardIterator = wf::firedecor::simple_decoration_surface::accent_texture_t*; _Allocator = allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>]’
/usr/include/c++/12/bits/vector.tcc:674:48: required from ‘constexpr void std::vector<_Tp, _Alloc>::_M_default_append(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
/usr/include/c++/12/bits/stl_vector.h:1011:4: required from ‘constexpr void std::vector<_Tp, _Alloc>::resize(size_type) [with _Tp = wf::firedecor::simple_decoration_surface::accent_texture_t; _Alloc = std::allocator<wf::firedecor::simple_decoration_surface::accent_texture_t>; size_type = long unsigned int]’
../src/firedecor-subsurface.cpp:570:39: required from here
/usr/include/c++/12/bits/stl_construct.h:119:7: error: use of deleted function ‘wf::firedecor::simple_decoration_surface::accent_texture_t::accent_texture_t(wf::firedecor::simple_decoration_surface::accent_texture_t&&)’
119 | ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
While doing
meson compile -c build
it gives the following: