Version: 3.4.0 (using KDE KDE 3.4.0) Installed from: Compiled From Sources Compiler: gcc 3.4.3 OS: Linux configure doesn't look for the right dirs, here a small workaround for the problem: sed -i -e's=lib/xscreensaver/flame=libexec/xscreensaver/flame=g' configure
I can confirm this problem. xscreensaver-4.21 by default installs the screensavers under PREFIX/libexec/xscreensaver , and not under PREFIX/lib/xscreensaver anymore. Unfortunately, kdeartwork doesn't check that directory in configure. This means that people upgrading to xscreensaver-4.21 won't be able to configure/use the x-screensavers from KDE control panel anymore (that happened to me too). And users that compile kdeartwork after installing xscreensaver-4.21, will receive the message "you don't have xscreensaver" at configure time. The problem can be solved by user by modifying the configure script (like suggested by the bug reporter). Kdeartwork developers may want to add the new directory check in configure.in. This can be done by nesting another KDE_FIND_PATH, this way: --- kdeartwork-3.4.0/configure.in 2005-03-04 13:10:15.000000000 +0100 +++ x/configure.in 2005-05-27 16:21:09.000000000 +0200 @@ -185,7 +185,11 @@ KDE_FIND_PATH(hacks/flame, XSCREENSAVER, [ $xscreensaver_prefixes ], [ - XSCREENSAVER=NO + KDE_FIND_PATH(libexec/xscreensaver/flame, XSCREENSAVER, + [ $xscreensaver_prefixes ], + [ + XSCREENSAVER=NO + ]) ]) ]) ])
XScreenSaver 4.21 has been out since March, 2005. Yet this bug has crept into kdeartwork-3.4.1, with the fix being a simple 10-second change to the configure script. Is anyone working on this?
Hello, I just updated to KDE 3.4.1, using Fedora RPMs, and am noticing that the xscreensavers are missing from the KDE screensaver setup window. I created a link /usr/lib/xscreensaver that points to /usr/libexec/xscreensaver but this didn't help. I was wondering if re-installing the kdeartwork rpm might do the job? Thank you!
There's an open bug about it RedHat's bugzilla: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161312 But I believe it's a specific RedHat-KDE problem and not a KDE 3.4.x problem.
This problem is NOT specific to RedHat-KDE. It is a KDE 3.x problem that exists due to a change in the XScreenSaver paths since version 4.21. It is a simple bug in the configure script for kdeartwork, and can be fixed in 10 seconds -- or 20 seconds if the programmer is a slow typist.
It works for me already on FreeBSD with xscreensaver 4.21. I am therefore not able to determine the correctness of any such patch.
The patch would simply be adding /usr/libexec/xscreensaver to the path listing that is used in ./configure to find the XScreenSaver hacks. If ./configure is finding your XScreenSaver-4.21 hacks, then you have a non-standard installation of XScreenSaver. I will be happy to test out a modified ./configure patch for kdeartwork.
Created attachment 11624 [details] fix search path(s) for recent xscreensaver (+lib64) Here's the patch we've used (since kdeartwork-3.4.0) for the kde-redhat project. See also bug #57630 for similar issues
Confirmed (for Fedora Core 3/4, RHEL 4 at least)
I think I have the same problem here with KDE from SVN. configure was looking for: checking for lib/xscreensaver/flame... not found checking for lib/xscreensaver/flame... (cached) not found checking for bin/xscreensaver-hacks/flame... not found checking for hacks/flame... not found But I have flame on my system (Gentoo AMD64 with xscreensaver 4.22) in: /usr/lib/misc/xscreensaver/flame
Jure, The new default location for the xscreensaver hacks is /usr/libexec/xscreensaver, which is what needs to be added to the configure script. Your location, /usr/lib/misc/xscreensaver, sounds like a distro-specific customization. I've never heard of a /usr/lib/misc/ directory. In any case, the configure script for kdeartwork should probably support an option for the user to specify exactly where the xscreensaver hack directory is located.
Bug about his on bugs.gentoo.org: http://bugs.gentoo.org/show_bug.cgi?id=98819
Created attachment 11819 [details] xscreensaver-check.patch Hi, the patch above modifies the xscreensaver check so that it looks also in /usr/libexec, adds --with-screensaver-dir and --with-screensaver-config switches to manually specify the location of xscreensaver files, and does a bit of cleanup. Hope that helps.
Created attachment 12178 [details] xscreensaver-configure.patch The current check as well as my patch in comment #13 suffer from a problem reported in bug 109462: the KDE_FIND_PATH() macro does nothing if the XSCREENSAVER variable is already defined (it is defined to NO at the beginning). AC_FIND_FILE() does not have this problem. The attachment patch is a refinement of the previous one that fixes this issue, too.
*** Bug 109462 has been marked as a duplicate of this bug. ***
A commit from mpyne fixed most of these issues. Now adding /usr/libexec/xscreensaver to the list of paths to search is enough to close the bug.
SVN commit 460471 by mpyne: Fix bug 105748 (xscreensaver-4.21 changed dir structure) by adding /usr/libexec/xscreensaver to list of paths to search. If I was 100% certain I could do it correctly I'd also add --with-xscreensaver-dir= so that this problem won't come up again. BUG:105748 M +1 -1 configure.in.in --- branches/KDE/3.5/kdeartwork/kscreensaver/kxsconfig/configure.in.in #460470:460471 @@ -32,6 +32,7 @@ if test "x$with_xscreensaver" != xno; then for xsdir in lib$kdelibsuff/xscreensaver lib/xscreensaver \ lib$kdelibsuff/misc/xscreensaver lib/misc/xscreensaver \ + libexec$kdelibsuff/xscreensaver libexec/xscreensaver \ bin/xscreensaver-hacks hacks; do test -n "$XSCREENSAVER" && break KDE_FIND_PATH("$xsdir/flame", XSCREENSAVER, [ $xscreensaver_prefixes ]) @@ -52,7 +53,6 @@ for subdir in lib/xscreensaver/config \ lib/X11/xscreensaver/config \ share/control-center/screensavers \ - share/control-center/screensavers \ share/xscreensaver/config \ xscreensaver \ config/control-center-2.0; do
I noticed that after the last commits there's a small cosmetic issue in configure.in.bot. You may want to apply this one-liner: --- configure.in.bot (revision 468475) +++ configure.in.bot (working copy) @@ -1,4 +1,4 @@ -if test "x$with_xscreensaver" = xcheck && test "$XSCREENSAVER" = "NO"; then +if test "x$with_xscreensaver" = xcheck && test "x$XSCREENSAVER" = x; then echo "" echo "xscreensaver could not be detected on your system." echo "Check www.jwz.org/xscreensaver if you're loving to"
> --- configure.in.bot (revision 468475) > +++ configure.in.bot (working copy) > @ -1,4 +1,4 @ > -if test "x$with_xscreensaver" = xcheck && test "$XSCREENSAVER" = "NO"; > then +if test "x$with_xscreensaver" = xcheck && test "x$XSCREENSAVER" = x; > then echo "" > echo "xscreensaver could not be detected on your system." > echo "Check www.jwz.org/xscreensaver if you're loving to" I don't understand that patch - XSCREENSAVER is set to NO if it's not found Greetings, Stephan