Bug 156906 - xscreensaver puts $libexecdir in configuration file instead of /usr/libexec
Summary: xscreensaver puts $libexecdir in configuration file instead of /usr/libexec
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: xscreensaver
Version: 4
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: FC4Blocker
TreeView+ depends on / blocked
 
Reported: 2005-05-05 03:43 UTC by Kyle Pointer
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-05-11 19:48:41 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
XScreenSaver Preferences File (17.40 KB, application/octet-stream)
2005-05-06 10:29 UTC, cameleon078
no flags Details
Working xscreensaver config file. (10.82 KB, text/plain)
2005-05-08 14:30 UTC, Kyle Pointer
no flags Details

Description Kyle Pointer 2005-05-05 03:43:28 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050416 Fedora/1.0.3-2 Firefox/1.0.3

Description of problem:
[kyle@fluffbox ~]$ xscreensaver-demo
xscreensaver-demo: 22:34:32: Gtk-critical: gtk_list_store_get_path: assertion `iter->stamp == GTK_LIST_STORE (tree_model)->stamp' failed

Looks to me like someone made a booboo. :) 
This looks like a little problem with the a gtk list variable. 
I'd help but I don't know enough GTK... or anything else starting with G....
:)
-- Kyle

Version-Release number of selected component (if applicable):
xscreensaver-4.21

How reproducible:
Always

Steps to Reproduce:
1. install fc4t2
2. up2date everything
3. run xscreensaver-demo
4. notice there are no screensavers listed 
  

Actual Results:  There are no screensavers listed. 

Expected Results:  I would have prefered to see my screensavers. :)

Additional info:

I think its just a bug with the variable that the list is kept in. But I'm not  sure.

Comment 1 Ray Strode [halfline] 2005-05-05 04:26:03 UTC
xscreensaver-base doesn't install any screensavers by default.

Do you have xscreensaver-extras or xscreensaver-gl-extras installed?

Comment 2 Kyle Pointer 2005-05-05 12:02:12 UTC
Yep. I have all the latest xscreensaver packages installed. :)

Comment 3 Ray Strode [halfline] 2005-05-05 15:56:55 UTC
Hmm, I can't reproduce this problem.

The console warning you are seeing is a result of there being no screensavers in
the list not the reason there are no screensavers in the list.

If you force reinstall xscreensaver-extras (and/or gl-extras) does it fix the
problem for you?

Comment 4 Kyle Pointer 2005-05-05 20:50:07 UTC
Still no screensavers. :(
I did a : rpm -e xscreensaver-base xscreensaver-extras xscreensaver-gl-extras
Then a yum install xscreensaver-base xscreensaver-extras xscreensaver-gl-extras
and I still have no screensavers listed. :( 


Comment 5 Ray Strode [halfline] 2005-05-05 21:37:09 UTC
What if you move your ~/.xscreensaver file out of the way?

what is the output of rpm -V xscreensaver-base xscreensaver-extras
xscreensaver-gl-extras ?

Comment 6 cameleon078 2005-05-06 10:29:15 UTC
Created attachment 114076 [details]
XScreenSaver Preferences File

I have the same problem so I send this file

Comment 7 Kyle Pointer 2005-05-06 21:28:32 UTC
1. I have tried removing .xscreensaver and nothing changed didn't work. 
2. I re-installed Fedora then yum -y update'd 
3. rpm -V..... gives no output. 

I'll try your uploaded file thanks. 

Comment 8 Kyle Pointer 2005-05-07 05:09:00 UTC
I reinstalled Fedora Core 4 again. 
I am using up2date-nox -u to update. 
That uploaded file didn't work. I really do with I knew where my screensavers
went. :(
I'm really surprised you can't reproduce this Ray. :-s

Comment 9 cameleon078 2005-05-07 13:59:40 UTC
I think that the problem is located here in the demo-Gtk.c file :

3331 j = 0;
3333 for (i = 0; i < p->screenhacks_count; i++)
3334    {
3335      if (!p->ignore_uninstalled_p ||
3336          s->hacks_available_p[i]) {
3337        s->list_elt_to_hack_number[j++] = i;
3338      }
3339    }
3340 s->list_count = j;

After that, s->list_count = 0 (j = 0). But it shoult contains the number of
screensaver available. So I will take a look why j=0.

Comment 10 cameleon078 2005-05-07 16:23:20 UTC
This function check if the different screensaver are present :

for (i = 0; i < p->screenhacks_count; i++)
   {
      screenhack *hack = p->screenhacks[i];
      s->hacks_available_p[i] = on_path_p (hack->command);
    }

So the mistake is in the on_path_p function.
For example, the parameter hash->command are like this :
${libexecdir}/xscreensaver/qix -root -solid -segments 100
${libexecdir}/xscreensaver/qix -root -count 4 -solid -transparent
...
sphereEversion --root

In the function on_path_p :
if (strchr (cmd, '/'))
    {
      result = (0 == stat (cmd, &st));
      goto DONE;
    }

so with cmd = "${libexecdir}/xscreensaver/qix -root -solid -segments 100" for
example the result = 0 because strchr(cmd, '/') = "/xscreensaver/qix".
I hope I was clear in my explanation.

Comment 11 Kyle Pointer 2005-05-07 16:32:45 UTC
Cool. So now that we ( or better yet... you ) know what the problem is. 
Do you have any idea when the fix will make its way into rawhide?


Comment 12 Kyle Pointer 2005-05-08 02:00:31 UTC
Ok. I'm pretty sure what the deal is. Your explination makes sense. They made a
booboo in the the default configuration file. :)
I copied my .xscreensaver to ~/xscreensaver . 
Then it remade it and didn't have a list. I then copied ~/xscreensaver to
~/.xscreensaver and it works fine again. 
Hope that helps! :D

Comment 13 cameleon078 2005-05-08 10:14:36 UTC
Exactly ! The xscreensaver configuration file is composed of
"${libexecdir}/xscreensaver/qix ..." instead of "/usr/libexec/xscreensaver/qix
...". Good work !

Comment 14 Kyle Pointer 2005-05-08 14:30:54 UTC
Created attachment 114140 [details]
Working xscreensaver config file. 

Put this in your home directory and start xscreensaver-demo. 
Then xscreensaver should work fine. :-D 
-- kyle

Comment 15 Ray Strode [halfline] 2005-05-09 13:48:58 UTC
Oh geez.
I'll fix this.  Sorry about that guys.

Comment 18 Jim Cornette 2005-06-08 11:13:33 UTC
This problem happens until you upgrade xscreensaver-* and then remove the
.xscreensaver file that was made when you had the FC4T3 version installed.

The latest version fixes the problem. It still shows blank until file is removed
and recreated with the newer version

xscreensaver-gl-extras-4.21-4
xscreensaver-extras-4.21-4
xscreensaver-base-4.21-4

Comment 19 Marc Salverson 2005-12-19 20:47:26 UTC
I had the same error.

However MY problem turned out to be permissions of 740 instead of 755 on
/usr/libexec/xscreensaver


Note You need to log in before you can comment on or make changes to this bug.