Page 1 of 2

Varieties of 'nux?

Posted: 03 Apr 2011, 23:36
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.

Re: Varieties of 'nux?

Posted: 03 Apr 2011, 23:38
by hoijui

Re: Varieties of 'nux?

Posted: 03 Apr 2011, 23:54
by smoth
smoth wrote:'nux guys who want a gundam installer.
not go get spring, get gundam figure it all out.

Re: Varieties of 'nux?

Posted: 04 Apr 2011, 04:32
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.

Re: Varieties of 'nux?

Posted: 04 Apr 2011, 10:52
by koshi
Maybe you should distill our pm conversation from last night and update your post, smoth.

Re: Varieties of 'nux?

Posted: 04 Apr 2011, 14:33
by smoth
Can't for another 8 hours or so

Re: Varieties of 'nux?

Posted: 04 Apr 2011, 16:07
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.

Re: Varieties of 'nux?

Posted: 04 Apr 2011, 21:29
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.

Re: Varieties of 'nux?

Posted: 04 Apr 2011, 21:34
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.

Re: Varieties of 'nux?

Posted: 04 Apr 2011, 21:40
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.

Re: Varieties of 'nux?

Posted: 05 Apr 2011, 00:13
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.

Re: Varieties of 'nux?

Posted: 03 Jul 2011, 11:57
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.

Re: Varieties of 'nux?

Posted: 03 Jul 2011, 12:00
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.

Re: Varieties of 'nux?

Posted: 03 Jul 2011, 12:05
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.

Re: Varieties of 'nux?

Posted: 03 Jul 2011, 18:35
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...)

Re: Varieties of 'nux?

Posted: 03 Jul 2011, 19:22
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.

Re: Varieties of 'nux?

Posted: 03 Jul 2011, 19:41
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.

Re: Varieties of 'nux?

Posted: 04 Jul 2011, 14:28
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 :)

Re: Varieties of 'nux?

Posted: 12 Sep 2011, 07:10
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

Re: Varieties of 'nux?

Posted: 27 Sep 2011, 11:51
by Vadi
Love the Evo ppa!