Slashdot Mirror


Petreley On Simplifying Software Installation for Linux

markcappel writes "RAM, bandwidth, and disk space are cheap while system administrator time is expensive. That's the basis for Nicholas Petreley's 3,250-word outline for making Linux software installation painless and cross-distro." The summary paragraph gives some hint as to why this isn't likely to happen anytime soon.

2 of 292 comments (clear)

  1. Re:Gentoo by sirius_bbr · · Score: 5, Interesting

    I tried it (gentoo) some time ago. After two weeks of frustration I moved back to debian.

    For me it was more like
    1. emerge
    2 come back in 8 hours and then:
    a. see whole bunch of compilation errors,
    b. dependencies were not sorted out correct, so nothing works
    c. combination of above

    I specially liked (still do) the optimization potential (where debian is stuck at i386), but it didn't work for me.

    --
    this sig has intentionally been left blank
  2. Not always a problem by Simon · · Score: 5, Interesting
    Just want point out that problems with shared libraries aren't universal. Years ago AmigaOS had shared libraries that basically worked without significant administration problems, or a 'dll hell'.

    Important features of the way AmigaOS libraries worked:

    * All libraries were versioned, but not on the file system level. Each library contained a version number in it's header.

    * Versions of the same library were always backwards compatible. This was Law. Software using an old version of a library must continue to work on future versions. This also meant that developers had to think out thier library API beforehand (because you would have to maintain that API). Libraries could be extended though with extra functions.

    * Application programs had to 'open' libraries before using them. When opening a library an application would specify the minimum version that it required of the library. (If no matching or later version was found then the program would have to exit gracefully).

    * There tended to be few (compared to Linux anyway) libraries. Libraries tended to be biggish. A few big libraries instead of many tiny libraries. This made them manageable.

    * The backwards compatibility rule/law for libraries meant that software could bring it's own version of a library and update the existing version of that library, but *only* if it was a more up-to-date version.

    As a previous poster pointed out, a lot of the problem would disappear if people (library writers) maintained compatible interfaces for the same library soname. I'm pretty sure that this is the way it was designed to work.

    anyway, a FYI.

    --
    Simon