[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: |
Mon, 21 Jul 2014 16:19:21 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 |
Follow-up Comment #1, bug #42778 (project gnustep):
Actually, it is even more serious than that. Installing a new version of the
framework will wipe out the old one completely, so there will only be one
Version, with Current pointing to it. This is done unconditionally as the
first command of the internal_framework_install_ recipe. The current behavior
defeats the whole idea of frameworks (not that I ever understood what
frameworks are for in the first place).
What I wrote in the first message (that the old libBar is still in Versions/0)
is true when the framework is packaged as it is installed in a tmp dir during
build and there's no previous framework version to delete there.
Steps to reproduce (with a random GNUstep framework):
$ make
$ make install DESTDIR=/tmp/foo
$ make clean
$ make install INTERFACE_VERSION=5 DESTDIR=/tmp/foo
And the shocking result:
$ ls -l /tmp/foo/usr/lib/
общо 20
drwxr-xr-x 3 yavor yavor 4096 юли 21 19:01 GNUstep
lrwxrwxrwx 1 yavor yavor 67 юли 21 19:02 libRSSKit.so ->
./GNUstep/Frameworks/RSSKit.framework/Versions/Current/libRSSKit.so
lrwxrwxrwx 1 yavor yavor 69 юли 21 19:01 libRSSKit.so.0 ->
./GNUstep/Frameworks/RSSKit.framework/Versions/Current/libRSSKit.so.0
lrwxrwxrwx 1 yavor yavor 71 юли 21 19:02 libRSSKit.so.0.4 ->
./GNUstep/Frameworks/RSSKit.framework/Versions/Current/libRSSKit.so.0.4
lrwxrwxrwx 1 yavor yavor 69 юли 21 19:02 libRSSKit.so.5 ->
./GNUstep/Frameworks/RSSKit.framework/Versions/Current/libRSSKit.so.5
libRSSKit.so.0 is a broken symlink. As a result applications that linked with
RSSKit cannot be started.
$ ls -l /tmp/foo/usr/lib/GNUstep/Frameworks/RSSKit.framework/Versions/
общо 4
drwxr-xr-x 4 yavor yavor 4096 юли 21 19:02 5
lrwxrwxrwx 1 yavor yavor 1 юли 21 19:02 Current -> 5
There should be a "0" directory there with the old library.
Would you accept a patch that stops deleting the installed framework and also
creates symlinks directly to Versions/$ver instead of Versions/Current? The
.so symlink must probably still point to Current for projects linking with an
internal framework to continue to work.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?42778>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/