DaemonForums  

Go Back   DaemonForums > OpenBSD > OpenBSD Installation and Upgrading

OpenBSD Installation and Upgrading Installing and upgrading OpenBSD.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 11th December 2019
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default Unable to login after using "sysmerge"

Hello,

I successfully upgraded OpenBSD from 6.5 stable to 6.6 snapshot with "sysupgrade". After that I updated the packages with pkg_add -u. However, some applications like Firefox did not start afterwards due to some relinking problem (if I remember correctly). So I was looking for a way to fix that and stumbled upon sysmerge. Without really knowing what I was doing I just ran it with the result that I am now unable to login neither as a regular user nor as root. The following error message is prompted when I enter the login name:

login: Failure to retrieve default class
init: default: unknown class

All the daemons also fail to start due to the ”unknown class” problem.
I am not to too tech savvy and would appreciate your help very much.
Reply With Quote
  #2   (View Single Post)  
Old 11th December 2019
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

I expect that your /etc/login.conf file has been damaged or is now missing. You can boot into single user mode with boot> -s, which will provide you with a root shell, no network, and only the root filesystem available, mounted read-only.

Then, mount all filesystems as in a normal boot with # mount -a. The root filesystem will be mounted read/write, as will all your other filesystems.

If /etc/login.conf is present, you can inspect it for damage and correct if you know what to repair. If it is present and you don't know what to fix, move it somewhere else, such as to /etc/login.conf.broken.

To recover, look in /var/sysmerge. There should be an etc.tgz tarball, from which you can extract a functioning login.conf file. This will be an unmodified version of the file for your snapshot.

After restoring /etc/login.conf (and then making any local changes needed), # reboot and see if you have solved your problem.

----

Now that you are on -current, you should become familiar with sdiff(1), the tool called by sysmerge(8) to compare two versions of a file and select differences between them to create a third, unique version.
Reply With Quote
  #3   (View Single Post)  
Old 11th December 2019
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Three more comments to add:
  1. Welcome back! It's been about six years.
  2. If you want to use an editor or pager while in the single-user shell, use # export TERM vt220 to set a useful TERM value.
  3. In the event single-user mode can't boot -- damaged boot blocks,, as an example -- you can get a limited shell environment from installation media. The RAMDISK kernel has a small set of tools available that can be used to correct problems preventing boot into single-user.
Reply With Quote
  #4   (View Single Post)  
Old 11th December 2019
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Thank you very much!
My /etc/login.conf was indeed empty. So I followed your instructions and replaced it with the version from the tarball. Everything is back to normal now. I cannot thank you enough for that as I was already prepared for the worst!. =)

And I am sorry to show up here only when I have a problem. OpenBSD (and other BSDs) does keep me interested even though I am not that technically experienced. And I do believe that it was you who helped me the last time I wrote about my problem. Such knowledge certainly does leave an impression even some years passed. =)

All the best to you and the other active members here!

Last edited by nasser; 11th December 2019 at 08:54 PM.
Reply With Quote
  #5   (View Single Post)  
Old 11th December 2019
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Just one more thing:

I do not know how to correctly use sdiff(1). Is it possible to automatically merge any differing file versions? What is prohibiting me from running firefox is some .so file which is available in two versions…
Reply With Quote
  #6   (View Single Post)  
Old 11th December 2019
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

The sdiff(1) command string run by sysmerge(8) is:
Code:
sdiff -as -w $(tput -T ${TERM:-vt100} cols) -o ${COMPFILE}.merged \
			${TARGET} ${COMPFILE}
From the sdiff(1) man page:
  • -a: treat file1 and file2 as text
  • -s silent: identical lines are not printed
  • -w <calculated by terminal width>: print a maximum number of characters on each line
  • -o <file> merged results
Key to the output from sysmerge() is this gem that appears just before the first sdiff comparison:
Quote:
===> Type h at the sdiff prompt (%) to get usage help
The side by side comparison shows only the differences between the two files. For every set of lines which differ between the two files, You can type "l" to select the version on the left, "r" to select the version on the right,
Reply With Quote
  #7   (View Single Post)  
Old 12th December 2019
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

Let me show you what I am doing since I cannot solve the problem:

When I want to open Firefox I receive the following error messages:
Code:
firefox: /usr/X11R6/lib/libX11.so.17.0:  /usr/X11R6/lib/libX11.so.16.1 : WARNING: symbol (_XimXTransSocketINETFuncs) size mismatch, relink your program
firefox: /usr/X11R6/lib/libX11.so.17.0:  /usr/X11R6/lib/libX11.so.16.1 : WARNING: symbol (_XimXTransSocketLocalFuncs) size mismatch, relink your program
firefox: /usr/X11R6/lib/libX11.so.17.0:  /usr/X11R6/lib/libX11.so.16.1 : WARNING: symbol (_XimXTransSocketUNIXFuncs) size mismatch, relink your program
firefox: /usr/X11R6/lib/libX11.so.17.0:  /usr/X11R6/lib/libX11.so.16.1 : WARNING: symbol (_XimXTransSocketINET6Funcs) size mismatch, relink your program
firefox: /usr/X11R6/lib/libX11.so.17.0:  /usr/X11R6/lib/libX11.so.16.1 : WARNING: symbol (_XimXTransSocketTCPFuncs) size mismatch, relink your program
msyscall e596e88e000 a5000 error
So I cd to /usr/X11R6/lib/ and enter the proposed command string:
Code:
doas sdiff -as -w $(tput -T ${TERM:-vt100} cols) -o ${COMPFILE}.merged \
			${TARGET} ${COMPFILE}
After that are all the files in the directory displayed and I enter the following (after the curly bracket):
Code:
> ${COMPFILE}libX11.so.16.1 libX11.so.17.0
Next follows the two column comparison where I can enter "l" or "r". However, when the comparison finishes I get the following message:
Code:
sdiff: file1 start is invalid:
The result is that the same problem persists and I have no idea what I am doing wrong…
Reply With Quote
  #8   (View Single Post)  
Old 12th December 2019
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Files stored in /usr/lib, /usr/X11R6/lib, and /usr/local/lib are compiled, binary, CPU executable files, they are not human readable text.


https://en.wikipedia.org/wiki/Librar...ared_libraries
Reply With Quote
  #9   (View Single Post)  
Old 12th December 2019
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Replying again, to state that the library mismatch warnings are typically -- but not always -- due to an out-of-sync package, so perhaps Firefox or one of its dependencies is out of date.


The -current version of Firefox (at this writing) is 71.0.
Reply With Quote
Old 12th December 2019
nasser nasser is offline
Port Guard
 
Join Date: Nov 2013
Posts: 24
Default

I did forget to adjust the PKG_PATH but even after correcting that the pkg_add -u still does not fix the problem. I will just do a fresh installation. Thank you for your help.
Reply With Quote
Old 18th October 2021
MFK MFK is offline
New User
 
Join Date: Oct 2021
Posts: 1
Default Another thank you

Quote:
Originally Posted by jggimi View Post
I expect that your /etc/login.conf file has been damaged or is now missing. You can boot into single user mode with boot> -s, which will provide you with a root shell, no network, and only the root filesystem available, mounted read-only.

Then, mount all filesystems as in a normal boot with # mount -a. The root filesystem will be mounted read/write, as will all your other filesystems.

If /etc/login.conf is present, you can inspect it for damage and correct if you know what to repair. If it is present and you don't know what to fix, move it somewhere else, such as to /etc/login.conf.broken.

To recover, look in /var/sysmerge. There should be an etc.tgz tarball, from which you can extract a functioning login.conf file. This will be an unmodified version of the file for your snapshot.

After restoring /etc/login.conf (and then making any local changes needed), # reboot and see if you have solved your problem.

----

Now that you are on -current, you should become familiar with sdiff(1), the tool called by sysmerge(8) to compare two versions of a file and select differences between them to create a third, unique version.
Hello jggimi,

I had this exact same issue recently. I'd done several successful manual upgrades, but this was my first time using sysupgrade.

I work with source code frequently and know about diffs, but I was a newbie to sdiff...and somehow I blew it and ended up with an empty /etc/login.conf file. (I've since read the man page for sdiff.)

Anyway - your suggestions on this thread, found through a quick search on another computer, helped me get out of the proverbial ditch very quickly. Thank you!!
Reply With Quote
Old 15th November 2021
bradley bradley is offline
Fdisk Soldier
 
Join Date: Jul 2020
Posts: 53
Default

@nasser There were similar issues I used to have with pkg_add -u. In such cases like above
Code:
pkg_add -u firefox
might solve the issue. Also, sysclean -p might show if some tools are not updated properly.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Difference between"arp info overwritten" and " duplicate IP address " varag OpenBSD Security 1 6th April 2015 02:57 PM
How to replace "ectags" with "ctags"? fender0107401 OpenBSD Packages and Ports 5 16th April 2013 10:01 AM
Fixed "xinit" after _7 _8, "how" here in case anyones' "X" breaks... using "nvidia" jb_daefo Guides 0 5th October 2009 09:31 PM
"Thanks" and "Edit Tags". diw Feedback and Suggestions 2 29th March 2009 12:06 AM
MYSQL can't start "UNABLE TO LOCK disappearedng FreeBSD General 0 14th October 2008 02:01 AM


All times are GMT. The time now is 01:16 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick