compiling on Cygwin -- my experience


Problems running or configuring the software, commands & options, compiling, different platforms, using the interface, documentation, etc.

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Tuesday, 26th March 2013, 23:19

compiling on Cygwin -- my experience

I couldn't seem to find much in the way of help for compiling crawl under windows, even with cygwin. These instructions probably aren't optimal, but they worked for me on win xp 32 bit:

First I built 0.11.2, which I'd already downloaded and untared on my e: drive

1. Got setup.exe from the cygwin site and run it. I "ran as" admin, just to be sure. Choose "install from internet". Clicked through the installer; its pretty straightforward.
2. The packages screen has an instant search box. Very very useful, especially since cygwin apparently doesn't have apt-get. I spent a lot of time on this screen...
3. Selected all the packages mentioned in INSTALL.txt under the cygwin section. Made sure to get the exact package name, not another package which contained that name. I asks if I want to get the packages which they depend on, said yes to that of course.
4. Finished setup, ran cygwin (as admin again, probably not needed though).
5. cd /cygdrive/e/crawl/stone_soup-0.11.2/source
6. make
7. wait for error message, try figure out from it which packages I'm still missing.
8. close cygwin, run setup.exe again, add the missing packages
9. repeat 4-8 until no more errors
10. ./crawl

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Tuesday, 26th March 2013, 23:41

Re: compiling on Cygwin -- my experience

Now building trunk:

11. Run setup.exe again, get "git", run cygwin
12. cd cygdrive/e/crawl
13. git clone git://gitorious.org/crawl/crawl.git
14. cd crawl
15. git submodule update --init
16. cd /crawl-ref/source
17. make

got this error:
  Code:
CXX abl-show.o
In file included from mon-info.h:5:0,
                 from map_knowledge.h:5,
                 from env.h:4,
                 from dungeon.h:10,
                 from abl-show.cc:30:
mon-util.h:14:21: fatal error: mon-mst.h: No such file or directory
compilation terminated.
Makefile:1422: recipe for target `abl-show.o' failed
make: *** [abl-show.o] Error 1


Decided this might not be my problem, and tried with a commit from a few hours ago:

18. git checkout 3e643e4
19. make clean
20. make
21. ./crawl

"This is Dungeon Crawl Stone Soup 0.12-a0-3061-g3e643e4"

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Tuesday, 26th March 2013, 23:45

Re: compiling on Cygwin -- my experience

Here's a list of the packages I now have installed in cygwin. Many of them were selected automatically, and of the ones I manually selected, probably a few were mistakes, but nonetheless:

  Code:
_autorebase             000224-1
_update-info-dir        01114-1
alternatives            1.3.30c-10
base-cygwin             3.1-1
base-files              4.1-1
bash                    4.1.10-4
binutils                2.23.51-1
bison                   2.7-1
bzip2                   1.0.6-2
coreutils               8.15-1
cpio                    2.11-2
crypt                   1.2-1
cvs                     1.12.13-10
cvsps                   2.2b1-1
cygutils                1.4.10-2
cygwin                  1.7.17-1
cygwin-doc              1.7-1
dash                    0.5.7-1
diffutils               3.2-1
dos2unix                6.0.3-1
editrights              1.01-2
file                    5.11-1
findutils               4.5.9-2
flex                    2.5.35-1
gawk                    4.0.2-1
gcc                     3.4.4-999
gcc-core                3.4.4-999
gcc-g++                 3.4.4-999
gcc-mingw-core          20050522-3
gcc-mingw-g++           20050522-3
gcc4-core               4.5.3-3
gcc4-g++                4.5.3-3
gettext                 0.18.1.1-2
git                     1.7.9-1
grep                    2.6.3-1
groff                   1.21-2
gzip                    1.4-1
ipc-utils               1.0-1
less                    444-1
libasn1_8               1.5.2-4
libattr1                2.4.46-1
libbz2_1                1.0.6-2
libcloog0               0.15.7-1
libcom_err2             1.42.7-1
libcurl4                7.29.0-1
libdb4.5                4.5.20.2-3
libexpat1               2.1.0-1
libffi4                 4.5.3-3
libgcc1                 4.5.3-3
libgdbm4                1.8.3-20
libgmp3                 4.3.2-1
libgmpxx4               4.3.2-1
libgomp1                4.5.3-3
libgssapi3              1.5.2-4
libheimbase1            1.5.2-4
libheimntlm0            1.5.2-4
libhx509_5              1.5.2-4
libiconv2               1.14-2
libidn11                1.25-1
libintl3                0.14.5-1
libintl8                0.18.1.1-2
libkrb5_26              1.5.2-4
liblzma5                5.0.2_20110517-1
libmpc1                 0.8-1
libmpfr1                2.4.1-4
libmpfr4                3.0.1-1
libncurses-devel        5.7-18
libncurses10            5.7-18
libncurses7             5.3-4
libncurses8             5.5-10
libncurses9             5.7-16
libncursesw-devel       5.7-18
libncursesw10           5.7-18
libopenldap2_4_2        2.4.33-1
libopenssl098           0.9.8y-1
libopenssl100           1.0.1e-2
libpcre0                8.21-2
libpopt0                1.6.4-4
libppl                  0.10.2-1
libreadline7            6.1.2-3
libroken18              1.5.2-4
libsasl2                2.1.25-1
libsigsegv2             2.10-1
libsqlite3-devel        3.7.13-1
libsqlite3_0            3.7.13-1
libssh2_1               1.4.2-1
libssp0                 4.5.3-3
libstdc++6              4.5.3-3
libstdc++6-devel        4.5.3-3
libwind0                1.5.2-4
libxml2                 2.9.0-2
libzzip-devel           0.13.60-1
libzzip0.13             0.13.60-1
login                   1.10-10
m4                      1.4.16-1
make                    3.82.90-1
man                     1.6g-1
mingw-binutils          2.21-1
mingw-gcc-core          4.5.2-1
mingw-gcc-g++           4.5.2-1
mingw-pthreads          20110507-1
mingw-runtime           3.20-1
mingw-w32api            3.17-2
mingw64-i686-binutils   2.22.52-1
mingw64-i686-gcc-core   4.5.3-6
mingw64-i686-gcc-g++    4.5.3-6
mingw64-i686-headers    3.0b_svn5591-1
mingw64-i686-pthreads   20100619-4
mingw64-i686-runtime    3.0b_svn5591-1
mingw64-x86_64-binutils 2.22.52-1
mingw64-x86_64-gcc-core 4.5.3-6
mingw64-x86_64-gcc-g++  4.5.3-6
mingw64-x86_64-headers  3.0b_svn5591-1
mingw64-x86_64-pthreads 20100619-4
mingw64-x86_64-runtime  3.0b_svn5591-1
mintty                  1.1.2-1
ncurses                 5.7-18
ncursesw                5.7-18
perl                    5.14.2-3
perl-Error              0.17016-1
perl_vendor             5.14.2-3
pkg-config              0.23b-10
rebase                  4.4.0-1
run                     1.1.13-1
sed                     4.2.1-2
tar                     1.26-1
terminfo                5.7_20091114-14
terminfo0               5.5_20061104-12
texinfo                 4.13-4
tzcode                  2012j-1
w32api                  9999-1
w32api-headers          3.0b_svn5591-1
w32api-runtime          3.0b_svn5591-1
which                   2.20-2
xz                      5.0.2_20110517-1
zlib-devel              1.2.7-1
zlib0                   1.2.7-1


In somewhat related news, I built crawl on my brother's pi a couple days ago. The process was very easy, right out of INSTALL.txt, but compilation took about 8 hours...

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Wednesday, 27th March 2013, 00:11

Re: compiling on Cygwin -- my experience

[strikethrough]There's an extant build bug. It will hopefully be fixed shortly.[/strikethrough]

Edit: It's been fixed. (Thanks, KB!) Do a new pull and recompile.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Wednesday, 27th March 2013, 05:57

Re: compiling on Cygwin -- my experience

Why cygwin instead of msysgit?
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Wednesday, 27th March 2013, 13:12

Re: compiling on Cygwin -- my experience

Rast wrote:I couldn't seem to find much in the way of help for compiling crawl under windows...

I found this link pretty easy to follow when I wanted to do my own builds under Windows:
https://crawl.develz.org/wiki/doku.php?id=dcss:help:git

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Wednesday, 27th March 2013, 22:21

Re: compiling on Cygwin -- my experience

galehar wrote:Why cygwin instead of msysgit?


BlackSheep wrote:I found this link pretty easy to follow when I wanted to do my own builds under Windows:
https://crawl.develz.org/wiki/doku.php?id=dcss:help:git


git is just version control, right?

The main problem I had was compiling.

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Thursday, 28th March 2013, 00:26

Re: compiling on Cygwin -- my experience

The instructions get you msysgit, the code base and the necessary submodules. Once you have everything you need, compiling is just "make".
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Thursday, 28th March 2013, 09:02

Re: compiling on Cygwin -- my experience

The instructions to build crawl under windows with msysgit are in INSTALL.txt, right there in the sources. I have no idea why anyone would bother doing it with cygwin instead. Msys makes native win32 binaries. Cygwin has an emulation layer and the resulting binary depends on cygwin1.dll (or something similar) and won't run on machines without cygwin.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Friday, 29th March 2013, 15:23

Re: compiling on Cygwin -- my experience

"msysgit is a full MinGW setup that even includes Git". ah, I hadn't read that section...

Followed those instructions and they worked beautifully. So I doubt I'll be using cygwin again.

Has anyone gotten crawl to build in visual studio? How hard was it?
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Friday, 29th March 2013, 15:51

Re: compiling on Cygwin -- my experience

Rast wrote:Has anyone gotten crawl to build in visual studio? How hard was it?

Yes, MSVC is supported there are various things in the source about that. I'm not sure if there's any documentation though. I don't think that it's very hard to set up, but I haven't tried (I prefer running eclipse in a virtual boxed debian).
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Dungeon Master

Posts: 1531

Joined: Saturday, 5th March 2011, 06:29

Post Friday, 29th March 2013, 17:42

Re: compiling on Cygwin -- my experience

galehar wrote:Yes, MSVC is supported there are various things in the source about that. I'm not sure if there's any documentation though. I don't think that it's very hard to set up, but I haven't tried (I prefer running eclipse in a virtual boxed debian).


You need an old version of Visual Studio (possibly 2008, maybe even earlier) and the MSVC projects haven't been updated in a long time. As far as I know at least, nobody has built Crawl using MSVC in several years.

There are several Mantis tickets looking at potential resolutions but here is the most recent: https://crawl.develz.org/mantis/view.php?id=4269 - he seemed to get quite far in VS2010 but then work fizzled up. I'd love to see this working one day but it needs a maintainer who understands msbuild far better than me ;)

Return to Technical Support

Who is online

Users browsing this forum: No registered users and 14 guests

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.