# Upgrading xscreensaver



## lyuts (Oct 20, 2010)

Hi guys,

I'm facing an issue with upgrading xscreensaver. Here is how I do this:

`$ portmaster -di xscreensaver`

The configuring succeeds and the compilation starts, but soon it fails with the following error:


```
cc -pedantic -Wall -Wstrict-prototypes -Wnested-externs -Wmissing-prototypes
-Wno-overlength-strings -Wdeclaration-after-statement -std=c89 -U__STRICT_ANSI__ -c
-I. -I. -I./../../utils -I./.. -I../..  -D_THREAD_SAFE -D_REENTRANT
-I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0
-I/usr/local/include/cairo -I/usr/local/include/pango-1.0
-I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/usr/local/include/glib-2.0
-I/usr/local/lib/glib-2.0/include -I/usr/local/include/pixman-1
-I/usr/local/include/freetype2 -I/usr/local/include/libxml2
-I/usr/local/include/libglade-2.0   -D_REENTRANT -I/usr/local/include/gtk-2.0
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include
-DSTANDALONE -DUSE_GL -DHAVE_CONFIG_H -O -pipe -march=prescott -I/usr/local/include
-I/usr/local/include/gnome-xml -I/usr/local/include surfaces.c
In file included from ./../xlockmore.h:39,
                 from surfaces.c:49:
/usr/local/include/GL/glu.h:287: warning: function declaration isn't a prototype
surfaces.c: In function 'draw_surface':
surfaces.c:652: internal compiler error: in assign_386_stack_local, at config/i386/i386.c:13484
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
gmake[1]: *** [surfaces.o] ÐžÑˆÐ¸Ð±ÐºÐ° 1
gmake[1]: Leaving directory `/usr/ports/x11/xscreensaver/work/xscreensaver-5.12/hacks/glx'
gmake: *** [all] ÐžÑˆÐ¸Ð±ÐºÐ° 5
*** Error code 1

Stop in /usr/ports/x11/xscreensaver.
*** Error code 1

Stop in /usr/ports/x11/xscreensaver.

===>>> make failed for x11/xscreensaver
===>>> Aborting update
```

The interesting thing is that the same precise error occurred while updating previous versions of xscreensaver, 5.10 and 5.11. As a workaround I use packages when they come out. But this error still worries me. Has anybody come across this error and how can it be fixed?

I'm not sure if this matters but just in case here is how this port is configured.


```
===> The following configuration options are available for xscreensaver-5.12:
     KERBEROS=off "Add support for kerberos"
     PAM=off "Add support for pam authentication"
     SETUID_HACKS=off "Install sonar hack suid so it can ping"
     FIREF=off "Add extra port x11/fireflies"
     XAOS1=off "Add extra port graphics/xaos"
     XDALI=off "Add extra port x11-clocks/xdaliclock"
     XURTH=off "Add extra port astro/xearth"
     XMOUN=off "Add extra port graphics/xmountains"
     XPLAN=off "Add extra port astro/xplanet"
     XSNOW=off "Add extra port x11/xsnow"
===> Use 'make config' to modify these settings
```

Thanks in advance.


----------



## DutchDaemon (Oct 20, 2010)

Run [cmd=]make rmconfig[/cmd] to make sure (you're showing the options, not the possibly configured options, it seems). I have never had trouble with this port with its default config.


----------



## lyuts (Oct 21, 2010)

Still no luck. I cleared the config, reconfigured and tried to rebuild, but I'm still getting the same error.


----------



## DutchDaemon (Oct 21, 2010)

Is the rest of your installed ports currently up to date? This should always be the case before one attempts to install new ports (including the specifics in /usr/ports/UPDATING).


----------



## qsecofr (Oct 21, 2010)

What's in /etc/make.conf?  I had a similar issue with xscreensaver failing to build.  I googled and I think my issue related to CFLAGS having either an incompatible -O or -pipe options.  (system not accessible to me at the moment, so relying on memory)  I commented out CFLAGS entirely and went with the system default values.


----------



## SIFE (Oct 21, 2010)

Try to comment out CFLAGS in your /etc/make.conf.


----------



## lyuts (Oct 22, 2010)

DutchDaemon said:
			
		

> Is the rest of your installed ports currently up to date? This should always be the case before one attempts to install new ports (including the specifics in /usr/ports/UPDATING).



Yes, I have all other ports up to date and I do follow the instructions in /usr/ports/UPDATING.


----------



## lyuts (Oct 22, 2010)

qsecofr said:
			
		

> What's in /etc/make.conf?  I had a similar issue with xscreensaver failing to build.  I googled and I think my issue related to CFLAGS having either an incompatible -O or -pipe options.  (system not accessible to me at the moment, so relying on memory)  I commented out CFLAGS entirely and went with the system default values.



I don't remember modifying /etc/make.conf but I will take a look at it as soon as I get home.


----------



## lyuts (Oct 22, 2010)

My /etc/make.conf is as follows:


```
CFLAGS= -O -pipe
#avoid compiling profiled libraries
NO_PROFILE=true                                                                                
CPUTYPE?=core2
# added by use.perl 2010-10-16 18:32:28
PERL_VERSION=5.12.2
```

I removed CFLAGS and tried to compile x11/xcreensaver again. This time everything went ok.

So you are suggesting to leave make.conf without CFLAGS?


----------



## lyuts (Oct 22, 2010)

I found this problem mentioned in thisfreebsd mailing list.


----------



## wblock@ (Oct 22, 2010)

lyuts said:
			
		

> My /etc/make.conf is as follows:
> 
> 
> ```
> ...



YES.  Setting CFLAGS offers little or no benefit and causes more than a few problems.  Whoever advised you to set CFLAGS would have told you this, except they couldn't post because their system was broken due to setting CFLAGS.


----------



## lyuts (Oct 23, 2010)

wblock said:
			
		

> YES.  Setting CFLAGS offers little or no benefit and causes more than a few problems.  Whoever advised you to set CFLAGS would have told you this, except they couldn't post because their system was broken due to setting CFLAGS.



Noone advised be to set CFLAGS that way. I didn't touch /etc/make.conf at all. After upgrading my system to 8.1 a picked the new file when running mergemaster. The only modification was done, as it appears, by perl port. Anyway, I will keep in mind what you said.


----------

