LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   GNOME Desktop on slackbuilds.org (Slackware 15.0) (https://www.linuxquestions.org/questions/slackware-14/gnome-desktop-on-slackbuilds-org-slackware-15-0-a-4175714660/)

0XBF 07-15-2022 12:50 PM

GNOME Desktop on slackbuilds.org (Slackware 15.0)
 
Over the last few months I've been picking away at putting together slackbuilds for various GNOME Desktop components and submitting them to slackbuilds.org, with the support of a few other Slacker's from here on the forums. Most of the work has gone "under the radar" so far, so I wanted to make a post here to bring some awareness that there is a functional GNOME desktop available for Slackware 15.0 on slackbuilds.org.

The tricky part of building the GNOME desktop is of course is the build order, so I have also prepared some queue files to be handled by programs like 'sbopkg' to make life easier.

You can find these queuefiles and more information on my github page here: https://github.com/0xBOBF/gnome-slackware-15.0
For the rest of this post I'll just re-iterate how to build/install the GNOME desktop, which is also found in the README.

Building and Installing:

There are two queue files that I have put together:

1. gnome-basic.sqf - A minimal GNOME desktop without any additional GNOME applications. This provides the basic GNOME Shell, GNOME Session Manager, GDM display manager, and ability to tweak the system and extensions.

2. gnome-all.sqf - This builds most of the available GNOME software from slackbuilds.org, some of which integrate into the GNOME desktop to provide more features. See the queuefile for details of what is included.

I recommend the 'gnome-all' queue, as the basic version is very "barebones".

Before starting either build you will need to create a 'colord' group and user, which is needed by the colord dependency for the GNOME desktop. Use the following commands as root to set this up:
Code:

groupadd -g 303 colord
useradd -d /var/lib/colord -u 303 -g colord -s /bin/false colord

If using the gnome-all.sqf queuefile then you will also need to set up an 'avahi' group and user, which is an optional dependency that is used in the full build. The following commands will set up an avahi group and user:
Code:

groupadd -g 214 avahi
useradd -u 214 -g 214 -c Avahi -d /dev/null -s /bin/false avahi

If you fail to set these users and groups up before starting, then the queue will fail when it reaches colord and/or avahi.

Here is example steps for using 'sbopkg' to install the 'gnome-all' build. Note that this is done after setting up the above groups/users, and sbopkg is synced:
Code:

wget -P /var/lib/sbopkg/queues https://raw.githubusercontent.com/0xBOBF/gnome-slackware-15.0/main/gnome-all.sqf
sbopkg -i gnome-all

Or, the 'gnome-basic' queue could be built with the following:
Code:

wget -P /var/lib/sbopkg/queues https://raw.githubusercontent.com/0xBOBF/gnome-slackware-15.0/main/gnome-basic.sqf
sbopkg -i gnome-basic

Post Install Setup:
Slackware 15.0 comes with support for GDM already in its /etc/rc.d/rc.4 init script. However, GDM is started in this script with an invalid option, which will cause GDM to fail to start by default. You will need to edit the script and remove the '-nodaemon' option before attempting to use GDM from runlevel 4. After correcting, the gdm stanza should be:
Code:

if [ -x /usr/sbin/gdm ]; then
  exec /usr/sbin/gdm
fi

If you use the gnome-all.sqf queuefile, then you will also install avahi which is an optional dependency. Avahi has a couple daemons that should be started at boot and stopped at shutdown. This can be done using rc.local and rc.local_shutdown scripts (this information is also in the Avahi README).

Start the daemons with the following in /etc/rc.d/rc.local:
Code:

# Start avahidaemon
if [ -x /etc/rc.d/rc.avahidaemon ]; then
 /etc/rc.d/rc.avahidaemon start
fi
# Start avahidnsconfd
if [ -x /etc/rc.d/rc.avahidnsconfd ]; then
  /etc/rc.d/rc.avahidnsconfd start
fi

Stop the daemons with the following in /etc/rc.d/rc.local_shutdown:
Code:

# Stop avahidnsconfd
if [ -x /etc/rc.d/rc.avahidnsconfd ]; then
  /etc/rc.d/rc.avahidnsconfd stop
fi
# Stop avahidaemon
if [ -x /etc/rc.d/rc.avahidaemon ]; then
  /etc/rc.d/rc.avahidaemon stop
fi

At this point the GNOME desktop will be installed and ready to use. You can select it with 'xwmconfig' in runlevel 3, or use a display manager in runlevel 4 (gdm is recommended).

Other Thoughts:

I recommend also installing the appindicator extension, since applications like hplip will time out and complain about no system tray without this extension. https://extensions.gnome.org/extensi...cator-support/

Enabling Pipewire is also beneficial, since it allows the screen recording functionality to work properly, although everything else works fine with pulseaudio.

The full build takes around 80 minutes for my 8 Core, 16GB RAM machine to build and install. Expect longer times for slower machines.

I'll keep an eye on this thread and answer any questions I can if anyone wants to try this GNOME build.

Also I should mention that version wise this is mostly GNOME 40 and 41 software. Slackware 15.0's libraries are mostly too old to properly build most GNOME 42 software (i.e. gtk4, gjs, upower, and a couple others are too old). This is also not the *complete* GNOME suite of applications, I'm not that crazy ;)

Cheers, and good luck if you try it out!

-Bob

stormtracknole 07-15-2022 02:13 PM

Fantastic work!! I've made some attempts at build Gnome and end up hitting a snag at one point or another and never end up finishing. So kudos to you an to all that helped.

stormtracknole 07-15-2022 08:22 PM

So I'm going through the process on a virtual machine. I ran into a snag building clutter-gst:
Code:

  CCLD    libclutter-gst-3.0.la
  CCLD    libcluttergst3.la
  GEN      ClutterGst-3.0.gir
Couldn't find include 'Cogl-1.0.gir' (search path: '['../clutter-gst', 'path=../clutter-gst', '/usr/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share', 'gir-1.0', '/usr/local/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0']')
make[4]: *** [Makefile:1324: ClutterGst-3.0.gir] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [Makefile:938: all-recursive] Error 1
make[2]: *** [Makefile:675: all] Error 2
make[1]: *** [Makefile:538: all-recursive] Error 1
make: *** [Makefile:446: all] Error 2


reddog83 07-15-2022 08:24 PM

Thank you for the information we are looking into this error and will see how we can fix it.

It looks like you don't have cogl-1.22.8 installed on your system.
Please visit https://slackbuilds.org/repository/1...l/?search=cogl for this package.
And thank you for the information I have forwarded it to Bob and the other Gnome developers.

reddog83 07-15-2022 08:27 PM

For a faster response please join our discord server at
https://discord.gg/YzzRRUs4

stormtracknole 07-15-2022 09:06 PM

Quote:

Originally Posted by reddog83 (Post 6367687)
Thank you for the information we are looking into this error and will see how we can fix it.

It looks like you don't have cogl-1.22.8 installed on your system.
Please visit https://slackbuilds.org/repository/1...l/?search=cogl for this package.
And thank you for the information I have forwarded it to Bob and the other Gnome developers.

I do have cogl built. I'm using the gst file to build everything.

reddog83 07-15-2022 09:11 PM

K by chance did you source gnome-all.env so that introspection was turned on?

stormtracknole 07-15-2022 09:45 PM

Quote:

Originally Posted by reddog83 (Post 6367701)
K by chance did you source gnome-all.env so that introspection was turned on?

I feel like an idiot. I thought I had but obviously I didn't. I apologize for the noise. The build is now continuing. I'll check it out in the morning! Thanks for the quick responses.

rizitis 07-16-2022 06:16 AM

@0XBF thank you! good job!

ps.If someone use (alternative) slpkg for building and installation from slackbuilds.org , then you can follow introductions from here to install Gnome (gnome-all) on Slackware stable.

stormtracknole 07-16-2022 07:28 AM

It got up to gnome-maps before it failed with this error:
Code:

FAILED: lib/GnomeMaps-1.0.gir
/usr/bin/g-ir-scanner --no-libtool --namespace=GnomeMaps --nsversion=1.0 --warn-all --output lib/GnomeMaps-1.0.gir -I/tmp/SBo/gnome-maps-42.1/lib -I/tmp/SBo/gnome-maps-42.1/build/lib -I/tmp/SBo/gnome-maps-42.1/build/. -I/tmp/SBo/gnome-maps-42.1/. --filelist=/tmp/SBo/gnome
-maps-42.1/build/lib/libgnome-maps.so.0.0.0.p/GnomeMaps_1.0_gir_filelist --include=GLib-2.0 --include=GObject-2.0 --include=GeocodeGlib-1.0 --include=Champlain-0.12 --include=Rest-0.7 --symbol-prefix=maps --identifier-prefix=Maps --cflags-begin -I/tmp/SBo/gnome-maps-42.1/
build/. -I/tmp/SBo/gnome-maps-42.1/. -I/usr/include/gee-0.8 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/geocode-glib-1.0 -I/usr/include/libmount -I/usr/include/blkid -D_REENTRANT -I/usr/include/champlain-0.12 -I/usr/include/libsoup-2.4 -I/usr/incl
ude/clutter-1.0 -I/usr/include/cogl -I/usr/include/atk-1.0 -I/usr/include/SDL2 -I/usr/include/libdrm -I/usr/include/json-glib-1.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribid
i -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/rest-0.7 -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/tmp/SBo/gnome-maps-42.1/b
uild/lib --library gnome-maps --extra-library=gee-0.8 --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=folks --extra-library=geocode-glib --extra-library=gio-2.0 --extra-library=champlain-0.12 --extra-library=clutter-1.0 --extra-library=cogl-path --ext
ra-library=atk-1.0 --extra-library=cogl-pango --extra-library=cogl --extra-library=gmodule-2.0 --extra-library=SDL2 --extra-library=wayland-egl --extra-library=gbm --extra-library=drm --extra-library=EGL --extra-library=Xrandr --extra-library=json-glib-1.0 --extra-library
=gdk-3 --extra-library=z --extra-library=pangocairo-1.0 --extra-library=pango-1.0 --extra-library=harfbuzz --extra-library=gdk_pixbuf-2.0 --extra-library=cairo-gobject --extra-library=cairo --extra-library=wayland-cursor --extra-library=wayland-client --extra-library=xkbc
ommon --extra-library=wayland-server --extra-library=X11 --extra-library=Xext --extra-library=Xdamage --extra-library=Xfixes --extra-library=Xcomposite --extra-library=Xi --extra-library=xml2 --extra-library=rest-0.7 --extra-library=soup-2.4 --extra-library=girepository-1
.0 --sources-top-dirs /tmp/SBo/gnome-maps-42.1/subprojects/ --sources-top-dirs /tmp/SBo/gnome-maps-42.1/build/subprojects/
Couldn't find include 'GeocodeGlib-1.0.gir' (search path: '['/usr/share/gir-1.0', '/usr/share', 'gir-1.0', '/usr/local/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0']')
ninja: build stopped: subcommand failed.


stormtracknole 07-16-2022 07:47 AM

1 Attachment(s)
Looks good!

Attachment 39269

rizitis 07-16-2022 08:48 AM

Quote:

Originally Posted by stormtracknole (Post 6367757)
It got up to gnome-maps before it failed with this error:
Code:

FAILED: lib/GnomeMaps-1.0.gir
/usr/bin/g-ir-scanner --no-libtool --namespace=GnomeMaps --nsversion=1.0 --warn-all --output lib/GnomeMaps-1.0.gir -I/tmp/SBo/gnome-maps-42.1/lib -I/tmp/SBo/gnome-maps-42.1/build/lib -I/tmp/SBo/gnome-maps-42.1/build/. -I/tmp/SBo/gnome-maps-42.1/. --filelist=/tmp/SBo/gnome
-maps-42.1/build/lib/libgnome-maps.so.0.0.0.p/GnomeMaps_1.0_gir_filelist --include=GLib-2.0 --include=GObject-2.0 --include=GeocodeGlib-1.0 --include=Champlain-0.12 --include=Rest-0.7 --symbol-prefix=maps --identifier-prefix=Maps --cflags-begin -I/tmp/SBo/gnome-maps-42.1/
build/. -I/tmp/SBo/gnome-maps-42.1/. -I/usr/include/gee-0.8 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/geocode-glib-1.0 -I/usr/include/libmount -I/usr/include/blkid -D_REENTRANT -I/usr/include/champlain-0.12 -I/usr/include/libsoup-2.4 -I/usr/incl
ude/clutter-1.0 -I/usr/include/cogl -I/usr/include/atk-1.0 -I/usr/include/SDL2 -I/usr/include/libdrm -I/usr/include/json-glib-1.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribid
i -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/rest-0.7 -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/tmp/SBo/gnome-maps-42.1/b
uild/lib --library gnome-maps --extra-library=gee-0.8 --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=folks --extra-library=geocode-glib --extra-library=gio-2.0 --extra-library=champlain-0.12 --extra-library=clutter-1.0 --extra-library=cogl-path --ext
ra-library=atk-1.0 --extra-library=cogl-pango --extra-library=cogl --extra-library=gmodule-2.0 --extra-library=SDL2 --extra-library=wayland-egl --extra-library=gbm --extra-library=drm --extra-library=EGL --extra-library=Xrandr --extra-library=json-glib-1.0 --extra-library
=gdk-3 --extra-library=z --extra-library=pangocairo-1.0 --extra-library=pango-1.0 --extra-library=harfbuzz --extra-library=gdk_pixbuf-2.0 --extra-library=cairo-gobject --extra-library=cairo --extra-library=wayland-cursor --extra-library=wayland-client --extra-library=xkbc
ommon --extra-library=wayland-server --extra-library=X11 --extra-library=Xext --extra-library=Xdamage --extra-library=Xfixes --extra-library=Xcomposite --extra-library=Xi --extra-library=xml2 --extra-library=rest-0.7 --extra-library=soup-2.4 --extra-library=girepository-1
.0 --sources-top-dirs /tmp/SBo/gnome-maps-42.1/subprojects/ --sources-top-dirs /tmp/SBo/gnome-maps-42.1/build/subprojects/
Couldn't find include 'GeocodeGlib-1.0.gir' (search path: '['/usr/share/gir-1.0', '/usr/share', 'gir-1.0', '/usr/local/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0']')
ninja: build stopped: subcommand failed.



Can you give some more informations plz?
this problem was before you
Code:

export INTROSPECTION=yes
right?
or you still cant build gnome-maps?
thank you.

avian 07-16-2022 08:56 AM

This is pretty awesome, look forward to trying this on a spare install to experiment with.

Just a side question, since I know everyone trying gnome has avahi installed. Does running "avahi-discover" in a terminal segfault for everyone here, or does it actually run properly for anyone?

rizitis 07-16-2022 09:01 AM

1 Attachment(s)
Attachment 39270

avian 07-16-2022 09:03 AM

Quote:

Originally Posted by rizitis (Post 6367779)

Thanks :)


All times are GMT -5. The time now is 10:30 AM.