bug-gnustep
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]