LWN.net Logo

Must ... Not ... Have ... Choice

Must ... Not ... Have ... Choice

Posted May 9, 2012 17:54 UTC (Wed) by jedidiah (guest, #20319)
In reply to: Must ... Not ... Have ... Choice by drag
Parent article: Fragmentation on the Linux Desktop (Is it Normal?) (Datamation)

> The biggest issue is that right now dealing with dependencies is a huge pain in the ass.

Nonsense. Package management pretty much eliminates that completely. It's not 1998 anymore. Even if I decide to build something from scratch, it's pretty trivial to resolve dependencies with the available tools.


(Log in to post comments)

Must ... Not ... Have ... Choice

Posted May 9, 2012 19:01 UTC (Wed) by drag (subscriber, #31333) [Link]

> Nonsense. Package management pretty much eliminates that completely.

It's NOT a solved problem. It's barely even addressed by Linux systems.

Because if I want to install a application binary and it's not pre-packaged by a distribution then I still have to go in there and read the documentation , run 'ldd' on the binaries and jump through a bunch of hoops to get anything done.

Must ... Not ... Have ... Choice

Posted May 9, 2012 19:53 UTC (Wed) by job (guest, #670) [Link]

The problem with installing third party applications are far wider than that. You might even find that your release doesn't offer the required version of some library, or that it is mutually exclusive with another one (as in, "you may have pulseaudio, but not together with the old version of glibc").

Must ... Not ... Have ... Choice

Posted May 9, 2012 20:50 UTC (Wed) by drag (subscriber, #31333) [Link]

Yes it can be very irritating. It's enough of a problem that it's really rare that I will bother installing anything that is not packaged by my distribution (or from repositories made specifically for my distribution) because of the difficulties.

I spent many unfortunate evenings struggling with doing things like trying to use python bindings for Orge3D or something like that. Many hours trying to figure out the magic combination of compile options and dependencies. Many dependencies needed to be compiled and copied to the system. What made it terrible was that I was just trying to learn this stuff.. I had no idea what to expect when it worked so I had no idea if what I was doing was correct. When a test failed, was it because I did something wrong or was it just because it is using something that isn't supported yet?

Meanwhile if I was using Windows XP I could of had everything installed and running correctly with about 15 minutes of effort.

It was maddening that open source software developed by people who believed in open source software most of whom used and programed in Linux... was pretty much unusable in Linux, but trivial to use in closed source operating systems.

I saw this again and again and again. Mostly with games or game libraries and such, but it is very common problem with all software on Linux.

It's a bit amazing to me that people in the community can easily see the wisdom of having a strong Linux API/ABI for userspace and can see the wisdom of having POSIX and adhering to standards and whatnot... but totally balk at the idea that Linux desktop should need anything higher level then that. That all problems can be solved by distribution using brute force labor to conform software to their very specific implementation decisions.

Must ... Not ... Have ... Choice

Posted May 10, 2012 7:10 UTC (Thu) by ssmith32 (subscriber, #72404) [Link]

> Meanwhile if I was using Windows XP I could of had everything installed and running correctly with about 15 minutes of effort.

That's not Linux, that's Ogre3D: they have packaged their library for windows, but not for Linux.

Which it not surprising, given the Ogre3D community has a strong windows preference. Which again is not surprising, given the gaming community has one as well.

And, yes, I have used Ogre3D on Linux - it wasn't so bad, but it does come with a strong windows community around it, and not a Linux one.

I've actually had the opposite problem: I just wanted to play a song at a certain time in the morning: since the tools needed (mpg123 and crontab) are trivially available on linux, it took only a few minutes there. On windows it took HOURS of searching around (no I'm not downloading random spyware junk from download.com) on the microsoft site, downloading a WGA application, having it break, fixing it, finding an alarm clock program, fixing it...

So it's not really a "linux" problem: just a problem with the software you want to use. It could go either way.

[OT] windows task scheduler

Posted May 10, 2012 9:51 UTC (Thu) by cortana (subscriber, #24596) [Link]

Out of interest, what was wrong with using the Windows Task Scheduler to open the MP3 file at the desired time?

[OT] windows task scheduler

Posted May 10, 2012 19:46 UTC (Thu) by JanC_ (guest, #34940) [Link]

I suppose what is "easy" largely depends on what you are used to... ;)

But even better: Windows includes an "at" commandline tool to schedule this (if one prefers that over a GUI).

Must ... Not ... Have ... Choice

Posted May 10, 2012 7:02 UTC (Thu) by ssmith32 (subscriber, #72404) [Link]

I wouldn't say "barely" addressed.

If you want to install an application binary that hasn't been packaged, that's like wanting to run an executable for some large application in windows without an installer, or a random Mac binary that hasn't been packaged up.

So you'd have the same problem on all platforms, not just Linux.

Essentially, wanting to run an executable file the has dependencies and hasn't been packaged in some way, and expecting it to "just work" is just silly on any platform.

Must ... Not ... Have ... Choice

Posted May 10, 2012 9:46 UTC (Thu) by cortana (subscriber, #24596) [Link]

The two are not equivalent. As a developer, if I want to "package" my application for Windows I can do *one* lot of work to create an MSI that any user can run to install my program on any supported version of Windows.

I cannot do this for Linux; I have to build the program on a Debian system to create a Debian package and just hope that Debian-derived distributions don't stray far enough from the latest Debian stable release to break my package; I have to create a separate RPM for Red Hat, Fedora, Mandriva, OpenSUSE, etc. Slackware users are out in the cold unless they don't mind extracting the contents of the deb and installing the libraries that it requires themselves. :)

Must ... Not ... Have ... Choice

Posted May 10, 2012 11:38 UTC (Thu) by ean5533 (subscriber, #69480) [Link]

>>Slackware users are out in the cold unless they don't mind extracting the contents of the deb and installing the libraries that it requires themselves. :)

Yeah, but let's be honest: for a Slackware user, extracting a deb is like opening a Christmas present. They really don't mind.

Must ... Not ... Have ... Choice

Posted May 14, 2012 2:19 UTC (Mon) by dlang (✭ supporter ✭, #313) [Link]

or they just use alien to convert the package

Must ... Not ... Have ... Choice

Posted May 10, 2012 13:48 UTC (Thu) by smokeing (guest, #53685) [Link]

If I, a developer, want my application reach interested users, I find package maintainers for it, or become one. Debian folks have gone to great lengths making it as simple as possible (but not simpler than that).

No sane Linux user will want anything that hasn't been properly examined, passed QA wrt all dependencies, and packaged by someone competent.

If you want something that's not in your distro, maybe your choice of distro is suboptimal. If you can't find it in any current distro, either you or program author are doing it wrong. Distribution tier exist for a reason.

Gentoo people have a very disparaging word for it: slackwarization. Also, no bug reports will be looked at if your kernel is tainted (notably by nvidia drivers).

Must ... Not ... Have ... Choice

Posted May 10, 2012 14:10 UTC (Thu) by cortana (subscriber, #24596) [Link]

And that strategy works fine if you are producing (1) free software (2) that does not need to be kept up to date.

In the real world people need to sell proprietary software for a living, and the lack of a decent way to package that up for end users to buy, install and use, has kept Linux on the desktop back all these years.

Must ... Not ... Have ... Choice

Posted May 10, 2012 17:31 UTC (Thu) by pboddie (subscriber, #50784) [Link]

And why is that? For years, all we heard from Miguel de Icaza and the GNOME top table was "ISV, ISV, ISV!" We also heard it from other projects who favoured inferior permissive or weak-copyleft libraries to superior copyleft libraries (I'm thinking of OSAF's Chandler product) because of all the ISVs who would be building proprietary software on their work.

So why didn't all those people championing this lucrative ISV ecosystem get something done to make packaging and deployment easier? It's not as if those people had no skills, influence or money to do the work.

Must ... Not ... Have ... Choice

Posted May 10, 2012 22:00 UTC (Thu) by smokeing (guest, #53685) [Link]

works fine if you are producing (1) free software

In point of fact, this is precisely what I am busy with: produce free software (johnhommer.com/academic/code/aghermann). And so also do countless people small and large, for the common good.

(2) that does not need to be kept up to date

Maintainers will do it, for some considerable time even after upstream goes AWOL. If there is a sustained demand, they will try really hard; eventually it will be adopted, or someone forks/starts from scratch an alternative, better package serving the same purpose (the story with stow/xstow comes to mind).

If in all appearances, a project dies and no one seems to care, then perhaps the purpose is no longer valid, or has never been in the first place (think sundry 'ext2 defragmenters' of around 2000).

In the real world people need to sell proprietary software

I do programming full time for a living. The single big product we do, has one big university for a single customer, such that we not so much sell the *product* as, rather, sell our time and expertise to please this single customer. Barring idiocyncrasies of certain middlemen in my case, this model works remarkably well.

You seem to advocate the proprietary, closed-source model instead. Why do it here? I give you some people do closed source, some even meet with success (Angry Birds?). I, for one, in this same real world, don't, neither in my capacity as user nor as a developer, and I don't feel obliged to accommodate the (inferior) alternative.

the lack of a decent way to package that up for end users to buy, install and use

Skype is shipped as a deb file in two flavours, statically linked with Qt and standalone. Just don't tell me it's hard to install a deb. The essential problem, again, is this is not distribution done right.

has kept Linux on the desktop back all these years

I smell slashdot here, thank you.

Must ... Not ... Have ... Choice

Posted May 11, 2012 8:21 UTC (Fri) by jschrod (subscriber, #1646) [Link]

Or you can get an openSUSE Build Service account and let OBS do it for you. It will produce packages from the same source not only for openSUSE, but for Fedora, Debian, Ubuntu, and other distributions, too, see http://en.opensuse.org/openSUSE:Build_Service_supported_b...

OBS is one of the most under-reported good services in FOSS land ever.

Must ... Not ... Have ... Choice

Posted May 9, 2012 20:21 UTC (Wed) by ovitters (subscriber, #27950) [Link]

Try packaging GNOME boxes. The dependency adding is all manual.

I packaged it for Mageia. Noticed missing dependencies because I looked at the proposed Fedora spec file. However, even the Fedora spec file missed some dependencies.

The GNOME boxes maintainers knew about these dependencies of course. But only some is automatically generated.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds