LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 11-06-2014, 02:24 PM   #16
gengisdave
Member
 
Registered: Dec 2013
Location: Turin, Italy
Distribution: slackware
Posts: 328

Rep: Reputation: 74

Another point for dynamic linking: a function is loaded into memory only when it's needed by the program, instead of a statically compiled program that loads the library code in its memory. (Ok, everyone has 4+ GB on his pc... but that isn't a good reason at all).

Add: if there are two program that need of the same library function, the library is loaded once and its memory is shared

Last edited by gengisdave; 11-06-2014 at 02:29 PM.
 
Old 11-06-2014, 02:29 PM   #17
szboardstretcher
Senior Member
 
Registered: Aug 2006
Location: Detroit, MI
Distribution: GNU/Linux systemd
Posts: 4,278

Original Poster
Rep: Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694
Quote:
Originally Posted by dugan View Post
If you're trying to build your own debs or RPMs, yes. If you're just doing ./configure ; make ; make install or building for a distribution that doesn't enforce dependency versions (Slackware, Arch, Gentoo, etc) then no. The build system detects the dependencies that are present on your system.
In my mind, that last part should read "Complains and throws up vague errors about missing dependencies on your system."

Then its "Oh my bad, I compiled that library and forgot to run ldconfig. Sorry ./configure!"

Last edited by szboardstretcher; 11-06-2014 at 02:31 PM.
 
Old 11-06-2014, 02:33 PM   #18
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,316

Rep: Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373Reputation: 5373
Quote:
Originally Posted by szboardstretcher View Post
Then its "Oh my bad, I compiled that library and forgot to run ldconfig. Sorry ./configure!"
Then stop forgetting to run ldconfig.
 
1 members found this post helpful.
Old 11-06-2014, 02:40 PM   #19
ntubski
Senior Member
 
Registered: Nov 2005
Distribution: Debian, Arch
Posts: 3,793

Rep: Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087
Some interesting information here http://sta.li/.
 
Old 11-06-2014, 02:40 PM   #20
szboardstretcher
Senior Member
 
Registered: Aug 2006
Location: Detroit, MI
Distribution: GNU/Linux systemd
Posts: 4,278

Original Poster
Rep: Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694
Quote:
Then stop forgetting to run ldconfig.
Yeah yeah yeah. I never said I was good at compiling...

My point being,. if the source archive just 'came with' everything it needed, libraries included, then it wouldn't be such a ... troubleshooting process ... to compile and install software.

Last edited by szboardstretcher; 11-06-2014 at 02:41 PM.
 
Old 11-06-2014, 02:51 PM   #21
gengisdave
Member
 
Registered: Dec 2013
Location: Turin, Italy
Distribution: slackware
Posts: 328

Rep: Reputation: 74
Quote:
Originally Posted by szboardstretcher View Post
My point being,. if the source archive just 'came with' everything it needed, libraries included, then it wouldn't be such a ... troubleshooting process ... to compile and install software.
You'll take you time to download huuuuuuge source packages
 
Old 11-06-2014, 02:54 PM   #22
metaschima
Senior Member
 
Registered: Dec 2013
Distribution: Slackware
Posts: 1,982

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
Originally Posted by ntubski View Post
Some interesting information here http://sta.li/.
It is in the design phase, so its mostly theory ATM. I'll believe it when I see it.
 
Old 11-06-2014, 03:18 PM   #23
ntubski
Senior Member
 
Registered: Nov 2005
Distribution: Debian, Arch
Posts: 3,793

Rep: Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087
Quote:
Originally Posted by metaschima View Post
It is in the design phase, so its mostly theory ATM. I'll believe it when I see it.
Yeah, that's why I said interesting information. I don't think it's made much progress since the last time I looked a couple of years ago. And I don't expect much in the future: lots of people are interesting in complaining about complicated software, a lot less are interested in writing simpler software.
 
Old 11-06-2014, 03:27 PM   #24
szboardstretcher
Senior Member
 
Registered: Aug 2006
Location: Detroit, MI
Distribution: GNU/Linux systemd
Posts: 4,278

Original Poster
Rep: Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694
Quote:
You'll take you time to download huuuuuuge source packages
Having used Docker and created quite a few images,. I think you'd be surprised how small the needed packages would be for most software. I'd say most range between 1M at the smallest and 300M at the biggest.

Luckily we are in the broadband generation and getting a 300M file is trivial. I use 300M watching 5 minutes of Netflix, or browsing the internet for 10 minutes.

Quote:
lots of people are interesting in complaining about complicated software, a lot less are interested in writing simpler software
I think that's a weak generalization: http://en.wikipedia.org/wiki/Hasty_generalization
 
Old 11-07-2014, 11:03 AM   #25
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Salix
Posts: 6,171

Rep: Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319Reputation: 2319
One advantage of the shared libraries is that it enable you to get such a surprising amount of software onto an installation disk. And while some of us are "in the broadband generation", that isn't true of most of the world. Even apart from the cost, I wouldn't like to try downloading a distro over a satellite connection!
 
Old 11-08-2014, 01:27 PM   #26
Valery Reznic
ELF Statifier author
 
Registered: Oct 2007
Posts: 676

Rep: Reputation: 137Reputation: 137
From distributions' point of view shared libraries save disk space and RAM. Also maintenance is much simpler - only one copy of the
library should be updated when the need arise.

But from the point of view of user that need install version of software different from the one provided by distribution or from
software vendor who is want that his binary will work across different version of different distribution the first concern is just to make it work. Not disk space saving, not security. Just make software works.

And it's not that one POV is correct and another is wrong - it's just different groups of people with different priorities.

And by the way, for those from second groups that want create portable executables following tools may be of use:
- Statifier (http://statifier.sf.net)
- Ermine (http://magicermine.com)
 
2 members found this post helpful.
Old 11-10-2014, 08:12 AM   #27
fpmurphy
Member
 
Registered: Jan 2009
Location: /dev/ph
Distribution: Fedora, Ubuntu, Redhat, Centos
Posts: 299

Rep: Reputation: 62
Without dynamic libraries, you would require a lot more physical memory in a system for the same workload. Programs would also load slower.
 
Old 11-12-2014, 11:06 AM   #28
RandomTroll
Senior Member
 
Registered: Mar 2010
Distribution: Slackware
Posts: 2,015

Rep: Reputation: 273Reputation: 273Reputation: 273
Can't one build all one's apps statically? Can't one invent one's own distribution, 'Static Linux'? I'm a Slacker (and have no dependency problems and never build apps statically.) but it would seem that this could be a new branch of 'Linux from Scratch'.
 
Old 11-12-2014, 12:46 PM   #29
nbritton
Member
 
Registered: Jun 2013
Location: Dubuque, IA
Distribution: Red Hat Enterprise Linux, Mac OS X, Ubuntu, Fedora, FreeBSD
Posts: 89

Rep: Reputation: Disabled
Quote:
Originally Posted by szboardstretcher View Post
So,.. why dont package maintainers just package up EVERYTHING they need in one package, instead of relying on dependencies?
They do, in Mac OS X, and it works great. Linux developers apparently never got the memo that users want simple application installs.
 
Old 11-13-2014, 11:34 AM   #30
ntubski
Senior Member
 
Registered: Nov 2005
Distribution: Debian, Arch
Posts: 3,793

Rep: Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087Reputation: 2087
Quote:
Originally Posted by szboardstretcher View Post
I think that's a weak generalization: http://en.wikipedia.org/wiki/Hasty_generalization
You're right, I don't have the stats to support that. Anyway, it's off-topic and I'm sorry I mentioned it at all.

Quote:
Originally Posted by nbritton View Post
Linux developers apparently never got the memo that users want simple application installs.
Linux developers response has been to use package managers instead.

Quote:
Originally Posted by szboardstretcher View Post
Pull in what you need - make it work - distribute it. Stop with the 'I need this one 2 line function from version 12.83.1323.99a-b of foo.alpha-x86.el2 and my program will NOT compile without it!' nonsense.
In the title you talked about shared libraries, but then your posts have all been about distributing dependencies with source tarballs. I think that's unrelated to the issue of shared vs static libraries.

Quote:
Originally Posted by szboardstretcher View Post
Luckily we are in the broadband generation and getting a 300M file is trivial. I use 300M watching 5 minutes of Netflix, or browsing the internet for 10 minutes.
Bandwidth isn't free on the server side though. Even so, it's probably more about conventions than any technical reasons. I think packaging deps with tarballs would also have the added benefit of saying "this software has been tested with library version x.y.z". Maybe you can get the GNU people to add this step to their standards: Making Releases.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
./testSo: error while loading shared libraries: libsy.so: cannot open shared object rohaanembedded Programming 5 06-03-2013 07:23 AM
error while loading shared libraries: libcrypt.so.1: cannot open shared object file: xmixail Linux - Kernel 15 07-29-2012 08:39 PM
honeyd: error while loading shared libraries: libdnet.1: cannot open shared object fi secbuddy Linux - Software 2 12-24-2011 02:01 PM
top: error while loading shared libraries: libproc.so.2.0.6: cannot open shared objec ramesh_india2020 Linux - Newbie 6 07-29-2010 01:49 PM
top: error while loading shared libraries: libproc.so.2.0.6: cannot open shared objec ramesh_india2020 Linux - Server 1 07-29-2010 12:52 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 09:20 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration