FAngband 1.4.5 compile help

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Sacksquatch
    Apprentice
    • Jun 2020
    • 50

    FAngband 1.4.5 compile help

    Hoping someone can help me get this compiled. It's one of my favorites. I'm looking to compile it on linux (Arch), but a win exe for WINE would work too, but I can't find one for 1.4.5.

    When I do ./autogen.sh I get these warnings about deprecation. I assume it's still working though as it's warnings.
    Code:
    *info* running aclocal (-I m4)
    *info* running autoheader
    *info* running autoconf
    configure.ac:6: warning: $as_echo is obsolete; use AS_ECHO(["message"]) instead
    m4/buildsys.m4:179: BUILDSYS_TOUCH_DEPS is expanded from...
    configure.ac:6: the top level
    configure.ac:73: warning: The macro `AC_TYPE_SIGNAL' is obsolete.
    configure.ac:73: You should run autoupdate.
    ./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from...
    configure.ac:73: the top level
    configure.ac:196: warning: The macro `AC_TRY_RUN' is obsolete.
    configure.ac:196: You should run autoupdate.
    ./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
    acinclude.m4:325: AM_PATH_NCURSESW is expanded from...
    configure.ac:196: the top level
    configure.ac:196: warning: The macro `AC_TRY_LINK' is obsolete.
    configure.ac:196: You should run autoupdate.
    ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
    acinclude.m4:325: AM_PATH_NCURSESW is expanded from...
    configure.ac:196: the top level
    configure.ac:225: warning: The macro `AC_TRY_RUN' is obsolete.
    configure.ac:225: You should run autoupdate.
    ./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
    acinclude.m4:156: AM_PATH_SDL is expanded from...
    configure.ac:225: the top level
    configure.ac:225: warning: The macro `AC_TRY_LINK' is obsolete.
    configure.ac:225: You should run autoupdate.
    ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
    acinclude.m4:156: AM_PATH_SDL is expanded from...
    configure.ac:225: the top level
    After this, I'm running ./configure --with-no-install --enable-sdl
    This is the result. I'm not sure what deps I need for ncurses mode. I do have ncurses installed. SDL or ncurses would be fine either way.
    Code:
    checking for tput... /usr/bin/tput
    configure: touching .deps files
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether the compiler supports GNU C... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to enable C11 features... none needed
    checking whether make sets $(MAKE)... yes
    checking whether ln -s works... yes
    checking for a BSD-compatible install... /usr/bin/install -c
    checking for a race-free mkdir -p... /usr/bin/mkdir -p
    checking for windres... no
    checking for rm... /usr/bin/rm
    checking for mv... /usr/bin/mv
    checking for cp... /usr/bin/cp
    checking for dirent.h that defines DIR... yes
    checking for library containing opendir... none required
    checking for stdio.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for strings.h... yes
    checking for sys/stat.h... yes
    checking for sys/types.h... yes
    checking for unistd.h... yes
    checking for fcntl.h... yes
    checking for stdint.h... (cached) yes
    checking for _Bool... yes
    checking for stdbool.h that conforms to C99... yes
    checking for an ANSI C-conforming const... yes
    checking return type of signal handlers... void
    checking for mkdir... yes
    checking for setresgid... yes
    checking for setegid... yes
    checking for stat... yes
    checking if make supports SysV-style inclusion... yes
    checking for make silent include syntax... gnu
    checking for ncursesw5-config... no
    checking for ncurses - wide char support... no
    *** The ncursesw5-config script installed by ncursesw could not be found
    *** If ncursesw was installed in PREFIX, make sure PREFIX/bin is in
    *** your path, or set the NCURSES_CONFIG environment variable to the
    *** full path to ncursesw5-config.
    checking for mvwaddnwstr... no
    checking for use_default_colors... no
    checking for can_change_color... no
    checking how to run the C preprocessor... gcc -E
    checking for X... libraries , headers
    checking for gethostbyname... yes
    checking for connect... yes
    checking for remove... yes
    checking for shmat... yes
    checking for IceConnectionNumber in -lICE... yes
    checking for sdl-config... /usr/bin/sdl-config
    checking for SDL - version >= 1.2.10... yes
    checking for IMG_LoadPNG_RW in -lSDL_image... yes
    checking for TTF_Init in -lSDL_ttf... yes
    checking for Mix_OpenAudio in -lSDL_mixer... no
    configure: creating ./config.status
    config.status: creating mk/buildsys.mk
    config.status: creating mk/extra.mk
    config.status: creating mk/sinclude.mk
    config.status: creating src/autoconf.h
    config.status: src/autoconf.h is unchanged
    
    Configuration:
    
      Install path:                           (not used)
      binary path:                            ..
      config path:                            /home/sasquatch/FAangband1.4.5/FAangband-oldmain/lib/
      lib path:                               /home/sasquatch/FAangband1.4.5/FAangband-oldmain/lib/
      var path:                               /home/sasquatch/FAangband1.4.5/FAangband-oldmain/lib/
    
    -- Frontends --
    - Curses                                  No; missing libraries
    - X11                                     Yes
    - SDL                                     Yes
    - Windows                                 Disabled
    - Test                                    No
    - Stats                                   No
    
    - SDL sound                               No; missing libraries
    Things look good until birth.o
    Then I get a lot of this, and some errors. I omitted most of it, as it's lengthy, but it starts on birth.o.
    Code:
    /usr/bin/ld: z-file.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/z-file.c:54: multiple definition of `player_egid'; variable.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/variable.c:146: first defined here
    /usr/bin/ld: z-form.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/mapmode.h:192: multiple definition of `g_info'; attack.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/mapmode.h:192: first defined here
    /usr/bin/ld: z-term.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/mapmode.h:192: multiple definition of `g_info'; attack.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/mapmode.h:192: first defined here
    collect2: error: ld returned 1 exit status
    make[3]: *** [Makefile:25: faangband.o] Error 1
    make[3]: Leaving directory '/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src'
    make[2]: *** [../mk/buildsys.mk:112: all] Error 2
    make[2]: Leaving directory '/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src'
    make[1]: *** [mk/buildsys.mk:115: subdirs] Error 2
    make[1]: Leaving directory '/home/sasquatch/FAangband1.4.5/FAangband-oldmain'
    make: *** [mk/buildsys.mk:110: all] Error 2
  • backwardsEric
    Knight
    • Aug 2019
    • 527

    #2
    Use a text editor to modify src/mapmode.h to replace the line

    Code:
    const byte g_info[196];
    with

    Code:
    extern const byte g_info[196];
    player_egid is declared in two headers, externs.h and z-file.h. In the repository at https://github.com/NickMcConnell/FAangband/tree/oldmain , both of those are declaring player_egid as

    Code:
    extern int player_egid;
    If the "extern" is missing for player_egid in your versions of externs.h or z-file.h, modify the file(s) to add it.

    With those changes in place, rerun make and that should resolve the errors from the linker (you may need "make clean" first if, for some reason, make doesn't regenerate object files because of the change to the header file).

    Comment

    • backwardsEric
      Knight
      • Aug 2019
      • 527

      #3
      For ncurses, many Linux distributions use ncurses6 rather than ncurses5. If that's true in your case, using this when running configure,

      Code:
      ./configure NCURSES_CONFIG=`which ncursesw6-config` [put the other configure options you want here]
      , should let configure detect the installed ncurses as long as ncursesw6-config is in your path.

      Comment

      • Sacksquatch
        Apprentice
        • Jun 2020
        • 50

        #4
        I have quite a bit more giving me 'multiple definition' .. 'first defined here'. I left them out to keep the post from being huge. Do I need to put 'extern' in front of all of those?

        I'm willing to do it, I'm just not sure if that's what I should do or not. If posting the whole list will help I'll drop it now that it's much shorter:
        Code:
        Successfully compiled z-textblock.c.
        /usr/bin/ld: cave.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: cave.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: cave.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: cmd2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: cmd2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: cmd2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: cmd3.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: cmd3.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: cmd3.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: cmd-obj.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: cmd-obj.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: cmd-obj.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: dungeon.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: dungeon.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: generate.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: generate.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: gen-cave.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: gen-cave.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: gen-monster.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: gen-monster.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: gen-room.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: gen-room.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: gen-util.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: gen-util.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: gen-wilderness.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: gen-wilderness.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: identify.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: identify.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: identify.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: init.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: init.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: init.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: init.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: init.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: load.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: load.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: load.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: monmove.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: monmove.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: monmove.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: obj-desc.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: obj-desc.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: obj-desc.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: obj-make.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: obj-make.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: obj-make.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: obj-util.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: obj-util.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: obj-util.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: obj-util.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: obj-util.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: pathfind.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: pathfind.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: pathfind.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: play-calcs.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: play-calcs.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: play-calcs.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: prefs.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: prefs.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: prefs.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: save.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: save.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: save.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: spells1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: spells1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: spells2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: spells2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: spells2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: spells2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: spells2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: squelch.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: squelch.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: squelch.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: store.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: store.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: store.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: trap.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: multiple definition of `level_hgt'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:228: first defined here
        /usr/bin/ld: trap.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: multiple definition of `level_wid'; cmd1.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.h:229: first defined here
        /usr/bin/ld: trap.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: trap.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: trap.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: target.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: target.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: target.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: ui-knowledge.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: ui-knowledge.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: ui-knowledge.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: ui-options.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: ui-options.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: ui-options.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: variable.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/variable.c:80: multiple definition of `character_icky'; ui.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/ui.c:262: first defined here
        /usr/bin/ld: xtra2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: multiple definition of `quality_choices'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:75: first defined here
        /usr/bin/ld: xtra2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: multiple definition of `quality_strings'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:76: first defined here
        /usr/bin/ld: xtra2.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: multiple definition of `sval_dependent'; birth.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/squelch.h:78: first defined here
        /usr/bin/ld: z-file.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/z-file.c:53: multiple definition of `player_uid'; variable.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/variable.c:144: first defined here
        /usr/bin/ld: z-file.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/z-file.c:54: multiple definition of `player_egid'; variable.o:/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/variable.c:146: first defined here
        collect2: error: ld returned 1 exit status
        make[3]: *** [Makefile:25: faangband.o] Error 1
        make[3]: Leaving directory '/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src'
        make[2]: *** [../mk/buildsys.mk:112: all] Error 2
        make[2]: Leaving directory '/home/sasquatch/FAangband1.4.5/FAangband-oldmain/src'
        make[1]: *** [mk/buildsys.mk:115: subdirs] Error 2
        make[1]: Leaving directory '/home/sasquatch/FAangband1.4.5/FAangband-oldmain'
        make: *** [mk/buildsys.mk:110: all] Error 2
        Also, I still got ncurses 'NO; Missing Libraries'. The result of which ncursesw6-config is /usr/bin/ncursesw6-config
        Last edited by Sacksquatch; December 7, 2023, 22:36.

        Comment

        • backwardsEric
          Knight
          • Aug 2019
          • 527

          #5
          Originally posted by Sacksquatch
          I have quite a bit more giving me 'multiple definition' .. 'first defined here'. I left them out to keep the post from being huge. Do I need to put 'extern' in front of all of those?
          Yes, that's what you would need to do for the multiple definition errors from squelch.h and generate.h. For the multiple definitions of player_egid and player_uid, those are defined in both variable.c and z-file.c. I'd delete or comment out the definitions in z-file.c at lines 50 to 54.

          For the ncurses detection, it's hard to say what went wrong without the output from

          Code:
          ./configure NCURSES_CONFIG=/usr/bin/ncursesw6-config --with-no-install --enable-sdl

          Comment

          • Sacksquatch
            Apprentice
            • Jun 2020
            • 50

            #6
            I just tried configure again and ncurses is available. I must have done a typo.

            Later tonight or tomorrow I'll edit those files and come back with success or failure. I appreciate your help!

            Comment

            • Sacksquatch
              Apprentice
              • Jun 2020
              • 50

              #7
              I also put 'extern' in front of 'character_icky' in line 80 of variable.c as it was giving the same 'multiple definition'. I guess that's ok since I'm getting way past that in the compile now.

              Here's where we be now.

              Code:
              /usr/bin/ld: faangband.o: warning: relocation against `level_wid' in read-only section `.text'
              /usr/bin/ld: faangband.o: in function `generate_cave':
              /home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.c:486:(.text+0x3edf3): undefined reference to `level_hgt'
              /usr/bin/ld: /home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/generate.c:487:(.text+0x3edfd): undefined reference to `level_wid'
              /usr/bin/ld: faangband.o: in function `drop_near':
              /home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/obj-util.c:2676:(.text+0xb6621): undefined reference to `level_hgt'
              /usr/bin/ld: /home/sasquatch/FAangband1.4.5/FAangband-oldmain/src/obj-util.c:2677:(.text+0xb6634): undefined reference to `level_wid'
              /usr/bin/ld: warning: creating DT_TEXTREL in a PIE
              collect2: error: ld returned 1 exit status

              Comment

              • backwardsEric
                Knight
                • Aug 2019
                • 527

                #8
                Add definitions for level_wid and level_hgt to variable.c. I'd put them after the definition for rating. So, with the change, that part of variable.c would look like:

                Code:
                /*
                 * Dungeon variables
                 */
                
                u16b feeling;
                s16b rating;
                int level_hgt;
                int level_wid;
                Without that change, level_wid and level_hgt are not defined anywhere.

                Comment

                • Sacksquatch
                  Apprentice
                  • Jun 2020
                  • 50

                  #9
                  Ayyy! Thank you very much Mr Eric!
                  You are a king.

                  Now to repeat this on the lappy and have this everywhere lol.

                  Comment

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