# Upgrade 8.0 to 8.1 ... now serious problems



## amygrant (Nov 23, 2010)

Hello, 

I knew I should not have done the 8.0 -> 8.1 upgrade while I was tired and now I am stuck. I upgrade to 8.1-Release following the directions at http://www.freebsd.org/releases/8.1R/announce.html

After the first reboot, I got this:


```
www# freebsd-update install
Installing updates...ln: ///usr/share/man/cat3/bsde_add_rule.3.gz: No such file or directory
ln: ///usr/share/man/cat3/bsde_add_rule.3.gz: No such file or directory
ln: ///usr/share/man/cat3/bsde_add_rule.3.gz: No such file or directory
ln: ///usr/share/man/cat3/finite.3.gz: No such file or directory
ln: ///usr/share/man/cat3/finite.3.gz: No such file or directory
ln: ///usr/share/man/cat3/finite.3.gz: No such file or directory
ln: ///usr/share/man/cat3/finite.3.gz: No such file or directory
ln: ///usr/share/man/cat3/finite.3.gz: No such file or directory
ln: ///usr/share/man/cat8/named-checkzone.8.gz: No such file or directory
ln: ///usr/share/man/cat8/hoststat.8.gz: No such file or directory
install: ///usr/src/crypto/openssl/engines/alpha.opt: No such file or directory
install: ///usr/src/crypto/openssl/engines/ia64.opt: No such file or directory
install: ///usr/src/etc/devd/uath.conf: No such file or directory
install: ///usr/src/sbin/geom/class/cache/gcache.8: No such file or directory
install: ///usr/src/share/man/man4/man4.powerpc/adb.4: No such file or directory
install: ///usr/src/share/man/man4/man4.powerpc/akbd.4: No such file or directory
install: ///usr/src/share/man/man4/man4.powerpc/ams.4: No such file or directory
install: ///usr/src/share/man/man4/man4.powerpc/cuda.4: No such file or directory
install: ///usr/src/share/man/man4/man4.powerpc/smu.4: No such file or directory
install: ///usr/src/sys/cam/ata/ata_pmp.c: No such file or directory
install: ///usr/src/sys/cddl/compat/opensolaris/sys/taskq.h: No such file or directory
install: ///usr/src/sys/contrib/dev/acpica/executer/exdebug.c: No such file or directory
install: ///usr/src/sys/contrib/dev/acpica/include/actbl2.h: No such file or directory
install: ///usr/src/sys/contrib/dev/acpica/namespace/nsrepair.c: No such file or directory
install: ///usr/src/sys/contrib/dev/acpica/namespace/nsrepair2.c: No such file or directory
install: ///usr/src/sys/contrib/dev/acpica/utilities/utids.c: No such file or directory
install: ///usr/src/sys/contrib/dev/iwn/iwlwifi-1000-128.50.3.1.fw.uu: No such file or directory
install: ///usr/src/sys/contrib/dev/iwn/iwlwifi-4965-228.61.2.24.fw.uu: No such file or directory
install: ///usr/src/sys/contrib/dev/iwn/iwlwifi-5000-8.24.2.12.fw.uu: No such file or directory
install: ///usr/src/sys/contrib/dev/iwn/iwlwifi-5150-8.24.2.2.fw.uu: No such file or directory
install: ///usr/src/sys/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ah_eeprom_v4k.c: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ah_eeprom_v4k.h: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ar5416/ar9285.c: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ar5416/ar9285.h: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ar5416/ar9285.ini: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ar5416/ar9285_attach.c: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ar5416/ar9285_reset.c: No such file or directory
install: ///usr/src/sys/dev/ath/ath_hal/ar5416/ar9285v2.ini: No such file or directory
install: ///usr/src/sys/dev/cxgb/common/cxgb_aq100x.c: No such file or directory
install: ///usr/src/sys/dev/e1000/if_lem.c: No such file or directory
install: ///usr/src/sys/dev/e1000/if_lem.h: No such file or directory
install: ///usr/src/sys/dev/siba/siba_bwn.c: No such file or directory
install: ///usr/src/sys/dev/siba/siba_cc.c: No such file or directory
install: ///usr/src/sys/dev/siba/siba_core.c: No such file or directory
install: ///usr/src/sys/dev/usb/controller/ehcireg.h: No such file or directory
install: ///usr/src/sys/dev/usb/controller/ohcireg.h: No such file or directory
install: ///usr/src/sys/dev/usb/controller/uhcireg.h: No such file or directory
install: ///usr/src/sys/dev/usb/input/atp.c: No such file or directory
install: ///usr/src/sys/dev/usb/input/uep.c: No such file or directory
install: ///usr/src/sys/dev/usb/net/uhso.c: No such file or directory
install: ///usr/src/sys/dev/usb/wlan/if_run.c: No such file or directory
install: ///usr/src/sys/dev/usb/wlan/if_runreg.h: No such file or directory
install: ///usr/src/sys/dev/usb/wlan/if_runvar.h: No such file or directory
install: ///usr/src/sys/modules/iwnfw/Makefile.inc: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_heap.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_heap.h: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_sched.h: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_sched_fifo.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_sched_prio.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_sched_qfq.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_sched_rr.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dn_sched_wf2q.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/dummynet.txt: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_dn_glue.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_dn_io.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_dn_private.h: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_fw_dynamic.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_fw_log.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_fw_private.h: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_fw_sockopt.c: No such file or directory
install: ///usr/src/sys/netinet/ipfw/ip_fw_table.c: No such file or directory
install: ///usr/src/sys/sun4v/include/cmt.h: No such file or directory
install: ///usr/src/sys/sun4v/include/fireplane.h: No such file or directory
install: ///usr/src/sys/sun4v/include/jbus.h: No such file or directory
install: ///usr/src/usr.bin/procstat/procstat_sigs.c: No such file or directory
rmdir: ///usr/src/contrib/cpio: Directory not empty
 done.
```

I was doing this over ssh, was copying and pasting commands from the freebsd website. I accidentally pasted a "shutdown -r now" command, which then woke me up... but to my dismay the system already started rebooting. 

The server boots, I can SSH in but I have a few issues. This is a sandbox webserver so I tried to start apache and get this error:


```
/libexec/ld-elf.so.1: /usr/local/lib/libapr-1.so.4: Undefined symbol "__pselect"
```

After reading around online I figured I would just try rebuilding the world. I realized in my /etc/make.conf was this CFLAGS entry:

```
CFLAGS= -O2 -pipe -funroll-loops
Row 1    Col 1    1:21  Ctrl-K H for help
X11BASE=${LOCALBASE}
# added by use.perl 2010-11-22 00:58:31
PERL_VERSION=5.8.9
```

i deleted the CFLAGS line, and went to /usr/src

Tried a make clean but get this

```
www# make clean
===> share/info (clean)
===> lib (clean)
===> lib/csu/i386-elf (clean)
rm -f crti.o crtn.o gcrt1.o crt1.o Scrt1.o crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
===> lib/libc (clean)
"/usr/src/lib/libc/Makefile", line 45: Could not find /usr/src/lib/libc/inet/Makefile.inc
"/usr/src/lib/libc/Makefile", line 46: Could not find /usr/src/lib/libc/isc/Makefile.inc
"/usr/src/lib/libc/Makefile", line 48: Could not find /usr/src/lib/libc/nameser/Makefile.inc
"/usr/src/lib/libc/Makefile", line 58: Could not find /usr/src/lib/libc/resolv/Makefile.inc
"/usr/src/lib/libc/stdlib/Makefile.inc", line 19: Need an operator
"/usr/src/share/mk/bsd.lib.mk", line 144: Could not find bsd.symver.mk
make: fatal errors encountered -- cannot continue
*** Error code 1

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

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

Stop in /usr/src.
```

Before I go hunting a pecking to try to figure out how to restore each of those missing includes, I was wondering if anyone may have any recommendations? Thank you


----------



## amygrant (Nov 23, 2010)

Can't edit my post, I just realized line #2 is junk in my /etc/make.conf example. It should read:


```
CFLAGS= -O2 -pipe -funroll-loops
X11BASE=${LOCALBASE}
# added by use.perl 2010-11-22 00:58:31
PERL_VERSION=5.8.9
```


----------



## SirDice (Nov 23, 2010)

You can remove the X11BASE line too. It's not needed.

It looks like your source tree is somewhat corrupt. Try getting it again using csup.


----------



## amygrant (Nov 23, 2010)

Thank you that was an issue. I did a csup to rebuild my source, which allowed me to at least make clean but I am still getting a failure while trying to buildworld. Here are the steps I did:


```
# cd /usr/src
# make clean && make cleandir && make cleanworld 
# chflags -R noschg /usr/obj/usr
# rm -rf /usr/obj/usr
# /usr/local/bin/cvsup -g -L 2 -P - /etc/cvsupfile
# make buildworld
```

Since I inherited this server, I thought maybe there might have been a screwy csup configuration file:


```
*default  host=cvsup8.FreeBSD.org
*default  base=/usr
*default  prefix=/usr
*default  release=cvs
*default  delete use-rel-suffix
src-all
*default tag=.
ports-all
doc-all
```

When running a make buildworld, it has failed three times (I repeated the aforementioned commands thrice) at the exact same spot:

```
===> gnu/usr.bin/binutils/as (all)
cc -O2 -fno-strict-aliasing -pipe -I. -I/usr/src/gnu/usr.bin/binutils/as/i386 -I/usr/src/gnu/usr.bin/binutils/as -I/usr/src/gnu/usr.bin/binutils/as/../libbfc
In file included from /usr/src/gnu/usr.bin/binutils/as/i386-freebsd/targ-cpu.h:1,
                 from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/config/obj-elf.h:42,
                 from /usr/src/gnu/usr.bin/binutils/as/obj-format.h:3,
                 from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/config/te-freebsd.h:30,
                 from /usr/src/gnu/usr.bin/binutils/as/targ-env.h:3,
                 from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/as.h:626,
                 from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/app.c:30:
/usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/config/tc-i386.h:451: error: array type has incomplete element type
*** Error code 1

Stop in /usr/src/gnu/usr.bin/binutils/as.
*** Error code 1

Stop in /usr/src/gnu/usr.bin/binutils.
*** Error code 1

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

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

Stop in /usr/src.
www#
```

Is there something obvious I am missing here?


----------



## AndyUKG (Nov 23, 2010)

I think the FreeBSD old timers never use freebsd-upgrade, however if I were you IÂ´d give it another try. What version of FreeBSD is currently reported from uname -a? Try a straight


```
freebsd-upgrade fetch
```

Regardless of if you are at 8.0 or 8.1 this will compare the currently installed OS and fetch the files to take it to the current latest release for that version. As its a binary upgrade no compiling is required.
If the fetch command looks good then you can go ahead and try an install. If you are still at 8.0, once you have you 8.0 patched to the latest version you can give the upgrade to 8.1 another shot (Ive done many upgrades without issue).

Anyway, its an option if you are stuck folling the cvsup route...

thanks Andy.


----------



## wblock@ (Nov 23, 2010)

In trying to combine multiple supfiles, your tag is not doing what you expect.  Unless you're expecting -CURRENT instead of FreeBSD 8 or 8-STABLE.  Check /usr/share/examples/cvsup/standard-supfile.

Other notes:
*default base=/var/db is standard now.
Use csup(1) instead of cvsup.
Skip the 'make clean', as you just delete /usr/obj/usr right after that anyway.


----------



## SirDice (Nov 23, 2010)

You've used the wrong tag. It should be RELENG_8 for 8-STABLE or RELENG_8_0 for 8.0-RELEASE or RELENG_8_1 for 8.1-RELEASE.

The tag=. should only be used for ports.


----------



## amygrant (Nov 24, 2010)

Thank you everyone for your tips, feedback, and recommendations. I am going to outline what I did to resolve the problem in case is helps someone else who wanders across this thread. 


Essentially I was pulling the wrong source tree because my cvsup file was old. Found out the previous admin had upgraded from FreeBSD5x to 8.0 where it was handed to me. 

Ok, so I wiped out the old cvsup file and replaced it with the one from  /usr/share/examples/cvsup/standard-supfile (thanks wblock). This allowed me to finally fetch a good source tree. I then did the following:


```
chflags -R noschg /usr/obj/usr
rm -rf /usr/obj/usr
cd /usr/src
make cleanworld
make cleandir
make buildworld
```

However, now I got new build errors:

```
mkmagic: could not find any magic files!
*** Error code 1.
Stop in /usr/src/lib/libmagic.
*** Error code 1.
Stop in /usr/src/lib.
*** Error code 1.
Stop in /usr/src.
*** Error code 1.
Stop in /usr/src.
*** Error code 1.
Stop in /usr/src.
*** Error code 1.
Stop in /usr/src.
```

Ok, I figured I'll just manually delete the entire /usr/src directory this time:

```
cd /usr/src
make cleanworld
make cleandir
rm -rf /usr/src
rm -rf /usr/obj
csup supfile
make make
make buildworld
```

BAM worked... Thanks everyone for your help


----------

