# emacs error



## CptnBlues63 (Feb 25, 2021)

So emacs stopped working for me out of the blue one day.  I tried to run it and got the following error:

```
/lib/libc.so.7: version FBSD_1.6 required by /usr/local/bin/emacs not found
```
I have no idea what caused it and have to-date tried updating the pkgs.  Uninstalled then reinstalled emacs.  I've searched that error message but found nothing to help me fix it.  As far as I can recall, the only thing that might have changed was I ran
# pkg update
# pkg upgrade

```
uname -a
FreeBSD ZFSserver 12.1-STABLE FreeBSD 12.1-STABLE r364348 GENERIC  amd64
```


----------



## zirias@ (Feb 25, 2021)

Well, upgrade your system. 12.1 is EOL.

edit: And, if you don't have specific reasons for following stable, maybe this is a good time to switch to releng/12.2


----------



## CptnBlues63 (Mar 1, 2021)

Zirias said:


> Well, upgrade your system. 12.1 is EOL.
> 
> edit: And, if you don't have specific reasons for following stable, maybe this is a good time to switch to releng/12.2



Ok, I'm no afficianado so you'll need to explain the process in easy to follow steps.  Please, tell me how to upgrade my system.

I have no idea what the difference is between "stable" and "releng/12.2"  I'm not adverse to changing it but perhaps you could explain why it's a good idea.  

TIA


----------



## zirias@ (Mar 1, 2021)

If you have "no idea", I assume you installed a binary release. Then just use freebsd-update(8). It's also explained in the handbook: https://docs.freebsd.org/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html

EOL means "end of life": FreeBSD 12.1-RELEASE is EOL, so it isn't supported any more, you have to move to 12.2 now.

edit: leaves the question in my mind how you would install a -STABLE without compiling yourself – are there installer snapshots for download?


----------



## CptnBlues63 (Mar 1, 2021)

Zirias said:


> If you have "no idea", I assume you installed a binary release. Then just use freebsd-update(8). It's also explained in the handbook: https://docs.freebsd.org/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html
> 
> EOL means "end of life": FreeBSD 12.1-RELEASE is EOL, so it isn't supported any more, you have to move to 12.2 now.
> 
> edit: leaves the question in my mind how you would install a -STABLE without compiling yourself – are there installer snapshots for download?


I downloaded the .iso for FreeBSD 12.1 and installed it.  This is what I ended up with.  I downloaded from this page:


			Index of /ftp/releases/amd64/amd64/ISO-IMAGES/12.2/
		

and picked the:
*FreeBSD-12.1-RELEASE-amd64-dvd1.iso*
I burned the .iso onto a DVD and booted to the disc and told it to install.  I don't recall being given a choice between "stable" and any other version, I pretty much just picked all the defaults, added a hostname, IP and user account and here I am.

I'll read through the upgrade info, thank for that.


----------



## CptnBlues63 (Mar 2, 2021)

Ok so this is just too much!  LOL

I was/am going to create a bootable install disk for 12.2 (for another box) and this happened:

```
root@ZFSserver:~/usbinstall # wget https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.2/FreeBSD-12.2-RELEASE-amd64-memstick.img.xz
/lib/libc.so.7: version FBSD_1.6 required by /usr/local/bin/wget not found
root@ZFSserver:~/usbinstall #
```

So that's pretty conclusive that the issue isn't emacs.  So regardless of upgrading (which I'm going to still do on this machine), I'd still like an answer on how to fix this issue.  Can anybody help?


----------



## CptnBlues63 (Mar 2, 2021)

Better and better..........
I backed up all important data on my system and went to upgrade as per instructions in link in above response.  Here's what happened:


```
root@ZFSserver:/ # freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update2.freebsd.org... failed.
Fetching public key from update4.freebsd.org... failed.
Fetching public key from update1.freebsd.org... failed.
No mirrors remaining, giving up.
root@ZFSserver:/ # freebsd-update -v debug fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update2.freebsd.org... fetch: [URL]http://update2.freebsd.org/12.1-STABLE/amd64/pub.ssl[/URL]: Not Found
failed.
Fetching public key from update4.freebsd.org... fetch: [URL]http://update4.freebsd.org/12.1-STABLE/amd64/pub.ssl[/URL]: Not Found
failed.
Fetching public key from update1.freebsd.org... fetch: [URL]http://update1.freebsd.org/12.1-STABLE/amd64/pub.ssl[/URL]: Not Found
failed.
No mirrors remaining, giving up.
```

I can ping and traceroute to all 3 by hostname so I'm stumped.

Suggestions?  Ideas?


----------



## memreflect (Mar 2, 2021)

You use `freebsd-update fetch install` when you want to fetch security patches for the version of FreeBSD that you're currently running (e.g. 12.1-RELEASE-p8 → 12.1-RELEASE-p9), but if you're changing releases, you're "upgrading" (12.1-RELEASE-p9 → 12.2-RELEASE).

Since you have been encountering difficulty, I recommend reviewing the relevant section of the Handbook.


----------



## SirDice (Mar 3, 2021)

CptnBlues63 said:


> and picked the:
> *FreeBSD-12.1-RELEASE-amd64-dvd1.iso*


You installed a 12.1-STABLE snapshot: 


CptnBlues63 said:


> ```
> uname -a
> FreeBSD ZFSserver 12.1-STABLE FreeBSD 12.1-STABLE r364348 GENERIC amd64
> ```


So, either you installed 12.1-RELEASE initially and then did a source upgrade to 12.1-STABLE, or more likely, you downloaded and installed a 12.1-STABLE snapshot from the snapshot directory. 

Either way, the only way to update/upgrade a -STABLE release is by building from source. I would recommend checking out the releng/12.2 sources and build those. That will get you to 12.2-RELEASE and from that point onward you can use freebsd-update(8) to do binary updates/upgrades. 

This should get you there:

```
rm -rf /usr/src/*    # clean out anything that might be there, I'm sure it's not correct.
svnlite co https://svn.freebsd.org/base/releng/12.2 /usr/src
cd /usr/src
make -j4 buildworld buildkernel  # This is going to take a long time, if you have more cores on your CPU you might want to increase the -j4 
# ... a few hours will pass, printing lots of compiler output
make installkernel
make installworld
mergemaster -iFU        # Take extra care here, it's quite easy to screw up your accounts and passwords. 
make -DBATCH_DELETE_OLD_FILES delete-old
make -DBATCH_DELETE_OLD_FILES delete-old-libs
# keep your fingers crossed, and hope it comes back up. 
shutdown -r now
```


----------



## CptnBlues63 (Mar 3, 2021)

SirDice said:


> You installed a 12.1-STABLE snapshot:
> 
> So, either you installed 12.1-RELEASE initially and then did a source upgrade to 12.1-STABLE, or more likely, you downloaded and installed a 12.1-STABLE snapshot from the snapshot directory.
> 
> ...



I have an older server at work with 12.0 on it so I decided to try the above on it.  That way if anything blows up, I don't care cause I was just using it to test 10 Gig interfaces/transfer rates.

I had to check number of CPU's as I've forgotten how many cores/threads

cptn@spare16s010:/home/cptn>sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'
hw.machine: amd64
hw.model: Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz
hw.ncpu: 32
hw.machine_arch: amd64


so I did the make -j32 and it took about 20 min's (this box has 256GB of RAM in them too).

Working through the rest of the upgrade process, if all goes well, I'll do it on the outdated box I'm having the issue with (after backing up the important stuff of course)

Thanks!


----------

