Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 754042 - xfce-extra/xfce4-screensaver-0.1.11 USE=-locking: error: undefined reference to 'crypt'
Summary: xfce-extra/xfce4-screensaver-0.1.11 USE=-locking: error: undefined reference ...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: XFCE Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-11 14:44 UTC by Duncan
Modified: 2022-06-18 07:04 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
failing build log with USE="opengl pam systemd -elogind -locking" (xfce-extra:xfce4-screensaver-0.1.11:20201111-143733.log,95.41 KB, text/plain)
2020-11-11 14:44 UTC, Duncan
Details
emerge --info xfce4-screensaver (emerge.xfce4-screensaver.info,7.63 KB, text/plain)
2020-11-14 00:35 UTC, Duncan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan 2020-11-11 14:44:38 UTC
Created attachment 670930 [details]
failing build log with USE="opengl pam systemd -elogind -locking"

Gist: xfce4-screensaver USE=-locking is failing build with:

gs-auth-pwent.o:gs-auth-pwent.c:function gs_auth_verify_user: error: undefined reference to 'crypt'

Background:

I'm looking for an alternative to the xscreensaver-demo GUI frontend to xscreensaver.  The xfce desktop is NOT installed[1], but xscreensaver is installed[2].  I'm running systemd.  ~amd64.

xfce4-screensaver attracted my attention because of its low dependencies against what I have already installed, only six additional small packages of single-digit MB sources, and because the ebuild references the xscreensaver hacks dir so with the hope that it can run without the full xfce4 desktop, it may well be exactly what I'm looking for.

Installation:

The six xfce4-screensaver deps (libwnck, carcon, libxklavier libxfce4ui, xfconf and libxfce4util) merged fine.  xfce4-screensaver itself fails as below.

Normal xfce4-screensaver USE flags: USE="opengl pam systemd -elogind -locking"  When that failed I also tried turning off systemd and pam so only opengl is on: USE="opengl -elogind -locking -pam -systemd", and with all USE flags off, same error in all three cases.

HOWEVER, trying with USE=locking, thus USE="locking opengl pam systemd -elogind", merges fine! So the bug is with USE=-locking.

Error with USE=-locking and the first set of USE flags specified above (full build log attached):

/bin/sh ../libtool  --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc  -march=native -O2 -fgcse-sm -fgcse-las -fgcse-after-reload -ftree-vectorize -fdiagnostics-color -lm  -Wl,-z,now,-z,relro,--as-needed,-O1,--hash-style=gnu,--sort-common,--enable-new-dtags -L/usr/lib64 -o xfce4-screensaver-gl-helper xfce4-screensaver-gl-helper.o gs-visual-gl.o  -lX11 -lXss -ldbus-glib-1 -ldbus-1 -lxklavier -lxfconf-0 -lgarcon-gtk3-1 -lgarcon-1 -lgthread-2.0 -pthread -lxfce4ui-2 -lxfce4util -lwnck-3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lXrandr   
gs-auth-pwent.o:gs-auth-pwent.c:function gs_auth_verify_user: error: undefined reference to 'crypt'
gs-auth-pwent.o:gs-auth-pwent.c:function gs_auth_verify_user: error: undefined reference to 'crypt'
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:923: xfce4-screensaver-dialog] Error 1
make[3]: *** Waiting for unfinished jobs....

---
[1] I run a light kde-plasma desktop, no semantic-desktop, no policykit, etc.

[2] xscreensaver is currently installed with USE="gtk gdk-pixbuf", which gives me the xscreensaver-demo frontend.  However, that pull in gdk-pixbuf[X], which provides the deprecated gdk-pixbuf-xlib, and the latest gdk-pixbuf-2.42.0 no longer provides gdk-pixbuf-xlib and thus on gentoo loses USE=X which toggled its build, so to upgrade to the gdk-pixbuf-2.42.0 I have to set USE=-gdk-pixbuf for xscreensaver, which loses the xscreensaver-demo GUI frontend.  xscreensaver's upstream maintainer is uninterested in doing the work to port away from gdk-pixbuf-xlib tho he says he'll take patches, so the assumption must be that once older gtk-pixbuf versions are no longer available in gentoo, the xscreensaver ebuild will simply hardcode-off the present USE=gdk-pixbuf and the xscreensaver-demo frontend with it.  Thus the search for an alternative xscreensaver GUI frontend, leading to this bug when I tried xfce4-screensaver only to have it fail build.
Comment 1 Duncan 2020-11-11 18:26:45 UTC
So since I got it to install with USE=locker I've runtime-tested it a bit.

Despite the (apparently correct) lines in the ebuild pointing it at the xscreensaver hackdir, etc, it doesn't see the xscreensaver hacks.  Is it supposed to?

... Answered my own question with an ebuild prepare and then running ./configure --help in the build dir:

--with-xscreensaverdir=dir
Use xscreensaver hack configs found in directory
--with-xscreensaverhackdir=dir
Look for xscreensaver hack executables in directory

... So the answer seems to be yes, it's supposed to be able to see and run the xscreensaver hacks.

But it doesn't, or at least xfce4-screensaver-preferences doesn't list them, which is what I was after.  All it lists are the couple native xfce4-screensaver hacks.  xfce4-screensaver-configure <hack> will load the hack config, however.

If xfce4-screensaver-preferences is supposed to list xscreensaver hacks too, that's another bug and I can file it as such.  But is it supposed to?  Else what is the point of being able to configure what it doesn't appear to be able to run?
Comment 2 Jonas Stein gentoo-dev 2020-11-11 21:58:06 UTC
Please paste the emerge --info
Comment 3 Duncan 2020-11-14 00:35:02 UTC
Created attachment 671290 [details]
emerge --info xfce4-screensaver

(In reply to Jonas Stein from comment #2)
> Please paste the emerge --info

emerge --info xfce4-screensaver
Comment 4 Duncan 2022-06-18 07:04:54 UTC
Cleaning up old bugs:  Reported version is no longer in-tree and I no longer have the package merged in any case, so marking RESOLVED/OBSOLETE.