Closed GoogleCodeExporter closed 9 years ago
Turns out SWIG becomes 2.0.7 in Ubuntu 12.10, and that I can't compile Angel
against 2.0.4 even if I force it to accept the library, so I'm at a loss.
Original comment by LoveOver...@gmail.com
on 4 Oct 2013 at 5:29
Fortunately/unfortunately the SWIG project took some of our Lua library changes
upstream, and there's no *simple* way to keep our local changes to support the
older SWIG while also supporting those same changes already integrated into the
system's SWIG.
So basically, we're stuck either supporting only versions < 2.0.6 or >=; we
can't do both. It may be possible to find some in-between solution, but nothing
obvious. Given that choice, it seems to make more sense to be forward-looking
(especially since the incompatibility comes from SWIG accepting a patch from
Angel).
Definitely something worth looking into -- ideally we could always support
Ubuntu LTS. But since the workaround of updating SWIG is not too difficult,
this is kind of low priority.
Original comment by lieseg...@gmail.com
on 6 Oct 2013 at 11:33
Would it be possible to make Angel reference the SWIG version embedded in it in
/tools if the version isn't sufficient? It's right there, but I couldn't get
make to grab it!
Thanks for looking at it for me, and I'm glad your patches got accepted!
Original comment by LoveOver...@gmail.com
on 7 Oct 2013 at 12:24
IIRC, that's what I tried to make happen last year-ish when it all went down,
but getting the system's SWIG executable to work with the Angel-embedded
library was tricky. It could easily take the library path, but small
inconsistencies between the executable and what it's expecting from its support
files wound up being tough to hunt down.
Original comment by lieseg...@gmail.com
on 7 Oct 2013 at 1:34
I've come up with a simpler solution: updating SWIG via dpkg before
installing/upgrading it through apt-get.
The necessary version of SWIG is in Ubuntu 12.10, which has stable packages.
I changed nix-prereqs.sh to download 12.10's copy of SWIG, and install it.
It only does this if we are confirmed to be on Ubuntu 12.04.
It will be necessary to run nix-prereqs.sh on any Ubuntu 12.04 before a binary
version is run (probably), which could be fixed with a static library build,
but given you'll need to install the necessary packages anyway, this does not
seem like too large of a requirement.
This will now allow Angel2D to build easily on Ubuntu 12.04 LTS, and by
extension allow Angel2D games to easily be released on Steam.
Original comment by LoveOver...@gmail.com
on 25 Jan 2014 at 9:56
Attachments:
Interesting approach! I'll try it out on a fresh Ubuntu VM in the next couple
days and confirm. Thanks for pushing on this. :)
Original comment by lieseg...@gmail.com
on 26 Jan 2014 at 12:43
No problem, that's what open source is all about right?
I tested this on three fresh installs (Xen, VMWare, flash drive) with the
following steps:
1. Install from ISO ( http://www.ubuntu.com/download/desktop )
2. Update all packages without upgrade to new Ubuntu version
3. Pulled from GIT
4. Ran modified nix-prereqs.sh
5. Installed Xf86VidMode via libxxf86vm-dev as indicated here:
https://code.google.com/p/angel-engine/issues/detail?id=88
After that, Angel compiled and ran fine, every example in IntroGame worked
without fail and with only mild slow down on VMWare. While this is no unit test
by any means, it's a heavy indication of usability.
Hope to hear a similar result from you, at your leisure.
Original comment by shieldho...@gmail.com
on 26 Jan 2014 at 6:01
I've verified that this works, but our Linux maintainer is a little hesitant to
pull in later packages. We've requested an official backport of the SWIG
package from Ubuntu, but that seems like a longshot.
However -- Angel 4 is currently running with a locally prepared version of
SWIG. On Mac (and eventually Windows), it will use a pre-built executable, and
on Linux it builds it as part of the nix-prereqs.sh script. (If nothing else,
this will help keep SWIG versioning inline across the various platforms.
There's a relatively high amount of flux in SWIG updates, so being off by a
version can be more problematic than it would be for something like FreeType.)
I think this approach would also solve the LTS problem, by simply moving our
SWIG dependency out of the package manager entirely. I'll plan on backporting
this from Angel 4 to Angel 3 if that assumption is correct.
Original comment by lieseg...@gmail.com
on 5 Feb 2014 at 5:56
This looks to be working in the mainline now, pending some further tests on
other Linux distributions.
Original comment by lieseg...@gmail.com
on 7 Feb 2014 at 10:55
Original issue reported on code.google.com by
LoveOver...@gmail.com
on 4 Oct 2013 at 5:03