How to install libadwaita in OpenSUSE (original) (raw)

August 17, 2024, 9:00am 1

Hello! I have a problem with adwaita library. I tried to install it via zypper: zypper install libadwaita. But there is a lot of alternatives package: libadwaita-1-0, libadwaita-1-0-1.6.beta+1~git.a997558-216.1.x86_64 and so on. But it’s not installed into PATH (usr/share/include) and I can’t use it. Then I moved it into usr/share/include directory manually and it’s visible now
If I compile it with makefile

CC=gcc
FLAGS_ADW=`pkg-config --cflags --libs libadwaita-1 `
FLAGS_GTK=`pkg-config --cflags --libs gtk4` 

all: *.c
 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>C</mi><mi>C</mi><mo stretchy="false">)</mo><mo>∗</mo><mi mathvariant="normal">.</mi><mi>c</mi><mo>−</mo><mi>o</mi><mi>c</mi><mi>o</mi><mi>m</mi><mi mathvariant="normal">.</mi><mi>e</mi><mi>x</mi><mi>a</mi><mi>m</mi><mi>p</mi><mi>l</mi><mi>e</mi><mi mathvariant="normal">.</mi><mi>A</mi><mi>p</mi><mi>p</mi><mi>l</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></mrow><annotation encoding="application/x-tex">(CC) *.c -o com.example.Application </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.07153em;">CC</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord">.</span><span class="mord mathnormal">c</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">oco</span><span class="mord mathnormal">m</span><span class="mord">.</span><span class="mord mathnormal">e</span><span class="mord mathnormal">x</span><span class="mord mathnormal">am</span><span class="mord mathnormal" style="margin-right:0.01968em;">pl</span><span class="mord mathnormal">e</span><span class="mord">.</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.01968em;">ppl</span><span class="mord mathnormal">i</span><span class="mord mathnormal">c</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">i</span><span class="mord mathnormal">o</span><span class="mord mathnormal">n</span></span></span></span>(FLAGS_ADW) $(FLAGS_GTK)

It writes default error: undefined reference to…

Please, help me with installation of this library.
I’d like to have easy to use header files like gtk and such compiling instruction

Sid (Sid) August 17, 2024, 2:21pm 2

'libadwaita' package contains the shared library (.so) which is needed at runtime for your program to run.

$ rpm -ql libadwaita-1-0 
/usr/lib64/libadwaita-1.so.0
/usr/share/doc/packages/libadwaita-1-0
/usr/share/doc/packages/libadwaita-1-0/README.md
/usr/share/licenses/libadwaita-1-0
/usr/share/licenses/libadwaita-1-0/COPYING

For compiling code which uses 'libXYZ', you need to install 'libXYZ-devel' package ('libadwaita-devel' in this case) which contains the .pc and headers as shown below.

$ rpm -ql libadwaita-devel
/usr/include/libadwaita-1
/usr/include/libadwaita-1/adw-about-dialog.h
/usr/include/libadwaita-1/adw-about-window.h
/usr/include/libadwaita-1/adw-action-row.h
/usr/include/libadwaita-1/adw-alert-dialog.h
/usr/include/libadwaita-1/adw-animation-target.h
/usr/include/libadwaita-1/adw-animation-util.h
/usr/include/libadwaita-1/adw-animation.h
/usr/include/libadwaita-1/adw-application-window.h
/usr/include/libadwaita-1/adw-application.h
/usr/include/libadwaita-1/adw-avatar.h
/usr/include/libadwaita-1/adw-banner.h
/usr/include/libadwaita-1/adw-bin.h
/usr/include/libadwaita-1/adw-breakpoint-bin.h
/usr/include/libadwaita-1/adw-breakpoint.h
/usr/include/libadwaita-1/adw-button-content.h
/usr/include/libadwaita-1/adw-carousel-indicator-dots.h
/usr/include/libadwaita-1/adw-carousel-indicator-lines.h
/usr/include/libadwaita-1/adw-carousel.h
/usr/include/libadwaita-1/adw-clamp-layout.h
/usr/include/libadwaita-1/adw-clamp-scrollable.h
/usr/include/libadwaita-1/adw-clamp.h
/usr/include/libadwaita-1/adw-combo-row.h
/usr/include/libadwaita-1/adw-dialog.h
/usr/include/libadwaita-1/adw-easing.h
/usr/include/libadwaita-1/adw-entry-row.h
/usr/include/libadwaita-1/adw-enum-list-model.h
/usr/include/libadwaita-1/adw-enums.h
/usr/include/libadwaita-1/adw-expander-row.h
/usr/include/libadwaita-1/adw-flap.h
/usr/include/libadwaita-1/adw-fold-threshold-policy.h
/usr/include/libadwaita-1/adw-header-bar.h
/usr/include/libadwaita-1/adw-leaflet.h
/usr/include/libadwaita-1/adw-length-unit.h
/usr/include/libadwaita-1/adw-main.h
/usr/include/libadwaita-1/adw-message-dialog.h
/usr/include/libadwaita-1/adw-navigation-direction.h
/usr/include/libadwaita-1/adw-navigation-split-view.h
/usr/include/libadwaita-1/adw-navigation-view.h
/usr/include/libadwaita-1/adw-overlay-split-view.h
/usr/include/libadwaita-1/adw-password-entry-row.h
/usr/include/libadwaita-1/adw-preferences-dialog.h
/usr/include/libadwaita-1/adw-preferences-group.h
/usr/include/libadwaita-1/adw-preferences-page.h
/usr/include/libadwaita-1/adw-preferences-row.h
/usr/include/libadwaita-1/adw-preferences-window.h
/usr/include/libadwaita-1/adw-spin-row.h
/usr/include/libadwaita-1/adw-split-button.h
/usr/include/libadwaita-1/adw-spring-animation.h
/usr/include/libadwaita-1/adw-spring-params.h
/usr/include/libadwaita-1/adw-squeezer.h
/usr/include/libadwaita-1/adw-status-page.h
/usr/include/libadwaita-1/adw-style-manager.h
/usr/include/libadwaita-1/adw-swipe-tracker.h
/usr/include/libadwaita-1/adw-swipeable.h
/usr/include/libadwaita-1/adw-switch-row.h
/usr/include/libadwaita-1/adw-tab-bar.h
/usr/include/libadwaita-1/adw-tab-button.h
/usr/include/libadwaita-1/adw-tab-overview.h
/usr/include/libadwaita-1/adw-tab-view.h
/usr/include/libadwaita-1/adw-timed-animation.h
/usr/include/libadwaita-1/adw-toast-overlay.h
/usr/include/libadwaita-1/adw-toast.h
/usr/include/libadwaita-1/adw-toolbar-view.h
/usr/include/libadwaita-1/adw-version.h
/usr/include/libadwaita-1/adw-view-stack.h
/usr/include/libadwaita-1/adw-view-switcher-bar.h
/usr/include/libadwaita-1/adw-view-switcher-title.h
/usr/include/libadwaita-1/adw-view-switcher.h
/usr/include/libadwaita-1/adw-window-title.h
/usr/include/libadwaita-1/adw-window.h
/usr/include/libadwaita-1/adwaita.h
/usr/lib64/libadwaita-1.so
/usr/lib64/pkgconfig/libadwaita-1.pc
/usr/share/gir-1.0/Adw-1.gir
/usr/share/vala/vapi
/usr/share/vala/vapi/libadwaita-1.deps
/usr/share/vala/vapi/libadwaita-1.vapi

Also, you don’t need need this line as 'libadwaita' depends on 'gtk4', so 'gtk4' requirements will be included automatically as shown below.

$ pkg-config --libs libadwaita-1
-ladwaita-1 -lgtk-4 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lvulkan -lgraphene-1.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0

$ pkg-config --cflags libadwaita-1
-I/usr/include/libadwaita-1 -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/graphene-1.0 -I/usr/lib64/graphene-1.0/include -mfpmath=sse -msse -msse2 -I/usr/include/libxkbcommon -I/usr/include/wayland -I/usr/include/fribidi -I/usr/include/appstream -pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include

johanni (Johann) August 17, 2024, 4:14pm 3

Exhaustive answer! Thank you

system (system) Closed September 16, 2024, 4:14pm 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.