Varieties of 'nux?

Varieties of 'nux?

Discuss everything related to running Spring on your chosen distribution of Linux.

Moderator: Moderators

User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Varieties of 'nux?

Post by smoth »

I am obviously out of the loop on 'nux but would like to know more.

What varieties of 'nux are out there?

which ones can run spring?

How are the directories organized different from 'doze(don't get into a one os is better than the other please, I am trying to get data on how things are sorted)?

Would there be a linux version of nsis?


Thanks in advance, this will help me try and better accommodate those 'nux guys who want a gundam installer.
Last edited by smoth on 03 Apr 2011, 23:56, edited 4 times in total.
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: Varieties of 'nux?

Post by hoijui »

User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Varieties of 'nux?

Post by smoth »

smoth wrote:'nux guys who want a gundam installer.
not go get spring, get gundam figure it all out.
User avatar
SpliFF
Posts: 1224
Joined: 28 Jul 2008, 06:51

Re: Varieties of 'nux?

Post by SpliFF »

Gundam would be a good candidate to package up for some common distros. Ubuntu is a must - due to popularity. Gentoo and Fedora are good choices as well.

I have a personal interest in seeing more games on linux so I'm happy to start maintaining linux packages for interested parties.

There is a big question mark though. Have we resolved the multiple engine versions thing yet? In some cases it will make sense to allow a package to choose an older version of Spring if a Spring update has broken it. In some cases it may even make sense to include Spring in the game package, rather than treat it as a dependency.

Distros like Gentoo allow multiple versions of the same program. I'm not sure about other distros.

Once i've got the packages stable I'll look into automating the process so your releases are faster.

To make this practical I really need your releases to be a minimum of 1-2 months apart. If they are too regular it complicates things. I believe this was given as a reason for not allowing CA as an official Gentoo package a few years back.

Other requirements I need:

* A nice hi-res icon (any format though SVG preferred).
* A short 1 paragraph description.
* A license file, copy of GPL if applicable.
* Absolutely no OTA content or other dubious copyright.
User avatar
koshi
Lobby Developer
Posts: 1059
Joined: 14 Aug 2007, 16:15

Re: Varieties of 'nux?

Post by koshi »

Maybe you should distill our pm conversation from last night and update your post, smoth.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Varieties of 'nux?

Post by smoth »

Can't for another 8 hours or so
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Varieties of 'nux?

Post by Pxtl »

Installers on Linux are one of the hairiest issues.

Here's the thing: every Linux distro has its own packagers, its own versions of common libraries and often its own C++ compiler. What that means is that unlike on windows, you can't just make an executable and give it to Linux users and they'll run it.

Instead, the exe has to be compiled specifically for that distro. An Ubuntu version of a game won't work on the Slackware distro, which won't work on the Fedora distro, etc.

The workaround is to use the raw source-code and compile it yourself. You can imagine how tricky that often is - for some projects it's as simple as unzipping the source and running two console commands. For others, it's incredibly complex. Spring is in the latter category.

Remember that, in Linux, bundling in your dependancies into your program is *extremely* frowned upon. Each library is expected to exist once and only once on the client system - so while every SDL-based app on Windows will have their own copy of SDL, corresponding Linux apps are all expected to share SDL - if two versions of the same lib can't live side-by-side for some reason, and you need both versions, you're in trouble.



Because of this mess, the most common way to get packages for a distro is to get them from first-party sources. Most people getting programs for Ubuntu (the most popular Linux distro) don't download them from other companies... they use the integrated package-fetching system (apt) and it pulls down the program and all its dependancies from Ubuntu's main servers. It's too much truoble to get X working right, so we just trust Ubuntu to do it for us - we open up the package manager and say "I want XXX" and it fetches it for us and configures it for our system seamlessly and silently, and has a built-in updater.

Kernel Panic, for example, is already in Ubuntu's repository. However, the version that lives in the repo is limited by the 6-month release cycle. It may not even be able to go online since it's running an old version of the Spring engine itself.

Ubuntu only allows their packaging system to be updated once every 6 months. So if you want to release anything that isn't a pure bugfix for a dangerous problem between now and the next release? Too bad.

So, because of that, we have PPAs. PPAs are plug-ins for the packaging system where the user can say "I want to add this repository so I'm not just getting stuff from Ubuntu, but this Ubuntu-compatible thing that's updated more than twice a year". Spring has its own PPA for this here:

https://launchpad.net/~spring/+archive/ppa

You can also create .deb and .rpm installers, which are analogous to installers under Windows, but they generally aren't popular these days.

Probably the best approach would be to see if you could get all Gundam's content packed up into a release on the Spring PPA and add SpringLobby as a dependancy. Then you'd have to give players instructions how to add the Spring PPA and then tell them to fetch Gundam - fetching Gundam would in turn fetch the lobby, which would in turn fetch the engine.

This will get you into Ubuntu which is the most popular Linux version. Debian is often compatible with Ubuntu, but no guarantees, and there are several unofficial Ubuntu derivatives that are generally compatible with mainline Ubuntu - EG Mint.

Really, installing software is something that seems shockingly simple that, unless you're willing to play nice with the 1st-party sources, is actually really pathetically overcomplicated.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Varieties of 'nux?

Post by Tobi »

Pxtl wrote:The workaround is to use the raw source-code and compile it yourself. You can imagine how tricky that often is - for some projects it's as simple as unzipping the source and running two console commands. For others, it's incredibly complex. Spring is in the latter category.
That's nonsense really. I get a bit tired of the FUD being spread about compiling Spring lately. (While on windows it may be somewhat true simply because no one CBA to maintain project files (& vclibs?) on Linux it really is nonsense.)

I just tried it:

Code: Select all

git clone git://github.com/spring/spring.git
cd spring
cmake .     # this is equivalent with ./configure in some other projects
make
sudo make install
Works.

On Ubuntu/Debian prepend something like `apt-get build-dep spring' to install all build dependencies automagically. Or look in the wiki for a list. Nothing different from 90% of other open source projects. (And the other 10% are harder to compile, not easier.)

TL;DR: Spring isn't significantly harder to compile on Linux than other projects, really.
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Varieties of 'nux?

Post by Pxtl »

My bad. I guess my perception of that comes from all the people grousing on the forum about Boost versions or the tricky compile flags needed to maintain sync.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Varieties of 'nux?

Post by Tobi »

That's all handled in the build system, really.

Only real problems you can have is missing dependencies (can happen for any package, and is usually a matter of installing those dependencies and retrying) or occasionally hitting compiler bugs (can happen for any package) if you are using newer/older compiler than any of the devs.
User avatar
jK
Spring Developer
Posts: 2299
Joined: 28 Jun 2007, 07:30

Re: Varieties of 'nux?

Post by jK »

Tobi wrote:That's nonsense really. I get a bit tired of the FUD being spread about compiling Spring lately. (While on windows it may be somewhat true simply because no one CBA to maintain project files (& vclibs?) on Linux it really is nonsense.
Since the boost upgrade it is on windows it is a joke, too. PPl are just too stubborn to use something different than their MSVC.
varikonniemi
Posts: 451
Joined: 03 Jul 2011, 11:54

Re: Varieties of 'nux?

Post by varikonniemi »

Tobi wrote:
Pxtl wrote:The workaround is to use the raw source-code and compile it yourself. You can imagine how tricky that often is - for some projects it's as simple as unzipping the source and running two console commands. For others, it's incredibly complex. Spring is in the latter category.
That's nonsense really. I get a bit tired of the FUD being spread about compiling Spring lately. (While on windows it may be somewhat true simply because no one CBA to maintain project files (& vclibs?) on Linux it really is nonsense.)

I just tried it:

Code: Select all

git clone git://github.com/spring/spring.git
cd spring
cmake .     # this is equivalent with ./configure in some other projects
make
sudo make install
Works.

On Ubuntu/Debian prepend something like `apt-get build-dep spring' to install all build dependencies automagically. Or look in the wiki for a list. Nothing different from 90% of other open source projects. (And the other 10% are harder to compile, not easier.)

TL;DR: Spring isn't significantly harder to compile on Linux than other projects, really.
Then what am i doing wrong, when ubuntu greets me with this at cmake .

Code: Select all

CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
  Could NOT find DevIL (missing: DEVIL_IL_HEADER DEVIL_INCLUDE_DIR
  DEVIL_IL_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
  rts/build/cmake/FindDevIL.cmake:115 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:149 (FIND_PACKAGE)
apt-get build-dep spring cannot be what was supposed to be used, since it wants to install nearly 1000MB worth of files. This cannot be normal for installing a game. Other projects i have tried building work fine.

Thanks.
Last edited by varikonniemi on 03 Jul 2011, 12:02, edited 1 time in total.
User avatar
koshi
Lobby Developer
Posts: 1059
Joined: 14 Aug 2007, 16:15

Re: Varieties of 'nux?

Post by koshi »

Tobi wrote:On Ubuntu/Debian prepend something like `apt-get build-dep spring' to install all build dependencies automagically. Or look in the wiki for a list.
varikonniemi
Posts: 451
Joined: 03 Jul 2011, 11:54

Re: Varieties of 'nux?

Post by varikonniemi »

Thanks for your thorough elaboration over how spring really is no harder to build than other projects and why it requires more HD space than my linux disk is in size.

i have no doubt i could find out how to do almost anything with the help of google. This was however a response to a message claiming spring to be easy to compile, which encouraged me to try it, just because.

Well, i got my answer.

Thanks.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Varieties of 'nux?

Post by Tobi »

varikonniemi wrote: Then what am i doing wrong, when ubuntu greets me with this at cmake .

Code: Select all

CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
  Could NOT find DevIL (missing: DEVIL_IL_HEADER DEVIL_INCLUDE_DIR
  DEVIL_IL_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
  rts/build/cmake/FindDevIL.cmake:115 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:149 (FIND_PACKAGE)
apt-get build-dep spring cannot be what was supposed to be used, since it wants to install nearly 1000MB worth of files. This cannot be normal for installing a game. Other projects i have tried building work fine.

Thanks.
You didn't install DevIL, which is a required dependency.

(apt-get build-dep spring is what is supposed to be used, unless you want to manually install all dependencies, which is a lot more work...)
varikonniemi
Posts: 451
Joined: 03 Jul 2011, 11:54

Re: Varieties of 'nux?

Post by varikonniemi »

My question i guess would be: is there some way short of switching to windows to get building spring to work on this computer? Restriction being only 500 megs free disk.
Last edited by varikonniemi on 04 Jul 2011, 15:48, edited 1 time in total.
luckywaldo7
Posts: 1398
Joined: 17 Sep 2008, 04:36

Re: Varieties of 'nux?

Post by luckywaldo7 »

Any reason you can't install from ppa?
http://springrts.com/wiki/Ubuntu_install

Your tiny amount free disk space will mean very limited numbers of games and maps though.
varikonniemi
Posts: 451
Joined: 03 Jul 2011, 11:54

Re: Varieties of 'nux?

Post by varikonniemi »

luckywaldo7 wrote:Any reason you can't install from ppa?
http://springrts.com/wiki/Ubuntu_install

Your tiny amount free disk space will mean very limited numbers of games and maps though.
I have spring up and running fine. I was just curious to build Spring when Tobi said it would be easy :)
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: Varieties of 'nux?

Post by Forboding Angel »

As an example: https://launchpad.net/~evorts/+archive/stable << Evo on launchpad

^^ I'm sure the same could be done for gundam
User avatar
Vadi
Posts: 446
Joined: 03 Jan 2008, 14:51

Re: Varieties of 'nux?

Post by Vadi »

Love the Evo ppa!
Post Reply

Return to “Linux”