polybar: GCC 7.1.0 Build Errors
Had no issue building with GCC 6.3.0, but I’m getting this error in the build process with GCC 7.1.0:
[ 13%] Building CXX object bin/CMakeFiles/polybar.dir/components/bar.cpp.o
cd /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5_build/bin && /usr/bin/x86_64-pc-linux-gnu-g++ -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/alsa -I/var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/include -I/var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/lib/concurrentqueue/include -I/var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/lib/xpp/include -DNDEBUG -march=native -O2 -pipe -Wall -Wextra -pedantic -std=c++14 -o CMakeFiles/polybar.dir/components/bar.cpp.o -c /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/src/components/bar.cpp
In file included from /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/lib/xpp/include/xpp/proto/../generic.hpp:11:0,
from /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/lib/xpp/include/xpp/proto/x.hpp:9,
from /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/lib/xpp/include/xpp/event.hpp:9,
from /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/include/x11/types.hpp:3,
from /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/include/components/bar.hpp:12,
from /var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/src/components/bar.cpp:3:
/var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5/lib/xpp/include/xpp/proto/../generic/reply_iterator.hpp:89:11: error: specialization of ‘template<class Data, class> class xpp::generic::iterator<Connection, Object, xpp::generic::signature<void(XcbIterator*), Next>, xpp::generic::signature<int(const void*), (* & *(int (*)(const void*))SizeOf)>, xpp::generic::signature<XcbIterator(const Reply*), GetIterator> >::get<Data, <template-parameter-1-2> >’ must appear at namespace scope
class get<xcb_str_t, Dummy>
^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [bin/CMakeFiles/polybar.dir/build.make:183: bin/CMakeFiles/polybar.dir/components/bar.cpp.o] Error 1
make[2]: Leaving directory '/var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5_build'
make[1]: *** [CMakeFiles/Makefile2:494: bin/CMakeFiles/polybar.dir/all] Error 2
make[1]: Leaving directory '/var/tmp/portage/x11-misc/polybar-3.0.5/work/polybar-3.0.5_build'
make: *** [Makefile:130: all] Error 2
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Reactions: 5
- Comments: 18 (4 by maintainers)
A good workaround for that one is to use Clang for the time being. Just add
Into the build() section of PKGBUILD
For you who are installing
polybarusing the AUR; I have updated thePKGBUILDso thatclangwill be used until the gcc issues have been fixed.Version 3.0.5 will always suffer from this. Please compile with clang, as described in this thread, when compiling version 3.0.5