0

I am just qurious about this question.

Let's assume, someone has an undefined symbol error when starting a program. To solve that problem, someone could use tools like ldd, ldconfig, nm or some other, to find out, which library must be replaced to start that program again.

But let's assume another situation: The user of the program reboots the operation system and then starts the program and there is no undefined symbol error, i.e. the program starts properly. This could only be the case, if the right library (with that symbol) would exist already on the system.

  • Is that possible on linux?
  • And if yes, under which circumstances?
  • What is done during a reboot on linux system in more detail concerning shared libraries?
devopsfun
  • 1,407

1 Answers1

1

Two situations come to mind:

  • Update of library while a process using this library is running. The process will see the old version of that library until it is restarted.

  • Mounting a device on an already used mount point. Processes running in that mount point keep their old view.

Both situations are rectified with a reboot, but I'm not sure it applies to your situation.

Thomas Erker
  • 2,857