LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 07-15-2022, 12:50 PM   #1
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 765

Rep: Reputation: 863Reputation: 863Reputation: 863Reputation: 863Reputation: 863Reputation: 863Reputation: 863
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

Last edited by 0XBF; 07-28-2022 at 10:18 PM. Reason: Edited to remove details about environment variables for upstream deps. No longer needed.
 
Old 07-15-2022, 02:13 PM   #2
stormtracknole
Senior Member
 
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,259

Rep: Reputation: 231Reputation: 231Reputation: 231
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.
 
1 members found this post helpful.
Old 07-15-2022, 08:22 PM   #3
stormtracknole
Senior Member
 
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,259

Rep: Reputation: 231Reputation: 231Reputation: 231
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
 
Old 07-15-2022, 08:24 PM   #4
reddog83
Member
 
Registered: Apr 2018
Distribution: Slackware 15.0/Current
Posts: 443

Rep: Reputation: 229Reputation: 229Reputation: 229
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.

Last edited by reddog83; 07-15-2022 at 08:32 PM.
 
1 members found this post helpful.
Old 07-15-2022, 08:27 PM   #5
reddog83
Member
 
Registered: Apr 2018
Distribution: Slackware 15.0/Current
Posts: 443

Rep: Reputation: 229Reputation: 229Reputation: 229
For a faster response please join our discord server at
https://discord.gg/YzzRRUs4
 
Old 07-15-2022, 09:06 PM   #6
stormtracknole
Senior Member
 
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,259

Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
Originally Posted by reddog83 View Post
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.
 
Old 07-15-2022, 09:11 PM   #7
reddog83
Member
 
Registered: Apr 2018
Distribution: Slackware 15.0/Current
Posts: 443

Rep: Reputation: 229Reputation: 229Reputation: 229
K by chance did you source gnome-all.env so that introspection was turned on?
 
Old 07-15-2022, 09:45 PM   #8
stormtracknole
Senior Member
 
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,259

Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
Originally Posted by reddog83 View Post
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.
 
Old 07-16-2022, 06:16 AM   #9
rizitis
Member
 
Registered: Mar 2009
Location: Greece,Crete
Distribution: Slackware64-current, Slint
Posts: 626

Rep: Reputation: 482Reputation: 482Reputation: 482Reputation: 482Reputation: 482
@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.
 
1 members found this post helpful.
Old 07-16-2022, 07:28 AM   #10
stormtracknole
Senior Member
 
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,259

Rep: Reputation: 231Reputation: 231Reputation: 231
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.
 
Old 07-16-2022, 07:47 AM   #11
stormtracknole
Senior Member
 
Registered: Aug 2005
Distribution: Slackware, RHEL
Posts: 1,259

Rep: Reputation: 231Reputation: 231Reputation: 231
Looks good!

Click image for larger version

Name:	gnome-slackware.jpg
Views:	302
Size:	89.4 KB
ID:	39269
 
2 members found this post helpful.
Old 07-16-2022, 08:48 AM   #12
rizitis
Member
 
Registered: Mar 2009
Location: Greece,Crete
Distribution: Slackware64-current, Slint
Posts: 626

Rep: Reputation: 482Reputation: 482Reputation: 482Reputation: 482Reputation: 482
Quote:
Originally Posted by stormtracknole View Post
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.
 
Old 07-16-2022, 08:56 AM   #13
avian
Member
 
Registered: Aug 2014
Posts: 184

Rep: Reputation: Disabled
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?
 
1 members found this post helpful.
Old 07-16-2022, 09:01 AM   #14
rizitis
Member
 
Registered: Mar 2009
Location: Greece,Crete
Distribution: Slackware64-current, Slint
Posts: 626

Rep: Reputation: 482Reputation: 482Reputation: 482Reputation: 482Reputation: 482
Wink

Click image for larger version

Name:	Screenshot from 2022-07-16 16-59-35.jpg
Views:	272
Size:	193.4 KB
ID:	39270
 
2 members found this post helpful.
Old 07-16-2022, 09:03 AM   #15
avian
Member
 
Registered: Aug 2014
Posts: 184

Rep: Reputation: Disabled
Quote:
Originally Posted by rizitis View Post
Thanks
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
openbox on slack13.37 (x86) -- Thanks to linuxquestions.org, slackbuilds.org & many vectrum Linux - Member Desktop Screenshots 5 02-03-2013 12:22 PM
Slackware 12, Opera, slackbuilds.org TL_CLD Slackware 6 08-15-2007 03:44 AM
[slackbuilds.org] slackware repository idea arcanex Slackware 5 05-19-2007 09:19 PM
Use SlackBuilds.org or my own hosting to offer up SlackBuilds? hollywoodb Slackware 6 11-30-2006 08:56 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 10:51 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration