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-gnustep mailing list
Bug-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to