Getting Angband from Github and compiling it

Collapse
This is a sticky topic.
X
X
 
  • Time
  • Show
Clear All
new posts

  • takkaria
    replied
    Originally posted by TricksterWolf
    First off, much thanks for the rapid response.

    Unfortunately, that command is what NetBeans was trying. Invoking it from within Cygwin produces the same errors.

    For an exact quote, when building angband's current release (3.3.2):

    Code:
    [B]$ make -f Makefile[/B]
    mk/buildsys.mk:21: mk/extra.mk: No such file or directory
    mk/buildsys.mk:377: mk/sinclude.mk: No such file or directory
    make: *** No rule to make target `mk/sinclude.mk'.  Stop.
    Ah, you shouldn't be using Makefile - use Makefile.win, it's the Windows-specific one, in the same way Makefile.osx is for OS X etc.

    Leave a comment:


  • Nick
    replied
    Originally posted by TricksterWolf
    P.S. Is there a Java version of Angband-style roguelikes available anywhere which uses graphical tiles, aside from the impending ToME rebirth? That'd be a much faster tool for what I want to do (my own variant, open-source).
    I don't believe so (although I have a vague feeling that there has been at least one abortive attempt).

    Going further off-thread-topic, a post about your incipient variant would be interesting.

    Leave a comment:


  • LostTemplar
    replied
    I allways have troubles with all this autoconf stuff too, btw simple make -f Makefile.win from cygwin environment works (after I manually edit this file and insert correct paths to gcc, etc. makefile by itself tends to obtain paths from environment variables but just editing makefile was simpler solution for me)

    Leave a comment:


  • TricksterWolf
    replied
    Thank you both for the help!

    I'll add the package and test it again soon...my time is not free at the moment.

    Leave a comment:


  • myshkin
    replied
    Originally posted by TricksterWolf
    Aha! Now we're on the right track.

    Several questions:

    1) autogen.sh kicks back:

    Code:
    [B]$ ./autogen.sh[/B]
    *info* running aclocal
    ./autogen.sh: line 38: aclocal: command not found
    *error* aclocal failed. (exit code = 127)
    This sounds like I don't have something installed through Cygwin that I need in order to complete the pre-compilation step, or maybe it's just a path issue. I'm not nixie-enough to know offhand, but I'm looking online for more info...
    Yes, you need the autoconf package.

    Originally posted by TricksterWolf
    2) Will I need to rerun autogen.sh every time I clean and build? If so, I'll make a batch file and have NetBeans run that instead...if not I'll just do it the once.
    No, just the once should be sufficient.

    Originally posted by TricksterWolf

    3) Two attempts at ./configure, under the root directory for the project:

    [CODE]$ ./configure
    -bash: ./configure: No such file or directory
    The autogen.sh script creates the configure script from configure.ac, and so you'll need autoconf before you can proceed.

    Leave a comment:


  • TricksterWolf
    replied
    Originally posted by myshkin
    To add to Derakon's hints, if you have access to the autoconf toolchain, you can build the *.mk files from the *.mk.in files by running the shell script autogen.sh at the top level of the source tree, and then by running configure with the options you desire. (Run ./configure --help to see the available flags.)
    Aha! Now we're on the right track.

    Several questions:

    1) autogen.sh kicks back:

    Code:
    [B]$ ./autogen.sh[/B]
    *info* running aclocal
    ./autogen.sh: line 38: aclocal: command not found
    *error* aclocal failed. (exit code = 127)
    This sounds like I don't have something installed through Cygwin that I need in order to complete the pre-compilation step, or maybe it's just a path issue. I'm not nixie-enough to know offhand, but I'm looking online for more info...

    2) Will I need to rerun autogen.sh every time I clean and build? If so, I'll make a batch file and have NetBeans run that instead...if not I'll just do it the once.

    EDIT:

    3) Two attempts at ./configure, under the root directory for the project:

    Code:
    [B]$ ./configure[/B]
    -bash: ./configure: No such file or directory
    
    [B]$ ./configure.ac[/B]
    ./configure.ac: line 1: dnl: command not found
    ./configure.ac: line 2: syntax error near unexpected token `[Angband],'
    ./configure.ac: line 2: `AC_INIT([Angband], [3.3.2], [bugs@rephial.org], [angband])'
    Last edited by TricksterWolf; September 3, 2012, 03:00.

    Leave a comment:


  • TricksterWolf
    replied
    Originally posted by Derakon
    Generally-speaking, the recommended build method is to use GCC and the "make" command on the command line. For example, on OSX I'd do "make -f Makefile.osx".
    First off, much thanks for the rapid response.

    Unfortunately, that command is what NetBeans was trying. Invoking it from within Cygwin produces the same errors.

    For an exact quote, when building angband's current release (3.3.2):

    Code:
    [B]$ make -f Makefile[/B]
    mk/buildsys.mk:21: mk/extra.mk: No such file or directory
    mk/buildsys.mk:377: mk/sinclude.mk: No such file or directory
    make: *** No rule to make target `mk/sinclude.mk'.  Stop.
    As for the Java question, I probably deserve a LMGTFY for that one. :P I was just curious if you had any inside knowledge of recent Java roguelike activity beyond what I might readily find, but I appreciate the look.

    Leave a comment:


  • myshkin
    replied
    Originally posted by TricksterWolf
    Hey there. I'm a competent programmer (and instructor, though I prefer Java for my own projects) who unfortunately hasn't set up a C++ project by herself in ages. I have the latest build of Angband and v4 both set up under NetBeans, but when I try to build either one I get messages saying buildsys.mk cannot find various other *.mk files.

    The weird thing is I can clearly see where it's looking for *.mk files in buildsys.mk, but those files are named *.mk.in in the repository. Changing the name of the file definitely doesn't fix it. I haven't tried changing the names in buildsys.mk because that seems a stupid guess too.
    To add to Derakon's hints, if you have access to the autoconf toolchain, you can build the *.mk files from the *.mk.in files by running the shell script autogen.sh at the top level of the source tree, and then by running configure with the options you desire. (Run ./configure --help to see the available flags.)

    Leave a comment:


  • Derakon
    replied
    Assuming you're trying to build on Windows, unfortunately our Windows build chain is not very well-documented, and the people who know how to do it (mostly Blubaron, IIRC) aren't around much. Mostly the Windows build is generated by cross-compiling on Linux (i.e. one of our Linux devs uses a special makefile that generates a Windows binary).

    Generally-speaking, the recommended build method is to use GCC and the "make" command on the command line. For example, on OSX I'd do "make -f Makefile.osx".

    I did a quick Google search for Java roguelikes and found this list and this engine project that doesn't look like it's been updated recently but may still be helpful.

    Sorry I don't have more useful information. Good luck!

    Leave a comment:


  • TricksterWolf
    replied
    A Wild Noob Appears

    Hey there. I'm a competent programmer (and instructor, though I prefer Java for my own projects) who unfortunately hasn't set up a C++ project by herself in ages. I have the latest build of Angband and v4 both set up under NetBeans, but when I try to build either one I get messages saying buildsys.mk cannot find various other *.mk files.

    The weird thing is I can clearly see where it's looking for *.mk files in buildsys.mk, but those files are named *.mk.in in the repository. Changing the name of the file definitely doesn't fix it. I haven't tried changing the names in buildsys.mk because that seems a stupid guess too.

    I'm certain I'm doing something unacceptably stupid but I hope that asking this question will save me a ton of time futzing with the settings in an unfamiliar environment.

    P.S. Is there a Java version of Angband-style roguelikes available anywhere which uses graphical tiles, aside from the impending ToME rebirth? That'd be a much faster tool for what I want to do (my own variant, open-source).

    Leave a comment:


  • wuphonsreach
    replied
    Pastebin (and created a new thread instead):

    Leave a comment:


  • Magnate
    replied
    Originally posted by wuphonsreach
    Under the old 3.0.9 build, it was possible to have a shared score file across the entire multi-user system under Linux. In 3.3.2, I haven't figured out how to convince Angband to do that.

    I've tried setting up the ANGBAND_PATH environment variable (using a .sh file under /etc/profile.d), but it still puts everything under ~/.angband. Is that variable still used?
    No. If you've installed --with-setgid=games (or indeed any group), the score file should be in /var/games/angband/scores.raw. Can you pastebin the output of ./configure, and also the output of make install?

    Leave a comment:


  • wuphonsreach
    replied
    Originally posted by Magnate
    --with-setgid=groupname, if you want a system-wide installation (i.e. for all users)
    Under the old 3.0.9 build, it was possible to have a shared score file across the entire multi-user system under Linux. In 3.3.2, I haven't figured out how to convince Angband to do that.

    I've tried setting up the ANGBAND_PATH environment variable (using a .sh file under /etc/profile.d), but it still puts everything under ~/.angband. Is that variable still used?

    Leave a comment:


  • Magnate
    replied
    Originally posted by PowerDiver
    Type aclocal at a command prompt. You might see something like
    Code:
    aclocal
    The program 'aclocal' can be found in the following packages:
     * automake
     * automake1.10
     * automake1.4
     * automake1.9
     * automake1.7
    Try: sudo apt-get install <selected package>
    in which case you need to install automake. It is also likely that you will need to install libx11-dev.
    That's a neat feature. On my system you'd have to use apt-cache search aclocal or apt-file search aclocal. Anyway, the full set of deps can be installed with

    sudo apt-get install build-essential debhelper autotools-dev libncursesw5-dev libglade2-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev libsqlite3-dev libtexlive-latex-extra

    Note that you can get away with fewer if you don't need certain modules built:

    libncursesw5-dev is for the -mgcu port
    libglade2-dev is for the -mgtk port
    libsdl* are for the -msdl port
    libsqlite3-dev is for the -mstats module (needs 3GB RAM!)

    You can remove any of these, though if you remove libglade2-dev you will need to install libx11-dev explicitly to build the -mx11 port, along with libice6-dev and libsm6-dev.

    texlive-latex-extra is for the 3.3.x documentation, which has been replaced in 3.4-dev versions by RST docs, so this is only necessary if you are building 3.3.x

    Also, please note that make distclean will undo the changes made by running autogen.sh and configure, so the correct sequence of commands is

    ./autogen.sh
    ./configure --with-my-options
    make
    make install

    Leave a comment:


  • PowerDiver
    replied
    Type aclocal at a command prompt. You might see something like
    Code:
    aclocal
    The program 'aclocal' can be found in the following packages:
     * automake
     * automake1.10
     * automake1.4
     * automake1.9
     * automake1.7
    Try: sudo apt-get install <selected package>
    in which case you need to install automake. It is also likely that you will need to install libx11-dev.

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎