[Daj]Compiling DajAngband on Linux?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Poop Loops
    Scout
    • May 2008
    • 49

    [Daj]Compiling DajAngband on Linux?

    How do you do it? I downloaded it from here:

    Latest news coverage, email, free stock quotes, live scores and video are just the beginning. Discover more every day at Yahoo!


    And it says there is source code for it. I am running Ubuntu and am pretty much a n00b when it comes to Linux, so I'm not sure what to look for even. I've compiled stuff before... in fact I get paid to work on code using Linux... but I'm still learning.
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9634

    #2
    It is missing the top level Makefile, but you can get the one from Vanilla 3.0.9b; also, the configure script has the wrong permissions, and will need to be fixed. So here is what I did (I also use Ubuntu):
    1. Copy Makefile from the top level directory of angband-3.0.9b to the top level directory of DaJAngband.
    2. chmod 744 configure
    3. ./configure
    4. make
    5. make install


    If you want the sdl port, put --enable-sdl after the ./configure; similarly, --enable-gtk will enable the gtk port. You'll get a bunch of warnings during the make step which can be safely ignored
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.

    Comment

    • Poop Loops
      Scout
      • May 2008
      • 49

      #3
      sdl and gtk. Those are foreign to me...

      Also, should I be able to just type dajangband into the terminal to start it up? I'm getting a lot of errors when running make and make install, so I don't know if that's normal or something is wrong.

      Here's what happens when I run make:

      Code:
      tomek@tomek:~/Desktop/DaJAngband1093$ make
              CC     main-gcu.c          
      In file included from angband.h:33,
                       from main-gcu.c:39:
      defines.h:1845:41: warning: "/*" within comment
      In file included from angband.h:37,
                       from main-gcu.c:39:
      externs.h:524:48: warning: "/*" within comment
      main-gcu.c:63:22: error: ncurses.h: No such file or directory
      main-gcu.c:132: error: expected specifier-qualifier-list before ‘WINDOW’
      main-gcu.c: In function ‘Term_xtra_gcu_alive’:
      main-gcu.c:279: warning: implicit declaration of function ‘nocbreak’
      main-gcu.c:280: warning: implicit declaration of function ‘echo’
      main-gcu.c:281: warning: implicit declaration of function ‘nl’
      main-gcu.c:287: warning: implicit declaration of function ‘refresh’
      main-gcu.c:290: warning: implicit declaration of function ‘getyx’
      main-gcu.c:290: error: ‘curscr’ undeclared (first use in this function)
      main-gcu.c:290: error: (Each undeclared identifier is reported only once
      main-gcu.c:290: error: for each function it appears in.)
      main-gcu.c:293: warning: implicit declaration of function ‘mvcur’
      main-gcu.c:293: error: ‘LINES’ undeclared (first use in this function)
      main-gcu.c:296: warning: implicit declaration of function ‘endwin’
      main-gcu.c:310: warning: implicit declaration of function ‘cbreak’
      main-gcu.c:311: warning: implicit declaration of function ‘noecho’
      main-gcu.c:312: warning: implicit declaration of function ‘nonl’
      main-gcu.c: In function ‘Term_init_gcu’:
      main-gcu.c:341: warning: implicit declaration of function ‘wrefresh’
      main-gcu.c:341: error: ‘stdscr’ undeclared (first use in this function)
      main-gcu.c:347: warning: implicit declaration of function ‘wclear’
      main-gcu.c:347: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:350: warning: implicit declaration of function ‘wmove’
      main-gcu.c:350: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:353: error: ‘term_data’ has no member named ‘win’
      main-gcu.c: In function ‘Term_nuke_gcu’:
      main-gcu.c:369: warning: implicit declaration of function ‘delwin’
      main-gcu.c:369: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:383: error: ‘curscr’ undeclared (first use in this function)
      main-gcu.c:386: error: ‘LINES’ undeclared (first use in this function)
      main-gcu.c: In function ‘Term_xtra_gcu_event’:
      main-gcu.c:415: warning: implicit declaration of function ‘nodelay’
      main-gcu.c:415: error: ‘stdscr’ undeclared (first use in this function)
      main-gcu.c:418: warning: implicit declaration of function ‘getch’
      main-gcu.c:421: error: ‘ERR’ undeclared (first use in this function)
      main-gcu.c: In function ‘Term_xtra_gcu’:
      main-gcu.c:505: warning: implicit declaration of function ‘touchwin’
      main-gcu.c:505: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:506: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:516: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:523: warning: implicit declaration of function ‘curs_set’
      main-gcu.c: In function ‘Term_curs_gcu’:
      main-gcu.c:566: error: ‘term_data’ has no member named ‘win’
      main-gcu.c: In function ‘Term_wipe_gcu’:
      main-gcu.c:583: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:588: warning: implicit declaration of function ‘wclrtoeol’
      main-gcu.c:588: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:598: warning: implicit declaration of function ‘waddstr’
      main-gcu.c:598: error: ‘term_data’ has no member named ‘win’
      main-gcu.c: In function ‘Term_text_gcu’:
      main-gcu.c:620: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:626: error: ‘term_data’ has no member named ‘win’
      main-gcu.c: In function ‘term_data_init_gcu’:
      main-gcu.c:648: error: ‘term_data’ has no member named ‘win’
      main-gcu.c:648: warning: implicit declaration of function ‘newwin’
      main-gcu.c:651: error: ‘term_data’ has no member named ‘win’
      main-gcu.c: In function ‘init_gcu’:
      main-gcu.c:712: error: ‘bool’ undeclared (first use in this function)
      main-gcu.c:712: error: expected ‘;’ before ‘use_big_screen’
      main-gcu.c:720: error: ‘use_big_screen’ undeclared (first use in this function)
      main-gcu.c:732: warning: implicit declaration of function ‘initscr’
      main-gcu.c:732: warning: comparison between pointer and integer
      main-gcu.c:738: error: ‘LINES’ undeclared (first use in this function)
      main-gcu.c:738: error: ‘COLS’ undeclared (first use in this function)
      main-gcu.c:822: error: ‘stdscr’ undeclared (first use in this function)
      make[2]: *** [main-gcu.o] Error 1
      make[1]: *** [build] Error 2
      make: *** [build] Error 2
      tomek@tomek:~/Desktop/DaJAngband1093$
      So it doesn't even compile it seems.

      Comment

      • takkaria
        Veteran
        • Apr 2007
        • 1951

        #4
        Originally posted by Poop Loops
        sdl and gtk. Those are foreign to me...

        Also, should I be able to just type dajangband into the terminal to start it up? I'm getting a lot of errors when running make and make install, so I don't know if that's normal or something is wrong.

        Here's what happens when I run make:

        Code:
        tomek@tomek:~/Desktop/DaJAngband1093$ make
                CC     main-gcu.c          
        In file included from angband.h:33,
                         from main-gcu.c:39:
        defines.h:1845:41: warning: "/*" within comment
        In file included from angband.h:37,
                         from main-gcu.c:39:
        externs.h:524:48: warning: "/*" within comment
        main-gcu.c:63:22: error: ncurses.h: No such file or directory
        main-gcu.c:132: error: expected specifier-qualifier-list before ‘WINDOW’
        main-gcu.c: In function ‘Term_xtra_gcu_alive’:
        main-gcu.c:279: warning: implicit declaration of function ‘nocbreak’
        main-gcu.c:280: warning: implicit declaration of function ‘echo’
        main-gcu.c:281: warning: implicit declaration of function ‘nl’
        main-gcu.c:287: warning: implicit declaration of function ‘refresh’
        main-gcu.c:290: warning: implicit declaration of function ‘getyx’
        main-gcu.c:290: error: ‘curscr’ undeclared (first use in this function)
        main-gcu.c:290: error: (Each undeclared identifier is reported only once
        main-gcu.c:290: error: for each function it appears in.)
        main-gcu.c:293: warning: implicit declaration of function ‘mvcur’
        main-gcu.c:293: error: ‘LINES’ undeclared (first use in this function)
        main-gcu.c:296: warning: implicit declaration of function ‘endwin’
        main-gcu.c:310: warning: implicit declaration of function ‘cbreak’
        main-gcu.c:311: warning: implicit declaration of function ‘noecho’
        main-gcu.c:312: warning: implicit declaration of function ‘nonl’
        main-gcu.c: In function ‘Term_init_gcu’:
        main-gcu.c:341: warning: implicit declaration of function ‘wrefresh’
        main-gcu.c:341: error: ‘stdscr’ undeclared (first use in this function)
        main-gcu.c:347: warning: implicit declaration of function ‘wclear’
        main-gcu.c:347: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:350: warning: implicit declaration of function ‘wmove’
        main-gcu.c:350: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:353: error: ‘term_data’ has no member named ‘win’
        main-gcu.c: In function ‘Term_nuke_gcu’:
        main-gcu.c:369: warning: implicit declaration of function ‘delwin’
        main-gcu.c:369: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:383: error: ‘curscr’ undeclared (first use in this function)
        main-gcu.c:386: error: ‘LINES’ undeclared (first use in this function)
        main-gcu.c: In function ‘Term_xtra_gcu_event’:
        main-gcu.c:415: warning: implicit declaration of function ‘nodelay’
        main-gcu.c:415: error: ‘stdscr’ undeclared (first use in this function)
        main-gcu.c:418: warning: implicit declaration of function ‘getch’
        main-gcu.c:421: error: ‘ERR’ undeclared (first use in this function)
        main-gcu.c: In function ‘Term_xtra_gcu’:
        main-gcu.c:505: warning: implicit declaration of function ‘touchwin’
        main-gcu.c:505: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:506: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:516: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:523: warning: implicit declaration of function ‘curs_set’
        main-gcu.c: In function ‘Term_curs_gcu’:
        main-gcu.c:566: error: ‘term_data’ has no member named ‘win’
        main-gcu.c: In function ‘Term_wipe_gcu’:
        main-gcu.c:583: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:588: warning: implicit declaration of function ‘wclrtoeol’
        main-gcu.c:588: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:598: warning: implicit declaration of function ‘waddstr’
        main-gcu.c:598: error: ‘term_data’ has no member named ‘win’
        main-gcu.c: In function ‘Term_text_gcu’:
        main-gcu.c:620: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:626: error: ‘term_data’ has no member named ‘win’
        main-gcu.c: In function ‘term_data_init_gcu’:
        main-gcu.c:648: error: ‘term_data’ has no member named ‘win’
        main-gcu.c:648: warning: implicit declaration of function ‘newwin’
        main-gcu.c:651: error: ‘term_data’ has no member named ‘win’
        main-gcu.c: In function ‘init_gcu’:
        main-gcu.c:712: error: ‘bool’ undeclared (first use in this function)
        main-gcu.c:712: error: expected ‘;’ before ‘use_big_screen’
        main-gcu.c:720: error: ‘use_big_screen’ undeclared (first use in this function)
        main-gcu.c:732: warning: implicit declaration of function ‘initscr’
        main-gcu.c:732: warning: comparison between pointer and integer
        main-gcu.c:738: error: ‘LINES’ undeclared (first use in this function)
        main-gcu.c:738: error: ‘COLS’ undeclared (first use in this function)
        main-gcu.c:822: error: ‘stdscr’ undeclared (first use in this function)
        make[2]: *** [main-gcu.o] Error 1
        make[1]: *** [build] Error 2
        make: *** [build] Error 2
        tomek@tomek:~/Desktop/DaJAngband1093$
        So it doesn't even compile it seems.
        Install the ncurses development files and it will. The problem above is inherited from V 3.0.9a
        takkaria whispers something about options. -more-

        Comment

        • will_asher
          DaJAngband Maintainer
          • Apr 2007
          • 1124

          #5
          Sorry, I really don't know anything about Linux. Is there a file I can copy from Angband 3.0.9b so people don't have this problem in future versions of DaJAngband?

          PS thanks for playing
          Will_Asher
          aka LibraryAdventurer

          My old variant DaJAngband:
          http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

          Comment

          • Poop Loops
            Scout
            • May 2008
            • 49

            #6
            I've been playing it through Wine so far, and it's a really nice mod. The modified shop system really made me change my play style.

            Comment

            • Poop Loops
              Scout
              • May 2008
              • 49

              #7
              Originally posted by takkaria
              Install the ncurses development files and it will. The problem above is inherited from V 3.0.9a
              OK, so I can run configure and make no problem, but this is what happens when I run make install:

              Code:
              tomek@tomek:~/Desktop/DaJAngband1093$ make install
              /usr/bin/install: cannot change permissions of `/usr/local/include/angband': No such file or directory
              make: *** [install] Error 1
              tomek@tomek:~/Desktop/DaJAngband1093$

              Comment

              • Nick
                Vanilla maintainer
                • Apr 2007
                • 9634

                #8
                Hm. That used to happen to me with V, but DaJ worked OK. The quick workaround is copy angband (which is what the binary is called) from the src directory up one, then run it form there.
                One for the Dark Lord on his dark throne
                In the Land of Mordor where the Shadows lie.

                Comment

                • roustk
                  Adept
                  • Dec 2007
                  • 167

                  #9
                  Originally posted by Poop Loops
                  Code:
                  tomek@tomek:~/Desktop/DaJAngband1093$ make install
                  /usr/bin/install: cannot change permissions of `/usr/local/include/angband': No such file or directory
                  make: *** [install] Error 1
                  tomek@tomek:~/Desktop/DaJAngband1093$
                  Looks like it is trying to install it at the system level (/usr/local), so you probably need to do it as superuser. Try 'sudo make install' and give it your login password.

                  Kevin

                  Comment

                  • Poop Loops
                    Scout
                    • May 2008
                    • 49

                    #10
                    Well Okay, I got it to run, but I was hoping to make it so I can just type dajangband anywhere in the terminal and get it to run. That's how angband is set up, among other apps.

                    Comment

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