Getting Angband from Github and compiling it

Collapse
This is a sticky topic.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Azerath
    Rookie
    • Jun 2011
    • 21

    #46
    How you building "with VS 2010 Ex" using nmake? nmake is part of Win SDK.

    Comment

    • ehertlein
      Scout
      • Aug 2007
      • 40

      #47
      Originally posted by Azerath
      How you building "with VS 2010 Ex" using nmake? nmake is part of Win SDK.
      I have installed Visual Studio 2010 Express. I choose Visual Studio 2010 Express -> Visual Studio Tools -> Visual Studio 2010 Command Line. I navigate the to angband src directory and type nmake /F Makefile.nmake.

      I am not trying to build within the IDE if thats what you are asking.

      Comment

      • remen
        Rookie
        • Jan 2012
        • 18

        #48
        4. Change directory into dirname, and that's basically it - you are now able to build
        That's only beginning :-)

        Could someone describe the sequence of the next steps for Linux?

        ./autogen.sh
        ./configure
        make distclean



        In my case (Ubuntu)./autogen.sh output is

        *info* running aclocal (-I m4)
        ./autogen.sh: 49: aclocal: not found
        *error* aclocal failed. (exit code = 127)
        So i guess I'm doing something wrong.

        Comment

        • PowerDiver
          Prophet
          • Mar 2008
          • 2820

          #49
          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.

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #50
            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
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

            • wuphonsreach
              Rookie
              • May 2012
              • 17

              #51
              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?

              Comment

              • Magnate
                Angband Devteam member
                • May 2007
                • 5110

                #52
                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?
                "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                Comment

                • wuphonsreach
                  Rookie
                  • May 2012
                  • 17

                  #53
                  Pastebin (and created a new thread instead):

                  Comment

                  • TricksterWolf
                    Scout
                    • Sep 2012
                    • 43

                    #54
                    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).

                    Comment

                    • Derakon
                      Prophet
                      • Dec 2009
                      • 9022

                      #55
                      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!

                      Comment

                      • myshkin
                        Angband Devteam member
                        • Apr 2007
                        • 334

                        #56
                        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.)

                        Comment

                        • TricksterWolf
                          Scout
                          • Sep 2012
                          • 43

                          #57
                          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.

                          Comment

                          • TricksterWolf
                            Scout
                            • Sep 2012
                            • 43

                            #58
                            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.

                            Comment

                            • myshkin
                              Angband Devteam member
                              • Apr 2007
                              • 334

                              #59
                              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.

                              Comment

                              • TricksterWolf
                                Scout
                                • Sep 2012
                                • 43

                                #60
                                Thank you both for the help!

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

                                Comment

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