[haiku-development] Re: Haiku, Inc. in Contempt of Its Community

  • From: Jessica Hamilton <jessica.l.hamilton@xxxxxxxxx>
  • To: "haiku-development@xxxxxxxxxxxxx" <haiku-development@xxxxxxxxxxxxx>
  • Date: Tue, 10 Feb 2015 16:49:37 +1300

> readelf -d msgen
>
> Dynamic section at offset 0x2bb0 contains 23 entries:
>   Tag        Type                         Name/Value
>  0x00000001 (NEEDED)                     Shared library:
> [libgettextsrc-0.19.2.so]
>  0x00000001 (NEEDED)                     Shared library:
> [libgettextlib-0.19.2.so]
>  0x00000001 (NEEDED)                     Shared library: [libncurses.so.5]
>  0x00000001 (NEEDED)                     Shared library: [libintl.so.8]
>  0x00000001 (NEEDED)                     Shared library: [libiconv.so.2]
>  0x00000001 (NEEDED)                     Shared library: [libroot.so]
>  0x0000000f (RPATH)                      Library rpath:
> [/packages/gettext-0.19.2-1/.self/lib:/packages/ncurses-5.9-10/.self/develop/lib:/packages/libiconv-1.13.1-6/.self/develop/lib]
>
>
> You missed an extremely key point here: it uses a hardcoded path that will
> not and cannot change, and is the "right way" to do things, as it's by
> design not by "oh I'll just use a hardcoded path because I'm lazy". Which
> makes a huge difference.

Actually, to be clear, I believe the above is still problematic, and
an issue that haikuporter still doesn't resolve completely.

It should be using paths relative to the package itself. E.g. for
haikuwebkit, the package dependencies show up as follows:

ls /packages/haikuwebkit_x86-1.4.9-2:
haiku_x86
lib~libicuuc_x86
lib~libsqlite3_x86
...
and these paths are what should be encoded into the RPATH section..

This is the current reason for packages sometimes breaking when others
are updated and their paths change (which shouldn't happen if things
were done 100% correctly).

Other related posts: