You are not logged in.

#1 2017-09-26 08:40:27

ragamatrix
Member
Registered: 2015-10-04
Posts: 427

can't build polybar

Hello,

I'm on debian 9 and I'd like to try polybar, I think I'm ok with the dependencies but the compilation failed at the end of the process...
Here's the result:

10:33 raphix > ./build.sh                                                              < debian:pts/0:~/polybar
** Fetching submodules
Sous-module 'lib/i3ipcpp' (https://github.com/jaagr/i3ipcpp) enregistré pour le chemin 'lib/i3ipcpp'
Sous-module 'lib/xpp' (https://github.com/jaagr/xpp) enregistré pour le chemin 'lib/xpp'
Clonage dans '/home/raphix/polybar/lib/i3ipcpp'...
Clonage dans '/home/raphix/polybar/lib/xpp'...
Chemin de sous-module 'lib/i3ipcpp' : 'd54efb9b76bd0abeb7ac99db7e2d95909306e899' extrait
Chemin de sous-module 'lib/xpp' : 'c73db50f3020b7abe294631b25a2d302fcd9e1cb' extrait
** A build dir already exists (pass -f to replace)
 10:34 raphix > ./build.sh                                                              < debian:pts/0:~/polybar
** Fetching submodules
** Setting build options
** Include support for "internal/i3" (requires i3) ------------------- [Y/n]: Y
** Include support for "internal/volume" (requires alsalib) ---------- [Y/n]: Y
** Include support for "internal/network" (requires wireless_tools) -- [Y/n]: Y
** Include support for "internal/mpd" (requires libmpdclient) -------- [Y/n]: Y
** Include support for "internal/github" (requires libcurl) ---------- [Y/n]: Y
** Build "polybar-msg" used to send ipc messages --------------------- [Y/n]: Y
** Using compiler: g++/gcc
** Executing cmake command
-- The C compiler identification is GNU 7.2.0
-- The CXX compiler identification is GNU 7.2.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No build type specified; using RelWithDebInfo
-- Using supported compiler GNU-7.2.0
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Checking for module 'cairo-fc'
--   Found cairo-fc, version 1.14.10
-- Checking for module 'alsa'
--   Found alsa, version 1.1.3
-- Checking for module 'libcurl'
--   Found libcurl, version 7.55.1
-- Checking for module 'libmpdclient'
--   Found libmpdclient, version 2.9
-- Found Libiw: /usr/lib/x86_64-linux-gnu/libiw.so  
-- Checking for module 'xcb-xkb'
--   Found xcb-xkb, version 1.12
-- Checking for module 'xcb-randr'
--   Found xcb-randr, version 1.12
-- Checking for module 'xcb-randr>=1.12'
--   Found xcb-randr, version 1.12
-- Checking for module 'xcb-xrm'
--   Found xcb-xrm, version 1.0
--  Build:
--    Type: RelWithDebInfo
--    CC: /usr/bin/gcc  -O2 -g -DNDEBUG
--    CXX: /usr/bin/g++  -Wall -Wextra -Werror -Wno-noexcept-type -O2 -pedantic -pedantic-errors -O2 -g -DNDEBUG
--    LD: /usr/bin/ld  
--  Targets:
-- [X]   polybar-msg
-- [ ]   testsuite
--  Module support:
-- [X]   alsa
-- [X]   curl
-- [X]   i3
-- [X]   mpd
-- [X]   network
--  X extensions:
-- [X]   xcb-randr
-- [X]   xcb-randr (monitor support)
-- [ ]   xcb-render
-- [ ]   xcb-damage
-- [ ]   xcb-sync
-- [ ]   xcb-composite
-- [X]   xcb-xkb
-- [X]   xcb-xrm
-- [ ]   xcb-cursor
-- Font not found: fixed:pixelsize=10
-- Found font: unifont:fontformat=truetype
-- Font not found: siji:pixelsize=10
-- Checking for module 'xcb-proto'
--   Found xcb-proto, version 1.12
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.13", minimum required is "2.7") 
-- XCB[XCB]: Found component XCB
-- Found XCB_XCB: /usr/lib/x86_64-linux-gnu/libxcb.so  
-- XCB[ICCCM]: Found component ICCCM
-- Found XCB_ICCCM: /usr/lib/x86_64-linux-gnu/libxcb-icccm.so  
-- XCB[EWMH]: Found component EWMH
-- Found XCB_EWMH: /usr/lib/x86_64-linux-gnu/libxcb-ewmh.so  
-- XCB[UTIL]: Found component UTIL
-- Found XCB_UTIL: /usr/lib/x86_64-linux-gnu/libxcb-util.so  
-- XCB[IMAGE]: Found component IMAGE
-- Found XCB_IMAGE: /usr/lib/x86_64-linux-gnu/libxcb-image.so  
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so  
-- Searching for xcbgen with python2
-- Found xcbgen in /usr/lib/python2.7/dist-packages
-- XCB[RANDR]: Found component RANDR
-- Found XCB_RANDR: /usr/lib/x86_64-linux-gnu/libxcb-randr.so  
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so;/usr/lib/x86_64-linux-gnu/libxcb-randr.so  
-- XCB[XKB]: Found component XKB
-- Found XCB_XKB: /usr/lib/x86_64-linux-gnu/libxcb-xkb.so  
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so;/usr/lib/x86_64-linux-gnu/libxcb-randr.so;/usr/lib/x86_64-linux-gnu/libxcb-xkb.so  
-- xpp: including xcb proto randr.xml
-- xpp: including xcb proto xkb.xml
-- xpp: including xcb proto xproto.xml
-- Checking for module 'jsoncpp>=1.7.7'
--   No package 'jsoncpp' found
-- Could not find jsoncpp>=1.7.7 -- building static lib...
-- JsonCpp Version: 1.7.7
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.13", minimum required is "2.6") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/raphix/polybar/build
** Building project
Scanning dependencies of target xpp
[  1%] Linking CXX static library libxpp.a
list: size, ['red', 'green', 'blue']
list: size, ['red', 'green', 'blue']
[  1%] Built target xpp
Scanning dependencies of target jsoncpp_lib_static
[  2%] Building CXX object lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_reader.cpp.o
/home/raphix/polybar/lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/json_reader.cpp: In member function ‘bool Json::OurReader::readToken(Json::OurReader::Token&)’:
/home/raphix/polybar/lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/json_reader.cpp:1230:5: error: this statement may fall through [-Werror=implicit-fallthrough=]
     if (features_.allowSingleQuotes_) {
     ^~
/home/raphix/polybar/lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/json_reader.cpp:1235:3: note: here
   case '/':
   ^~~~
cc1plus: all warnings being treated as errors
lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/build.make:62 : la recette pour la cible « lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_reader.cpp.o » a échouée
make[2]: *** [lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_reader.cpp.o] Erreur 1
CMakeFiles/Makefile2:559 : la recette pour la cible « lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/all » a échouée
make[1]: *** [lib/i3ipcpp/libs/jsoncpp-1.7.7/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/all] Erreur 2
Makefile:129 : la recette pour la cible « all » a échouée
make: *** [all] Erreur 2
** Failed to build project
 10:35 raphix >                                                                                                                                                                                                                                                                         < debian:pts/0:~/polybar

may be a problem dependencie with jsoncpp ... ? I only founded the -dev lib ones...
I'm not able to to more...  :8
Thanks for advices
regards
raph

Last edited by ragamatrix (2017-09-26 08:45:35)

Offline

#2 2017-09-26 08:50:10

brontosaurusrex
Middle Office
Registered: 2015-09-29
Posts: 2,741

Re: can't build polybar

You did

sudo apt install cmake cmake-data libcairo2-dev libxcb1-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-randr0-dev libxcb-util0-dev libxcb-xkb-dev pkg-config python-xcbgen xcb-proto libxcb-xrm-dev i3-wm libasound2-dev libmpdclient-dev libiw-dev libcurl4-openssl-dev

?

Seems to build here, I did

mkdir build && cd build
cmake ..
sudo make install

Now 'polybar example' presents me with a grey rectangle (with some icons and volume slider) with lots of errors that seems to slowly crashes to completely grey rectangle (Haven't dig dipper).

Last edited by brontosaurusrex (2017-09-26 08:59:13)

Online

#3 2017-09-26 09:18:07

ragamatrix
Member
Registered: 2015-10-04
Posts: 427

Re: can't build polybar

Thanks brontosaurusrex
yes I did it and I did with cmake, I still have the problem with jsoncpp, I have the 1.7.4 and need the
1.7.7... I think I'll have to build it manually...

...
-- Checking for module 'jsoncpp>=1.7.7'
--   Requested 'jsoncpp >= 1.7.7' but version of jsoncpp is 1.7.4
You may find new versions of jsoncpp at https://github.com/open-source-parsers/jsoncpp
-- Could not find jsoncpp>=1.7.7 -- building static lib...
-- JsonCpp Version: 1.7.7
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.13", minimum required is "2.6") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/raphix/polybar/build
...

I don't understand because in the build folder I have ~/polybar/build/lib/i3ipcpp/libs/jsoncpp-1.7.7/

Last edited by ragamatrix (2017-09-26 09:24:57)

Offline

#4 2017-09-26 09:31:14

brontosaurusrex
Middle Office
Registered: 2015-09-29
Posts: 2,741

Re: can't build polybar

Don't know, haven't build anything manually.

Online

#5 2017-09-26 10:38:05

Steve
Member
Registered: 2017-01-03
Posts: 642

Re: can't build polybar

What is the cmake version you have installed? needs 3.1 or higher i believe for jsoncpp.

Sorry i tried to manually build jsoncpp 1.8 inside bunsenlabs hydrogen not debian nine and was telling me that it needed cmake 3.1 to build.

jsoncpp 1.8 here: https://github.com/open-source-parsers/ … /tag/1.8.3

Last edited by Steve (2017-09-26 10:46:38)

Offline

#6 2017-09-26 11:07:02

ragamatrix
Member
Registered: 2015-10-04
Posts: 427

Re: can't build polybar

well I have the 3.9.0 cmake version, what should I do ? Are you using this status bar ?
and there ?:
https://github.com/open-source-parsers/jsoncpp

I don't know which one to choose...  8o

Last edited by ragamatrix (2017-09-26 11:09:51)

Offline

#7 2017-09-26 11:20:29

Steve
Member
Registered: 2017-01-03
Posts: 642

Re: can't build polybar

Sorry no im not using this status bar. Perhaps manually installing jsoncpp 1.8 may help.

Both the link i posted and you posted are from the same github, look at releases. The latest release is in my link as a zip or tarball download.

Last edited by Steve (2017-09-26 11:26:05)

Offline

#8 2017-09-26 12:00:07

ragamatrix
Member
Registered: 2015-10-04
Posts: 427

Re: can't build polybar

Thank-you guys wink Compile without errors. Now I have to read how it works...

Offline

#9 2017-09-26 12:11:32

Steve
Member
Registered: 2017-01-03
Posts: 642

Re: can't build polybar

I tried compiling this polybar but need gcc 6+ which debian jessie and the backports dont have, maybe time to switch to Helium Dev.

Offline

#10 2017-09-26 14:19:54

ragamatrix
Member
Registered: 2015-10-04
Posts: 427

Re: can't build polybar

Edited

I tried a little, it's bugging (when I reduce windows nothing appear in the statusbar), maybe I've done somethin wrong with the config file, I must study it, it's more complicated than a tint2rc...

Last edited by ragamatrix (2017-09-26 16:31:25)

Offline

#11 2017-09-26 20:51:34

stevep
MX Linux Developer
Registered: 2016-08-08
Posts: 381

Re: can't build polybar

If it has an internal jsoncpp, there might be some flag you can pass to cmake to use the internal version.  Reading CMakeLists.txt might show the flag.

Polybar requires a c++14 standard compiler, so gcc-4.9 in Jessie is right out.  clang-3.4 provides that, though.

Hmmmm.. a while ago I backported jsoncpp 1.7.7 for various distreleases: 

https://build.opensuse.org/package/show … soncpp-dev

It was part of an effort that I stopped halfway (for some reason) through to port polybar on the OBS.

I did get it to build a 64-bit package on my own install of Jessie-based MX Linux back then, though, using a newer cmake, clang-3.8, the newer libjsoncpp-dev, and libxcb-xrm-dev.  All of those except libjsoncpp 1.7.7 were already in the MX repos, but you can also get them from jessie-backports.   Though Stretch already has all those packages, the build failed with clang, but it should build with gcc-6.3 there like it builds packages for getdeb...let me throw try that for Stretch on the OBS.  I don't remember why I used clang-3.8 instead of clang-3.4 for the Jessie-build...it must have failed with 3.4.  Let me test that.  I can give a link to my working clang-3.8 debianized source packages for Jessie in a bit, too.

Last edited by stevep (2017-09-26 21:24:23)

Offline

#12 2017-09-26 22:52:00

stevep
MX Linux Developer
Registered: 2016-08-08
Posts: 381

Re: can't build polybar

After some more experimentation:

Clang 3.4 fails on a Jessie base, 3.8 works.

With clang, you must have libjsoncpp-dev (>= 1.7.7) as a build-depend.  If you build with gcc >= 5, such as on Stretch, using that will cause a build failure, polybar will build and use its internal jsoncpp version automatically.

Clang-3.8 can't be built on the OBS, it uses far too much RAM and disk space--so no Polybar for Jessie packages there.

To get back to the OP, I did get Stretch packages built: https://build.opensuse.org/package/show … ar/polybar

32-bit deb: https://download.opensuse.org/repositor … s_i386.deb

64-bit: https://download.opensuse.org/repositor … _amd64.deb

I'll post a link to some uploaded libjsoncpp packages and some jessie-build polybar debianized source files. The Stretch debianized source files can be found in the OBS with some clicking, think of it like a game!

OK, here it is:  https://drive.google.com/open?id=0BxE7w … mFjRzZpYVk

Last edited by stevep (2017-09-26 23:07:44)

Offline

#13 2017-09-27 10:25:02

Steve
Member
Registered: 2017-01-03
Posts: 642

Re: can't build polybar

Thankyou Steve.

Offline

Board footer

Powered by FluxBB