Page 2 of 2 FirstFirst 12
Results 11 to 14 of 14

Thread: Do libraries I use need to be installed on every computer?

  1. #11
    Join Date
    Sep 2009
    Beans
    217

    Re: Do libraries I use need to be installed on every computer?

    Personally, I'd just as soon you statically link everywhere. Dynamic linking is a plague.

    EDIT: I should probably mention I meant plague in a very metaphorical sense. Using dynamic linking encourages other people to do so (and to create dlls which in turn makes dynamic linking more attractive.) However, dynamic linking does have actual harmful effects. Most of them are negligible and/or solved by some system we currently have. I'd just as soon people use static linking because the world would be simpler for it... but it's not really necessary that it happen.

    If you'd like http://harmful.cat-v.org/software/dynamic-linking/
    Last edited by satsujinka; August 14th, 2012 at 02:00 AM.

  2. #12

    Re: Do libraries I use need to be installed on every computer?

    Post was hastily written and not nice. Please ignore.
    Last edited by trent.josephsen; August 14th, 2012 at 01:47 AM.

  3. #13
    Join Date
    Apr 2006
    Beans
    996
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Do libraries I use need to be installed on every computer?

    dynamic linking works well, and allows users to need less download space and have less redundant code. It also happens that this way a distribution can modify a library to work better with it and your program will use the library installed instead of something you are bringing with it. It is also the way things are done in Linux/GNU systems.
    Last edited by vexorian; August 14th, 2012 at 02:06 AM.
    Xye incredibly difficult puzzle game with minimal graphics. Also at playdeb
    Got a blog: Will Stay Free

  4. #14
    Join Date
    Sep 2009
    Beans
    217

    Re: Do libraries I use need to be installed on every computer?

    Quote Originally Posted by vexorian View Post
    dynamic linking works well, and allows users to need less download space and have less redundant code. It also happens that this way a distribution can modify a library to work better with it and your program will use the library installed instead of something you are bringing with it. It is also the way things are done in Linux/GNU systems.
    Dynamic linking usually works well, however, it can and does screw things up. For example, if a library changes the way a function is called (or the way it returns values.) Dynamic linking means that your program will no longer run (correctly) without an edit + recompile (assuming you have the source and assuming you have the ability to make the edit.) If you'd statically linked your program this wouldn't have been an issue (because the version of the code you're using is fixed at compile time.)

    Statically linked binaries don't require significantly more space or bandwidth to download. In fact, as the number of libraries used increases the chances improve that static linking will reduce the necessary bandwidth + space.

    There's no need for a distro to modify a statically linked program. If you're binary compatible everything should "just work." There are exceptions to this, some of which are introduced by platforms that expect dynamic linking and of course you have IPC issues.

    Just because the Romans do it doesn't make it a good idea. Even if you are in Rome.

Page 2 of 2 FirstFirst 12

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •