LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Why isn't Linux like..... (https://www.linuxquestions.org/questions/linux-general-1/why-isnt-linux-like-260186/)

oicdn 11-28-2004 12:24 PM

Why isn't Linux like.....
 
Why do the program developers not include the required packages for an install?

For example, if you go DL *insert program here* why doesn't it have the required dependancies to work? I can understand if it's for customization of applications, but for like default use shouldn't the required dependancies for basic operation be included? Like if a program need say GTK version xxx and Glib version xxx, why don't they include those packages. Especially when the developers say "we've found that X version works best..." WHY DON'T THEY INCLUDED IT?????

There's nothing worse than being in RPM hell because you're searching and searching for an application and X rpm won't work unless you have X rpm, and that won't work unless you have x application, and so on.

If it's all free BSD, why don't they include it? I know not everybody uses the script version of Linux and uses the GUI of it, and the default installing application (Yast for Suse users)....why don't developers include dependancies????

I know OSX asks you step by step "would you like this to install, it does this" and it includes all the dependant/required packages to run...then if you want a custom application, you go a DL that package....

XavierP 11-28-2004 12:27 PM

This has come up before. The reason is that manufacturers have no idea which dependencies you are likely to need - if you have installed everything you may need only 1 or 2 things, if you have gone for a minimalistic approach, you may need 20 or more programs. They could do this, but you'd then complain that you had to spend hours downloading a single program to run, for example, a dvd.

This is why compiling from source beats rpms every time. If you have repeated problems, try using YAST to instal your programs. It's what it's there for after all.

acid_kewpie 11-28-2004 12:35 PM

at the end of the day any app has so so so many dependencies, just that so many of them you never even know about because you've already got them installed. but if each app included a version of that, you'd get old versions, new versions, security holes on one part wouldn't be fixed in others, because they came with the faulty library fixed inside it. While it might bother you that you dependencies exist, it's a fundamental building block of the unix principle, "do one thing well, not lots of things badly". so many windows apps are crap. because they try to do to much and need to do everything as they can't use external packages. there are plenty of management apps to deal with deps now though, such as yast as him above pointed out.

if everything came prebuilt as a static package.. your distro would use about 10 times the space it does now.

oicdn 11-28-2004 12:39 PM

But the developers are basing thier version of that program on what they're running on thier Linux box. Why don't they include the programs that are utilized to make it work?

And this is where an installing program comes into play. I know Yast will leave alone certain parts of an RPM if say you DL'd GTK 2.2.2 ran it for months and then just DL'd GTK 3.3.3, not an upgrade package, but an entire new version....it will only upgrade what's needed and leave the other contents of that RPM alone.....

Why don't developers do this? I know when you DL for example Mplayer, it tells you you need:
x > version X
x > version X
x > version X
x > version X
x > version X

Why don't they just include those required packages, and if you already have a newer version, your installing program will not utilize the dated stuff on that Mplayer package.....

I'm not having particular issues with Mplayer, but this seems to be the program alot of people have issues with, and I think could be solved had developers included the req'd software WTITH the package. And if you want to go "old school" and do it by shell, they make a tgz version.....easy and simple for both parties if you don't "trust" your installing program...

oicdn 11-28-2004 12:51 PM

Quote:

Originally posted by acid_kewpie
at the end of the day any app has so so so many dependencies, just that so many of them you never even know about because you've already got them installed. but if each app included a version of that, you'd get old versions, new versions, security holes on one part wouldn't be fixed in others, because they came with the faulty library fixed inside it. While it might bother you that you dependencies exist, it's a fundamental building block of the unix principle, "do one thing well, not lots of things badly". so many windows apps are crap. because they try to do to much and need to do everything as they can't use external packages. there are plenty of management apps to deal with deps now though, such as yast as him above pointed out.

if everything came prebuilt as a static package.. your distro would use about 10 times the space it does now.

But see, that's where it would help the actual distro's out. If the developers integrated the programs with only WHAT'S REQUIRED TO JUST RUN(no little option perks...you DL those if you want them), you'de have a smaller distro and a more efficient Linux box right? I mean my Linux box is a perfect example.....

I only use this linux box for internet, videos(mpg, wmv, mov, etc) and MP3's. All the other stuff included with this distro is of NO USE to me, BUT I had to DL most of the distro so I wouldn't have to DL the packages required for other programs like Mplayer, flash, shockwave, etc...it was easier on myself to do it this way than search and hunt later.

So Imagine, your distro being only what's required to run, then in my case, I would DL Mplayer, Mozilla, and Apollon. The required dependancies for those applications came with them, and my linux box is less cluttered with unused packages and running with only what's needed as all the packages required to work came with the program.

How sick would that be eh? that would be the best OS on the planet case you only have what you're using...nothing else.....

mikeyt_333 11-28-2004 01:02 PM

Over the summer I ran into an issue that drove me insane because of the dependencies. I hosed my X-win system, KDE etc... I can't remember why, but I decided to go the route of source installs (mainly cause of reliability when compiled on your hardware etc...) So, a week later, I was still finding packages, waiting for downloads blah blah. I'm sure I could have done it better, but I didn't know how at the time, and I really wanted to work on installing from source anyways, make patches etc...

The way windows (not picking on MS, just a good example of what oicdn is refering to) does their apps seems to make sense, but that's until you install older pcanywhere which hoses your login methodology, downgrades your ms-installer, and basically breaks a few other programs. The way microsoft does their installations requires everything to be up-to-date always, you cannot patch-work it. I think the bottom line is, you might spend x time installing packages with provided dependencies, which will increase your disk usage y amount. Using package/dependency based installs increases your time (if done manually, install scripts aren't to hard to write) 2-3x, decreases your disk usage .75y and increases reliability 100%. The fact is, installing packages doesn't happen enough for it to be an issue, once you have a linux system up and running, it will keep running, especially if you can futz with the dependencies etc...

However, this is not set in stone, and not necessarily the best way to do things. If you believe you have a better idea, design it and present it to the community, that's the beauty of linux:

Quote:

"The essence of the bazaar is not voting—a concept I never mentioned in The Cathedral and the Bazaar and don't endorse—but the right to fork. Anyone who doesn't like Linus' decisions about Linux can fork the code base, start his own effort, and compete for developer and user attention on a legally equal footing. That is the essence of the bazaar,"

--Eric Raymond
http://story.news.yahoo.com/news?tmp...1&sid=96120751

This quote isn't refering to this kind of situation specifically, it refers more to the kernel, but open source in general is based on these principles, DIY and help the community.

If you think you can come up with a better way to handle dependencies, and package management that will increase productivity, maintain stability and reliability, then I say go for it! I personally would love to see a slick implementation of package management like you're talking about, and maybe yast,yum,apt are the way it's done, I don't know.

My .02.
Peace,
Mike.

XavierP 11-28-2004 01:04 PM

How about KDE or Gnome libraries? If a Developer relied on them and you purposely didn't include them, you'd have to spend the time downloading them or you'd end up with an install package that is a minimum or, say, 20mbs. Doesn't bother me, I have a fast connection, but what about the poor sods on dial up? Then again, for all, set up your install cd as one of your repositories and you can grab a version of a required file from there.

Windows can only get away with it because they decided to go with a huge number of dlls (check the system32 directory to see what I mean), developers then either add their own to that list or they end up modifying .dlls - which can and does give problems.

oicdn 11-28-2004 01:19 PM

If I knew how to fiddle with Linux well enough, I would try, but it's nice that somebody sees what I'm saying. A slim distro. Basically a barebones distro that just turns on and has a generic browser with it's only purpose being to get you online to DL another browser of your liking. The you utilize that browser to get what you want. And if you want the apps like Java or any other plug-ins you would have to DL it(how it already is).

When you DL a package like Mplayer, and it needs certain programs like glibc, and gtk. that particular version of Mplayer would come with the optimal versions of those packages. And then say you went to DL say, Apollon and it requires a newer version of gtk, the appollon install would only modify/update the difference in the gtk application, not completely remove and install (like windows boxes do)the program. Yast does this already, only modify the existing package to the new versions', not remove and replace.

This way, I would a have a fast running, efficient Linux box tailored to my uses, and only contain what I need/use the system for. Thus still keeping the Linux at heart with doing one thing at a time well, only using your box for it's use, not multi-tasking machine. I wouldn't have a notepad unless I wanted it, nor a video player, unless I dl'd it. Only thing the distro package comes with is the required drivers to run, shell command for your wiser guys, your installing program(yast for example), and a really generic plug-in less browser to get you on the web to search for the browser you want...then use that browser for further installs, DLing, etc....

but this kind of system would take developers of programs to include the programs necessary for the program you want to run....essentially, a team effort more or less....

mAineAc 11-28-2004 01:44 PM

to do this all programs would be huge. There is a price to pay for choice. You can choose desktop environments but if you chose Gnome and you get apackage that was intended for kde, you can end up with one huge package to just fulfill dependancies. And what about the program that decides to install a downgraded libxxx and it breaks 12 other brograms that needs libyyy. If you are worried about it use a package manager. it will download and install dependancies. If not then compile from source and read the docs for it. They tell you what you need.

speel 11-28-2004 01:44 PM

cause they like to make our lives complacated and spend hours to install somthing like gaim lol

oicdn 11-28-2004 01:46 PM

yes...GAIM is the other thing Iw as thinking of...GAT DAMN that sucks ass to install......mine still doesn't work so I said F it and just DL'd aim and yahoo....the only two I use anyhow....

acid_kewpie 11-28-2004 01:46 PM

yast will deliberately fudge an already installed library and essentially break the consistency within it? somehow i don't think so.

ok, so mplayer now comes with x, y and even z with it. what about the dependencies of those? what happens to libraries x1, x2, x3, y1, y2, y3, z1, z2 and yes... z3?

your move.

acid_kewpie 11-28-2004 01:46 PM

gaim is a doddle to install... you just need to use a decent package manager. go use portage, yum, apt....

oicdn 11-28-2004 01:51 PM

Although your post is absolutely correct, I smell a slight scent of dookie behind it you act like it's not possible to install those programs without you DLing a thousand other things.

Like I said, the programmers use what's included to MAKE IT WORK, without all the little option perks like skins, and tones, and whatever crap is not needed it for it to run in a GUI without it being drab and taking the "if you want it, DL it" to the extreme...and I think everybody knows what that line is...

XavierP 11-28-2004 02:15 PM

You know that if they did this someone would try to install it without any gui and then complain that installing GAIM also installed KDE :)

He is right though, dependency a may be included, but things that that file depend on would also need to be added and so on down the line. As I said at the top of this post, you can't ask a programmer to guess what's on your pc, there are as many different installed versions of Linux as there are users - just because 2 people are running a particular distro it doesn't mean that their setup is the same...... one is running Gnome, the other IceWM. One is set up for internet and multimedia, the other as a scientific workstation.

And let's not get started on the poor sod who has faithfully kept his RH 6.2 box up to date...... :D


All times are GMT -5. The time now is 07:40 AM.