[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #42778] Frameworks with different SONAME cannot coexist
From: |
Yavor Doganov |
Subject: |
[bug #42778] Frameworks with different SONAME cannot coexist |
Date: |
Tue, 15 Jul 2014 17:28:38 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 |
URL:
<http://savannah.gnu.org/bugs/?42778>
Summary: Frameworks with different SONAME cannot coexist
Project: GNUstep
Submitted by: yavor
Submitted on: Tue 15 Jul 2014 08:28:37 PM EEST
Category: Makefiles
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
There is a fundamental issue in the way GNUstep Make creates the symlinks for
the frameworks, at least with the fhs-system layout.
Suppose that you have Foo.app linked with the Bar framework, which has
interface version 0:
$ ldd /usr/bin/Foo | grep Bar
libBar.so.0 => /usr/lib/libBar.so.0 (0xb76ab000)
$ ls -l /usr/lib/libBar.so.0
/usr/lib/libBar.so.0 ->
GNUstep/Frameworks/Bar.framework/Versions/Current/libBar.so.0
So far so good, and then you install a new version of Bar which is not binary
compatible and has interface version 1. This will replace the "Current"
symlink to point to Versions/1 and subsequently will wipe the
/usr/lib/libBar.so.0 symlink. Then Foo.app will fail to load because the
dynamic linker cannot find the library (it is there, in Versions/0, but the
symlink is gone):
$ ldd /usr/bin/Foo | grep Bar
libBar.so.0 => not found
Normally, Foo.app should still be working by continuing to link with
libBar.so.0 until it is rebuilt, at which point it should link with
libBar.so.1. I am not sure if this is a problem for this layout only.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?42778>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #42778] Frameworks with different SONAME cannot coexist,
Yavor Doganov <=