Alexays / Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:
MIT License
5.92k stars 667 forks source link

Issues with Meson dependency for `gtkmm-3.0` on Arch with `gtkmm3` installed #101

Closed akiva closed 5 years ago

akiva commented 5 years ago

When installed on my Arch machine, I am encountering the following error:

Dependency gtkmm-3.0 found: NO (tried pkgconfig)

meson.build:40:0: ERROR:  Dependency "gtkmm-3.0" not found, tried pkgconfig

Even though I can confirm that I have gtkmm3 installed, via pacman. Seems like a silly naming resolution from the meson build.

Alexays commented 5 years ago

Hi! Are you the same person as on the aur? It seems very strange to me.

akiva commented 5 years ago

Yes, I left that comment before it struck me as more sensible to leave here. It does seem strange and entirely prevents me from using waybar on my Wayland/Sway (v1+) system.

Alexays commented 5 years ago

It's strange because I'm also on arch and I don't see how the problem can happen look at the link you'll see that everything is there https://wiki.archlinux.org/index.php/GTK%2B/Development#C++ PS: I'll try a fresh install

akiva commented 5 years ago

I have no idea. It's the only package (that I am aware of) that I have tried installing from the AUR that makes use of meson. I still encounter this issue for waybar but have never encountered it otherwise. Would you like me to paste the full output here? I would love to resolve this and try out the package.

Alexays commented 5 years ago

Yes do it pls :)

akiva commented 5 years ago
Fetching origin
patching file meson.build
patch unexpectedly ends in middle of line
patch unexpectedly ends in middle of line
The Meson build system
Version: 0.48.2
Source dir: /home/akiva/build/waybar-git/src/waybar-git
Build dir: /home/akiva/build/waybar-git/src/build
Build type: native build
Project name: waybar
Project version: 0.2.2
Appending CFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt'
Appending LDFLAGS from environment: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2'
Native C compiler: cc (gcc 8.2.1 "cc (GCC) 8.2.1 20181127")
Appending CXXFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt'
Appending LDFLAGS from environment: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2'
Native C++ compiler: c++ (gcc 8.2.1 "c++ (GCC) 8.2.1 20181127")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Has header "filesystem": YES
Dependency threads found: YES 
Found pkg-config: /usr/bin/pkg-config (1.5.4)
Dependency libinput found: YES 1.12.3
Using fmt from cache.
Using fmt-5.2.1-1-wrap.zip from cache.

|
|Executing subproject fmt 
|
|Project name: fmt
|Project version: 5.2.1
|Native C++ compiler: c++ (gcc 8.2.1 "c++ (GCC) 8.2.1 20181127")
|Build targets in project: 1
|
|Subproject fmt finished.
Dependency wayland-client found: YES 1.16.0
Dependency wayland-cursor found: YES 1.16.0
Dependency wayland-protocols found: YES 1.17
Dependency wlroots found: YES 0.1.0
Dependency gtkmm-3.0 found: NO (tried pkgconfig)

meson.build:40:0: ERROR:  Dependency "gtkmm-3.0" not found, tried pkgconfig

A full log can be found at /home/akiva/build/waybar-git/src/build/meson-logs/meson-log.txt
akiva commented 5 years ago

Aforementioned full log:

Build started at 2018-12-17T14:57:44.660445
Main binary: /usr/bin/python
Python system: Linux
The Meson build system
Version: 0.48.2
Source dir: /home/akiva/build/waybar-git/src/waybar-git
Build dir: /home/akiva/build/waybar-git/src/build
Build type: native build
Project name: waybar
Project version: 0.2.2
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc /home/akiva/build/waybar-git/src/build/meson-private/sanitycheckc.c -o /home/akiva/build/waybar-git/src/build/meson-private/sanitycheckc.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /home/akiva/build/waybar-git/src/build/meson-private/sanitycheckc.exe
Appending CFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt'
Appending LDFLAGS from environment: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2'
Native C compiler: cc (gcc 8.2.1 "cc (GCC) 8.2.1 20181127")
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ /home/akiva/build/waybar-git/src/build/meson-private/sanitycheckcpp.cc -o /home/akiva/build/waybar-git/src/build/meson-private/sanitycheckcpp.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /home/akiva/build/waybar-git/src/build/meson-private/sanitycheckcpp.exe
Appending CXXFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt'
Appending LDFLAGS from environment: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2'
Native C++ compiler: c++ (gcc 8.2.1 "c++ (GCC) 8.2.1 20181127")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Running compile:
Working directory:  /tmp/tmplvihgx4t
Command line:  c++ /tmp/tmplvihgx4t/testfile.cpp -pipe -D_FILE_OFFSET_BITS=64 -c -o /tmp/tmplvihgx4t/output.obj -std=c++17 

Code:
 int i = static_cast<int>(0);
Compiler stdout:

Compiler stderr:

Compiler accepts -std=c++17: YES
Running compile:
Working directory:  /tmp/tmpsdk40t5b
Command line:  c++ /tmp/tmpsdk40t5b/testfile.cpp -pipe -D_FILE_OFFSET_BITS=64 -E -P -D_FORTIFY_SOURCE=2 -O0 -fpermissive -std=c++17 

Code:

        #ifdef __has_include
         #if !__has_include("filesystem")
          #error "Header 'filesystem' could not be found"
         #endif
        #else
         #include <filesystem>
        #endif
Compiler stdout:

Compiler stderr:

Has header "filesystem": YES
Dependency threads found: YES 
Found pkg-config: /usr/bin/pkg-config (1.5.4)
Determining dependency 'libinput' with pkg-config executable '/usr/bin/pkg-config'
Called `/usr/bin/pkg-config --modversion libinput` -> 0
1.12.3
Called `/usr/bin/pkg-config --cflags libinput` -> 0

Called `/usr/bin/pkg-config libinput --libs` -> 0
-L/usr/lib -linput
Called `/usr/bin/pkg-config libinput --libs` -> 0
-linput
Running compile:
Working directory:  /tmp/tmp3uxcuawv
Command line:  c++ /tmp/tmp3uxcuawv/testfile.cpp -pipe -D_FILE_OFFSET_BITS=64 -c -o /tmp/tmp3uxcuawv/output.obj -march=x86-64 -mtune=generic -O2 -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -O0 -fpermissive --print-search-dirs 

Code:

Compiler stdout:
 install: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/
programs: =/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../x86_64-pc-linux-gnu/bin/
libraries: =/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../x86_64-pc-linux-gnu/lib/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../x86_64-pc-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../lib/:/lib/x86_64-pc-linux-gnu/8.2.1/:/lib/../lib/:/usr/lib/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../:/lib/:/usr/lib/

Compiler stderr:

Dependency libinput found: YES 1.12.3
Using fmt from cache.
Using fmt-5.2.1-1-wrap.zip from cache.

Executing subproject fmt 

Project name: fmt
Project version: 5.2.1
Native C++ compiler: c++ (gcc 8.2.1 "c++ (GCC) 8.2.1 20181127")
Build targets in project: 1

Subproject fmt finished.
Determining dependency 'wayland-client' with pkg-config executable '/usr/bin/pkg-config'
Called `/usr/bin/pkg-config --modversion wayland-client` -> 0
1.16.0
Called `/usr/bin/pkg-config --cflags wayland-client` -> 0

Called `/usr/bin/pkg-config wayland-client --libs` -> 0
-L/usr/lib -lwayland-client
Called `/usr/bin/pkg-config wayland-client --libs` -> 0
-lwayland-client
Dependency wayland-client found: YES 1.16.0
Determining dependency 'wayland-cursor' with pkg-config executable '/usr/bin/pkg-config'
Called `/usr/bin/pkg-config --modversion wayland-cursor` -> 0
1.16.0
Called `/usr/bin/pkg-config --cflags wayland-cursor` -> 0

Called `/usr/bin/pkg-config wayland-cursor --libs` -> 0
-L/usr/lib -lwayland-cursor
Called `/usr/bin/pkg-config wayland-cursor --libs` -> 0
-lwayland-cursor
Dependency wayland-cursor found: YES 1.16.0
Determining dependency 'wayland-protocols' with pkg-config executable '/usr/bin/pkg-config'
Called `/usr/bin/pkg-config --modversion wayland-protocols` -> 0
1.17
Called `/usr/bin/pkg-config --cflags wayland-protocols` -> 0

Called `/usr/bin/pkg-config wayland-protocols --libs` -> 0

Called `/usr/bin/pkg-config wayland-protocols --libs` -> 0

Dependency wayland-protocols found: YES 1.17
Determining dependency 'wlroots' with pkg-config executable '/usr/bin/pkg-config'
Called `/usr/bin/pkg-config --modversion wlroots` -> 0
0.1.0
Called `/usr/bin/pkg-config --cflags wlroots` -> 0
-I/usr/include/libdrm -I/usr/include/pixman-1
Called `/usr/bin/pkg-config wlroots --libs` -> 0
-L/usr/lib -lwlroots
Called `/usr/bin/pkg-config wlroots --libs` -> 0
-lwlroots
Dependency wlroots found: YES 0.1.0
Determining dependency 'gtkmm-3.0' with pkg-config executable '/usr/bin/pkg-config'
Called `/usr/bin/pkg-config --modversion gtkmm-3.0` -> 1

Dependency gtkmm-3.0 found: NO (tried pkgconfig)

meson.build:40:0: ERROR:  Dependency "gtkmm-3.0" not found, tried pkgconfig
Alexays commented 5 years ago

What is the output of this command? pkg-config --modversion gtkmm-3.0 and this command: pacman -Q | grep gtkmm

akiva commented 5 years ago

pkg-config --modversion gtkmm-3.0:

Package dependency requirement 'gtk+-3.0 >= 3.24.0' could not be satisfied.
Package 'gtk+-3.0' has version '3.22.24', required version is '>= 3.24.0'
Package dependency requirement 'gtk+-3.0 >= 3.24.0' could not be satisfied.
Package 'gtk+-3.0' has version '3.22.24', required version is '>= 3.24.0'

and pacman -Q | grep gtkmm:

gtkmm 1:2.24.5-3
gtkmm3 3.24.0-1

Odd, no? Does this help at all?

Alexays commented 5 years ago

@akiva Your gtk+-3.0 seems outdated

Alexays commented 5 years ago

@akiva Update your gtk3 package and it should work then.

akiva commented 5 years ago

There was an odd issue with gtk3-optional-csd that was the root cause and has since been resolved. I was able to compile waybar without issue and as such I am closing the issue. Thanks for the help!