Solved Can't login as user after system upgrade

OP
rockzombie2

rockzombie2

Member

Reaction score: 15
Messages: 38

Okay, well sorry for the wild goose chase, I guess. After upgrading pkg I was able to start fish and logging in as user worked. Unfortunately, my modified dwm port was reset, I guess, so I'll have to set that up again, but otherwise everything looks good. Thanks again for everyone's help.
 

Sevendogsbsd

Daemon

Reaction score: 690
Messages: 1,137

As you have discovered, using a “non standard” shell can have interesting consequences depending on the situation. In base, the shells that are built in will always work, even after an OS upgrade. Shells installed via ports or packages are not part of base and are “third party”.

Not to say you can’t run third party shells, but maybe if this happens in the future, you may have to boot the install image, mount / and change /etc/passwd so your user has a shell included in base. Probably a better way to do that but that is what comes to mind.
 
OP
rockzombie2

rockzombie2

Member

Reaction score: 15
Messages: 38

Yeah, pretty much. I was following the steps outlined here: https://www.freebsd.org/releases/13.0R/installation/

And although it mentioned
At this point, users of systems being upgraded from earlier FreeBSD releases will be prompted by freebsd-update(8) to rebuild all third-party applications (e.g., ports installed from the ports tree) due to updates in system libraries.
I guess I figured all of the critical system applications would work so I could just rebuild all the third-party ones after logging into the desktop. I just forgot my shell was a third-party app as well.
 
OP
rockzombie2

rockzombie2

Member

Reaction score: 15
Messages: 38

Proceed with caution.
Ye, I've been burned one too many times when messing with my boot loader. You'll have to explain what that's for exactly. I think I do boot EFI, but I just smash F11 to boot into FreeBSD currently (dual boot Winblows). I used to have a fancy boot loader but then I got burned, hah.
 

scottro

Daemon

Reaction score: 909
Messages: 2,061

Recently on CURRENT, I did a pkg upgrade, and of course, this was the time I didn't use bectrl to back up. So, I couldn't login as user afterwards.It turned out that bash, which I use (as well as zsh, but not csh) was missing a shared object. In the end, I fixed it by doing ln -s <library>.so <library>.so.9. (Not on that machine at the moment, so can't tell you which library. But, if something like that happens, where you can log in as root, but not user, login as root, then just run
zsh or whatever shell you're using, and you may find that like me, you get a useful error like can't load library whatever. Then you can change your user's shell to say, sh (which is what I did) or work as root to try to fix the problem. (X also stopped working, saying the module isn't recognized by the kernel, but as this was an unimportant install, I may just give up and reinstall once I get back from a trip I'm on. This is CURRENT, so not asking for help, just mentioning this as a reason people can't log in as user after an upgrade.)
 

grahamperrin

Son of Beastie

Reaction score: 810
Messages: 2,620

… (X also stopped working, saying the module isn't recognized by the kernel, … CURRENT, …

Install the required kernel modules from source.

With ports-mgmt/poudriere-devel, I prepare to install with this command:

poudriere bulk -j main -Ct graphics/drm-kmod graphics/drm-current-kmod graphics/drm-devel-kmod graphics/gpu-firmware-kmod
 

scottro

Daemon

Reaction score: 909
Messages: 2,061

I tried installing the port, (I could have been clearer, but was just complaining) :), and that hasn't worked either. As 13.0 has progressed, I might even reinstall with that. I mainly chose CURRENT for this (a yoga2, about 5 or 6 years old now) because RELEASE wasn't working that well.
 

scottro

Daemon

Reaction score: 909
Messages: 2,061

As I said, I only use CURRENT here because of hardware problems. Now I'm getting kernel mismatch errors, so I *think* that all I need to do is run make buildworld, as this hasn't been updated in many months. Will try that tonight or tomorrow.
Oh, the library shared object that bash and zsh complained about is libtinfow.so.9. That problem, as mentioned, was fixed with a symlink. I do want to thank you though, for ) giving me ideas. (I couldn't install drm-devel-kmod, again kernel issues.) Doing a make buildworld takes a few hours on this, so I'll be putting off till at least tonight. (As mentioned, I'm in the midst of travel right now.)

Anyway, tonight or tomorrow I'll update source and rebuild world, update packages again and see how it goes. Again this isn't an important install so if it comes to reinstalling, no damage save to my pride. :)

At least this may remind me to always run a bectl or beadm snapshot before doing pkg upgrade on CURRENT. :)
 

scottro

Daemon

Reaction score: 909
Messages: 2,061

And I should add, that doing gitup current and running buildworld also put that missing libtinfow.so.9 that had me contribute to this thread in the first place.
 
Top