# Can't buildworld on RC2



## Shura (Nov 4, 2009)

I have got installed 8.0-RC1 and wanted to update to 8.0-RC2.
I've updated sources via 'cvsup -g -L2 stable-supfile' with tag=RELENG_8, all sources was updated successfully. After it I tried to compile world, but unsuccessful:

```
/usr/local/libexec/ccache/world-cc -O3  -DNEED_SOLARIS_BOOLEAN -I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/compat/opensolaris  
-I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/compat/opensolaris/include  -I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib
/opensolaris  -I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/contrib/opensolaris  -I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl
/contrib/opensolaris/head  -I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/common  -I/usr/src/cddl/usr.bin
/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt  -I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/contrib/opensolaris
/uts/common -DNEED_SOLARIS_BOOLEAN -g -std=gnu89 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter 
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-
parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -Wno-unknown-pragmas -c /usr/src/cddl/usr.bin
/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c
cc1: warnings being treated as errors                                           
/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c: In function 'tdefdecl':                                            
/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c:779: warning: 'width' may be used uninitialized in 
this function    
/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c:779: note: 'width' was declared here                                
*** Error code 1                                                                

Stop in /usr/src/cddl/usr.bin/ctfconvert.
*** Error code 1                         

Stop in /usr/src/cddl/usr.bin.
*** Error code 1              

Stop in /usr/src/cddl.
*** Error code 1      

Stop in /usr/src.
*** Error code 1 

Stop in /usr/src.
*** Error code 1 

Stop in /usr/src.
```

Please help.


----------



## dennylin93 (Nov 4, 2009)

Did you clean /usr/obj/ before attempting again? Try buildworld without devel/ccache as well.


----------



## LateNiteTV (Nov 4, 2009)

ccache has given me problems a number of times when trying to build world.


----------



## DutchDaemon (Nov 4, 2009)

Always run `# make cleanworld` in /usr/src before you start building from newer sources.


----------



## Shura (Nov 4, 2009)

Thank you, I'll try it.


----------



## crsd (Nov 4, 2009)

DutchDaemon said:
			
		

> Always run `# make cleanworld` in /usr/src before you start building from newer sources.



Can you elaborate? 'cleandir' is run anyway, and why "always"?


----------



## Shura (Nov 4, 2009)

Nothing changed.
I did not use ccache and cleaned /usr/obj, but it have not helped.


----------



## DutchDaemon (Nov 4, 2009)

crsd said:
			
		

> Can you elaborate? 'cleandir' is run anyway, and why "always"?



I think 'cleandir' cleans /usr/src, not /usr/obj, and the latter causes build problems when containing old or failed code. I'm not sure about 'cleandir is run anyway'. I don't see 'buildworld' invoking it. That one starts building straight away, whatever's in /usr/src or /usr/obj.

And by "always" I meant what I said: when building world from newer sources since the last time /usr/obj was populated, especially when the last build failed.

So if I'm not rebuilding world or kernel from unchanged (since the last build) sources, I start off with 'cleanworld' and 'cleandir' to get a pristine working environment.


----------



## jb_fvwm2 (Nov 4, 2009)

I've tended to use 
	
	



```
/bin/rm -rf /usr/obj
```
(I've rm aliased to just a message, thus less
type-too-quickly errors, 5 extra characters adds up.)


----------



## Shura (Nov 6, 2009)

Anybody has more ideas?


----------



## FBSDin20Steps (Nov 6, 2009)

Did you use the make -jx option?


----------



## Shura (Nov 6, 2009)

no, I didn't


----------



## FBSDin20Steps (Nov 6, 2009)

Update your source and rehash. Make sure you don't run any other applications. It's better to leave a windowmanager alone.

Now...

```
cd /usr/src
make cleanworld
make buildworld
make buildkernel KERNCONF=GENERIC (use GENERIC first. You can always do a customized kernelbuild later)
make installkernel KERNCONF=GENERIC
reboot
```

In single user mode do the following:


```
adjkerntz -i
mount -a
swapon -a
cd /usr/src
mergemaster -p
make installworld
mergemaster -iU (use 'd' to delete and 'yes' to delete what is left in temp)
reboot
```

Boot normally into FreeBSD go to "/usr/src" and:


```
make delete-old   
make delete-old-libs
rehash
```

That's it really... your done.


----------



## Shura (Nov 7, 2009)

*FBSDin20Steps*
I did:

```
rm -rf /usr/src
cvsup -L 2 stable-supfile
cd /usr/src
make cleanworld
make buildworld
[here is compilation for about one hour]
[here is error from my first post]
```


----------



## dbi (Nov 8, 2009)

Are you using a "clean" environment?
Try to compile it with empty /etc/src.conf /etc/make.conf and with sh:


```
mv /etc/make.conf /etc/make.conf-clean
mv /etc/src.conf /etc/src.conf-clean
exec /bin/sh
cd /usr/src/
<build>
```


----------



## Shura (Nov 8, 2009)

I've updated via 'sysinstall' already.
So, topic is not actual more...


----------

