Re: Stuff Not Working after Upgrade - Missing Dependency

From: Vincent Sabio <vince-2.0_at_vjs.org>
Date: Tue, 18 Feb 2025 02:35:00 UTC
On Mon, 17 Feb 2025 17:54:01 -0800, Steve Rikli wrote:
> On Mon, Feb 17, 2025 at 08:28:59PM -0500, Vincent Sabio wrote:
>> On Mon, 17 Feb 2025 23:42:43 +0000, Frank Leonhardt wrote:
>>> On 17/02/2025 23:07, Vincent Sabio wrote:
>> 
>>>> I just upgraded my server from 12.0-REL to 14.1-REL (yeah, I know) 
>>>> (I'm still running CentOS, too), and now PHP refuses to run. Typing 
>>>> php at the command line gives me:
>>>> 
>>>>    ld-elf.so.1: Shared object "libdl.so.1" not found, required by 
>>>> "libxml2.so.2"
>>> 
>>> I had hell when I went from 12 to 14 (via 13) on a workshop machine 
>>> (my gateway), so I just don't do it on anything "production". I spent 
>>> six months on and off, fiddling with it to try and see if there was 
>>> some cure by hand-fixing dependencies. At the weekend I gave up, 
>>> flattened it and installed everything from scratch.
>> 
>> I'm dreading having to go that route; it's a highly customized 
>> config, including several RAIDs

I should hove noted -- SoftRAIDs.

>> Is it possible to get a copy of libdl.so.1 and install it in 
>> /usr/local/lib/ ?
> 
> I've had to do something like that in the past to pull a machine back
> in from the weeds, e.g. copy a missing library from backups and temporarily
> copy it back onto the sysdisk so I had enough working tools to do a proper
> upgrade routine.

I upgraded from 12.0 directly to 14.0 and then 14.1. The file was missing as of 14.0 -- and I had hoped that upgrading to 14.1 would fix it, but of course it did not.

> So in theory, yes. If your next move is some kind of re-install, it likely
> won't hurt to try it, at least. Some advice:
> 
> - do this while booted from rescue media if you possibly can, or at least
>   while in single-user
> 
> - make small moves, i.e. change just one thing at a time, then check if
>   anything has been fixed or something new has broken
> 
> - save a copy of anything you have to modify or move aside, JIC

Yeah, I do a lot of that -- have more copies of "-orig" files and directories than I can count. :-)

> - fyi libdl.so.1 is typically found in /usr/lib/ , along with libdl.a
>   and the symlink for libdl.so -> libdl.so.1 .

Ah, good to know - thanks!

> You might also have
>   a version of it in /usr/lib32/ if you installed 32-bit support.

Nope, I'm all 64 here.

> Can you tell if libdl.so.1 is missing altogether?

It is missing altogether.

> Or perhaps is from
> the wrong release or something along those lines -- something to check,
> since you were attempting a system upgrade.

Nope, it's totally gone. And I don't seem to have it under the 12.0 backups, either. Could it be new since 12.0?

BTW, I appreciate the direct email on replies -- for some reason, I am not receiving mail directly from the list -- and I can't figure out how access my list settings on this list server to see if it's set to NOMAIL o something crazy like that...

Thanks!

- V