Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 20940 - xscreensaver does build - complains about no Gtk
Summary: xscreensaver does build - complains about no Gtk
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Alastair Tse (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-13 10:55 UTC by Mark Knecht
Modified: 2003-05-27 05:04 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Knecht 2003-05-13 10:55:24 UTC
On a system with very little software and no major desktop installed (only 
fluxbox) emerge xscreensaver fails to compile the demo program and bombs out 
with missing symbols. There is a warning message about no Motif or Gtk being 
installed.

Reproducible: Always
Steps to Reproduce:
1. Stage 3 build
2. emerge fluxbox
3. emerge xscreensaver

Actual Results:  
In the emerge it fails like this:

<SNIP>
gcc -Wall -Wstrict-prototypes -Wnested-externs -Wno-format -std=c89
-U__STRICT_ANSI__ -L/usr/lib -o xscreensaver-demo-Xm prefs.o dpms.o
remote.o exec.o ../utils/resources.o ../utils/usleep.o ../utils/visual.o
demo-Xm.o demo-Xm-widgets.o  -L/usr/X11R6/lib \
-L/usr/lib -lgdk_pixbuf -lgdk_pixbuf_xlib -L/usr/lib -L/usr/X11R6/lib
-lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm -lXmu 
-lSM -lICE -lXt -lX11 \
 -lXext 
/usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/../../../crt1.o(.text+0x18): In
function `_start':
: undefined reference to `main'
prefs.o(.text+0x7a): In function `init_file_name':

<SNIP>

collect2: ld returned 1 exit status
make[1]: *** [xscreensaver-demo-Xm] Error 1
make[1]: Leaving directory
`/var/tmp/portage/xscreensaver-4.05-r3/work/xscreensaver-4.05/driver'
make: *** [default] Error 5

!!! ERROR: x11-misc/xscreensaver-4.05-r3 failed.
!!! Function src_compile, Line 82, Exitcode 2
!!! (no error message)


I also notice up higher that there was a warning message:

<SNIP>
    #################################################################

    Warning: Neither Motif nor Gtk seem to be available;
             the `xscreensaver-demo' program requires one of these.

    Warning: Unable to determine the MesaGL version number!
             Make sure you are using version 3.4 or newer.

    #################################################################
<SNIP>

   
emerge -vp xscreensaver responds:

Wizard bin # emerge -vp xscreensaver

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N   ] x11-misc/xscreensaver-4.05-r3  +pam -gtk +motif -gnome
+opengl 



Expected Results:  
If xscreensaver requires Gtk, then I would have expected it to emerge that at 
the same time, or give me a message aobu twhat I needed to do.
Comment 1 aethyr 2003-05-14 04:25:55 UTC
can you see what the output of

`emerge -p motif` is?

If motif isn't installed, suspect it might have been possible that it couldn't find the motif tarball on one of the sites and skipped that step of the installation.
Comment 2 Mark Knecht 2003-05-14 15:31:22 UTC
Wizard root # emerge -p motif

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R  ] x11-libs/openmotif-2.2.2-r1  

For kicks I then emerged motif. It installed without error as far as I could see, but emerge xscreensaver still failed. I notice that the message says it cannot find Motif, while this seems to install 'openmotif'. I doubt that's an issue, but I'm a newbie, so what do I know...

    #################################################################

    Warning: Neither Motif nor Gtk seem to be available;
             the `xscreensaver-demo' program requires one of these.

    Warning: Unable to determine the MesaGL version number!
             Make sure you are using version 3.4 or newer.

    #################################################################

Could this have anything to do with my XFree86 installation? I have had to rebuild it a few times to get 3D acceleration working on my Radeon 9000. I notice the file that's actually failing is:

/usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/../../../crt1.o

/usr/lib/crt1.o does exist. Why would symbols not match up? (How do I view the symbols an object file is exporting?
Comment 3 Seemant Kulleen (RETIRED) gentoo-dev 2003-05-15 03:33:43 UTC
gcc-config i586-pc-linux-gnu

env-update
source /etc/profile

then try the emerge again, please
Comment 4 Mark Knecht 2003-05-15 15:30:48 UTC
Wizard root # gcc-config i586-pc-linux-gnu
 * /usr/bin/gcc-config: Profile does not exist!
Wizard root # gcc-config i586-pc-linux-gnu
 * /usr/bin/gcc-config: Profile does not exist!
Wizard root # 


And then it still fails the emerge xscreensaver step later.

I'll check my office machine to see what's in that file, but why would this machine not have one?

Thanks!
Comment 5 Mark Knecht 2003-05-15 15:46:40 UTC
FYI - I checked the office machine where xscreensaver did install and it gives me the same message:

Gentoo1 postfix # gcc-config i586-pc-linux-gnu
 * /usr/bin/gcc-config: Profile does not exist!
Comment 6 Mark Knecht 2003-05-15 15:55:13 UTC
This is all from the machine that worked. Possibly I needed to use 

gcc-config i586-pc-linux-gnu-3.2.2

That command passes on this machine. I'll try the machine that failed later this evening. Thanks!


gentoo1 postfix # gcc-config --print-environ
export 
PATH="/usr/i586-pc-linux-gnu/gcc-bin/3.2:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/opt/bin:/usr/i586-pc-linux-gnu/gcc-bin/3.2:/usr/X11R6/bin:/opt/blackdown-jre-1.4.1/bin:/usr/qt/3/bin:/usr/kde/3.1/sbin:/usr/kde/3.1/bin"
export CC="gcc"
export CXX="g++"
gentoo1 postfix #


gentoo1 postfix # gcc-config --list-profiles
i586-pc-linux-gnu-3.2.2
gentoo1 postfix #

gentoo1 postfix # gcc-config --get-bin-path
/usr/i586-pc-linux-gnu/gcc-bin/3.2
gentoo1 postfix #

gentoo1 postfix # gcc-config --get-lib-path
/usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2
gentoo1 postfix #

gentoo1 postfix # gcc-config --get-current-profile
i586-pc-linux-gnu-3.2.2
gentoo1 postfix #

Comment 7 Mark Knecht 2003-05-15 20:13:37 UTC
I tried the whole process again on the machine that fails. I used the i586-pc-linux-gnu-3.2.2 profile. The text of what happens follows at the end.

Wizard root # gcc-config i586-pc-linux-gnu-3.2.2
 * Switching to i586-pc-linux-gnu-3.2.2 compiler...                                                    [ ok ]
Wizard root # env-update
>>> Regenerating /etc/ld.so.cache...
Wizard root # source /etc/profile
Wizard root # emerge motif
<SNIP>
 x11-libs/openmotif
    selected: none
   protected: 2.2.2-r1
     omitted: none

>>> clean: No packages selected for removal.

>>> Regenerating /etc/ld.so.cache...
>>> Auto-cleaning packages ...

>>> No outdated packages were found on your system.


 * GNU info directory index is up-to-date.

Wizard root # emerge xscreensaver

<SNIP>

gcc -Wall -Wstrict-prototypes -Wnested-externs -Wno-format -std=c89 -U__STRICT_ANSI__ -L/usr/lib -o xscreensaver-demo-Xm prefs.o dpms.o remote.o exec.o ../utils/resources.o ../utils/usleep.o ../utils/visual.o demo-Xm.o demo-Xm-widgets.o  -L/usr/X11R6/lib \
-L/usr/lib -lgdk_pixbuf -lgdk_pixbuf_xlib -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm -lXmu  -lSM -lICE -lXt -lX11 \
 -lXext 
/usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/../../../crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
prefs.o(.text+0x7a): In function `init_file_name':
: undefined reerence to `blurb'

<SNIP>

collect2: ld returned 1 exit status
make[1]: *** [xscreensaver-demo-Xm] Error 1
make[1]: Leaving directory `/var/tmp/portage/xscreensaver-4.05-r3/work/xscreensaver-4.05/driver'
make: *** [default] Error 5

!!! ERROR: x11-misc/xscreensaver-4.05-r3 failed.
!!! Function src_compile, Line 82, Exitcode 2
!!! (no error message)

Wizard root # 
Comment 8 Mark Knecht 2003-05-15 20:17:27 UTC
One other interesting thing. The file that fails is /usr/lib/crt1.o, built April 8th.

Wizard lib # ls -al crt*.o
-rw-r--r--    1 root     root         1136 Apr  8 17:58 crt1.o
-rw-r--r--    1 root     root         1888 Apr  8 17:58 crti.o
-rw-r--r--    1 root     root         1456 Apr  8 17:58 crtn.o

I started bringing this machine up on April 30th:

Wizard lib # ls -al /boot/
total 4724
drwxr-xr-x    4 root     root         1024 May  8 17:08 .
drwxr-xr-x   17 root     root         4096 May  5 20:52 ..
lrwxrwxrwx    1 root     root            1 Apr 30 09:44 boot -> .
-rw-r--r--    1 root     root      1197910 Apr 30 11:02 bzImage
-rw-r--r--    1 root     root      1203152 May  5 20:45 bzImage_DRITEST
-rw-r--r--    1 root     root      1203726 May  6 18:04 bzImage_apmDRITEST
-rw-r--r--    1 root     root      1188080 May  8 17:08 bzImage_apmDRITEST2
drwxr-xr-x    2 root     root         1024 Apr 30 19:40 grub
drwx------    2 root     root        12288 Apr 30 09:34 lost+found
Wizard lib # 


This means the crt1.o file was not built by me, but was part of the original stage 3 build, correct?
Comment 9 Mark Knecht 2003-05-16 23:57:42 UTC
OK, this is understood. In debugging of another program I was having trouble with, I noticed that my global USE flages were -gtk. This apparently doesn't cause the xscreensaver to override, but does case it to fail. I changed the global flag to 'gtk' and xscreensaver builds and runs.

Sorry for the use of bandwidth. 
Comment 10 Seemant Kulleen (RETIRED) gentoo-dev 2003-05-17 00:14:40 UTC
not a waste of bandwidth at all. in fact, you've brought to light a flaw in the ebuild.
Comment 11 Mark Knecht 2003-05-18 18:16:54 UTC
OK then, glad this helped somehow. Thanks for sticking with me while I learned a bit. This Linux stuff is hard for us non-software backgroud, user-oriented people.
Comment 12 Alastair Tse (RETIRED) gentoo-dev 2003-05-27 05:04:31 UTC
i've cleaned up the deps now in xscreensaver and this should now be fixed.