cupid stunt wrote:Linux is a deployment hell, and thats real reason why nobody bothers making linux ports, and I wont even mention technical support problems. Dont know why l-users always insist on native version when they have windows on a partition exactly cause of this. And yeah go ahead and call me a troll :3
*sigh* I'm sorry that I have to respond to this topic too, but this baffled, irritated and frustrated me since years... Why linux as great open source OS with a great community full of clever people struggles so hard on desktop? only 1-5% desktop adoption since years... Personally, I think because the deployment hell (aka linux is NOT a platform:
http://linuxrevolution.blogspot.de/2008 ... attle.html or
http://benjamin.smedbergs.us/blog/2006- ... ng-system/) is very real for users & developers ...sadly
Also, approaches which could overcome this fragmented distribution hell were not supported or even sabotaged... like the great autopackage project (autopackage article:
http://web.archive.org/web/200803310927 ... cles/60124 joey hess and other debian traditionalist sabotaged it by discrediting) or fatelf by ryan gordon, the porting genius behind the humble bundles (
http://lwn.net/Articles/392862/ more or less stopped by alan cox because he was unable to accept that repository managment is NOT the solution to everything).
Recently, even Ingo Molnar, a high rank linux kernel developer, discussed the topic of software deployment (Sofware deployment != repository managment) for the linux ecosystem in a quite open and dramatic way: Technology: What ails the Linux desktop? Part I. "The basic failure of the free Linux desktop is that it's, perversely, not free enough.. [...]" (
https://plus.google.com/109922199462633 ... gdeFDfRzNe)
lanxu wrote:By the way. From the technical point of view, cross-platform development on PC (Win/Mac/Linux) is extremely easy if you use the right combination of tools and libraries. Although, this requires a lot of research and adaptation from the programmer.
I would subscribe the "easy" part for the first 2 platforms... and the last sentence only for the third platform. For the first 2 platforms you have working & and long time supported single multimedia API (e.g. DirectX), developers can rely on this. In contrast a insane amount of knowledge or hacks are required to develop and deploy a binary software product for the extremly broad and undefined ecosystem linux. It's a pity. No standard packaging systems/deployment way, no standard libraries one could rely not even ABI/API stability in the same distribution across some version update.
The Mac and Windows ecosystems understood long, long ago what qualities are required to make desktop software developer and users happy... the linux ecosystem clearly not.
E.g. Linux Game publishing describes the problems of deployment with the multitude of package formats existing (
http://blog.linuxgamepublishing.com/200 ... h-distros/)
For ubuntu 2010 the mixing of system and applications (the very reason for deployment problems & the excessiv repository usage) was idenfied as bug in the use case of updating applications in a repository independed way. (
https://bugs.launchpad.net/bugs/578045)
RabidZombie wrote:cupid stunt wrote:Linux is a deployment hell, and thats real reason why nobody bothers making linux ports, and I wont even mention technical support problems. Dont know why l-users always insist on native version when they have windows on a partition exactly cause of this. And yeah go ahead and call me a troll :3
Statically linking is the most reliable way, but it can cause licensing issues (LoG source release under GPL? lolno).
sadly, the great ulrich drepper sabotaged this useful approach effectively technically (he maintaines the glibc which is to be known statically not linkable) see his comment on this topic:
http://www.akkadia.org/drepper/no_static_linking.html ....it's not working technically. Also, as you mentioned already the GPL prohibits statical linking if you want to use it for an commercial product like LoG.
RabidZombie wrote:
UT2k4 seems to ship with compiled libraries and dynamically link specifically to them (though it uses LD_LIBRARY_PATH which is eviiillll). It seems to work, as it still runs, avoids licensing issues and, while suffers from bloated install sizes, avoids the increased memory usage from static linking.
You are right
LD_LIBRARY_PATH is an ugly workaround. But not only for the mentioned reasons, also because linux didn't provide a better and sane way for achieving this. Windows and Mac had since long time "private DLL" approaches (local libraries are priorized before system ones), whcih allow in a simple and clean way portable, distro-agnostic stick-ware and bundles... not available under linux.
Beside, the better approach mentioned by RabidZombie helps to achieve at least somewhat binary portability on linux, is described here:
http://blog.linuxgamepublishing.com/200 ... -the-lgpl/ using the not so well known
§origin keyword in a clever way.
sorry for that rant... while I'm frustrated with the linux ecosystem and the blocking thinking of some unix-traditionalists, I still have some hope... The success of Humble Indie Bundle for the linux gaming and the open-mindness of at least some key people like Molnar, Miguel de Icaza or ubuntu's Matthew Paul Thomas (
http://www.youtube.com/watch?v=GT5fUcMUfYg) I still have some hope that someday the linux ecosystem will provide a kind of professional platform experience for users and ISVs. cheers