Angband 4.2.4 Windows SDL2 Build Issue

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • docrobot
    Rookie
    • Feb 2022
    • 3

    Angband 4.2.4 Windows SDL2 Build Issue

    Not even sure if this is the right place for it, but here goes. I'm attempting a MSYS2 compile of Angband (version 4.2.4, from the source tarball) for Windows using SDL2, as per the steps in the compiling instructions guide, and it appears to be failing during linking with...

    Code:
    $ make -f Makefile.msys2.sdl2 -j9
          LINK angband
    D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lbrotlidec-static: No such file or directory
    D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lbrotlicommon-static: No such file or directory
    collect2.exe: error: ld returned 1 exit status
    make: *** [Makefile.msys2.sdl2:109: angband] Error 1
    The output of a 'pacman -Ss brotli' yields...

    Code:
    $ pacman -Ss brotli
    mingw32/mingw-w64-i686-brotli 1.0.9-4
        Brotli compression library (mingw-w64)
    mingw32/mingw-w64-i686-brotli-testdata 1.0.9-4
        Brotli compression library (mingw-w64)
    mingw32/mingw-w64-i686-python-brotli 1.0.9-4
        Brotli compression library (mingw-w64)
    mingw64/mingw-w64-x86_64-brotli 1.0.9-4 [B][installed][/B]
        Brotli compression library (mingw-w64)
    mingw64/mingw-w64-x86_64-brotli-testdata 1.0.9-4
        Brotli compression library (mingw-w64)
    mingw64/mingw-w64-x86_64-python-brotli 1.0.9-4
        Brotli compression library (mingw-w64)
    ucrt64/mingw-w64-ucrt-x86_64-brotli 1.0.9-4
        Brotli compression library (mingw-w64)
    ucrt64/mingw-w64-ucrt-x86_64-brotli-testdata 1.0.9-4
        Brotli compression library (mingw-w64)
    ucrt64/mingw-w64-ucrt-x86_64-python-brotli 1.0.9-4
        Brotli compression library (mingw-w64)
    clang64/mingw-w64-clang-x86_64-brotli 1.0.9-4
        Brotli compression library (mingw-w64)
    clang64/mingw-w64-clang-x86_64-brotli-testdata 1.0.9-4
        Brotli compression library (mingw-w64)
    clang64/mingw-w64-clang-x86_64-python-brotli 1.0.9-4
        Brotli compression library (mingw-w64)
    msys/brotli 1.0.9-2 [B][installed][/B]
        Brotli compression library
    msys/brotli-devel 1.0.9-2
        Brotli compression library
    msys/brotli-testdata 1.0.9-2
        Brotli compression library
    msys/python-brotli 1.0.9-2
        Brotli compression library
    Am I overlooking something really simple here? Thanks to anyone who takes the time to drop in.
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9637

    #2
    I'm not an SDL2 expert at all, but if it were me I'd start by removing the
    Code:
    	-lbrotlidec-static \
    	-lbrotlicommon-static \
    lines from Makefile.msys2.sdl2 and see what broke next.

    I suspect the real problem is that SDL2 is a bit of a moving target; that quantity of library dependencies scares me.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.

    Comment

    • docrobot
      Rookie
      • Feb 2022
      • 3

      #3
      Originally posted by Nick
      I'm not an SDL2 expert at all, but if it were me I'd start by removing the
      Code:
      	-lbrotlidec-static \
      	-lbrotlicommon-static \
      lines from Makefile.msys2.sdl2 and see what broke next.

      I suspect the real problem is that SDL2 is a bit of a moving target; that quantity of library dependencies scares me.
      Removing both of those makes linking less actual linking and something more akin to projectile vomiting.

      Code:
            LINK angband
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x45): undefined reference to `jbg_enc_init'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x4d): undefined reference to `jbg_enc_out'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x55): undefined reference to `jbg_enc_free'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x9f): undefined reference to `jbg_dec_init'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0xb2): undefined reference to `jbg_newlen'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0xcb): undefined reference to `jbg_dec_in'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0xde): undefined reference to `jbg_dec_getsize'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0xfb): undefined reference to `jbg_dec_getimage'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x111): undefined reference to `jbg_dec_free'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x173): undefined reference to `jbg_strerror'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x1a0): undefined reference to `jbg_dec_free'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_jbig.o):(.text+0x1f6): undefined reference to `jbg_dec_free'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_lerc.o):(.text+0x85a): undefined reference to `lerc_encodeForVersion'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_lerc.o):(.text+0x12a2): undefined reference to `lerc_getBlobInfo'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_lerc.o):(.text+0x13a1): undefined reference to `lerc_decode'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libtiff.a(tif_lerc.o):(.text+0x16cb): undefined reference to `lerc_decode'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libfreetype.a(src_sfnt_sfnt.c.obj):(.text+0xeae2): undefined reference to `BrotliDecoderDecompress'
      D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/lib\libharfbuzz.a(hb-directwrite.cc.obj):(.text+0x5ca): undefined reference to `DWriteCreateFactory'
      collect2.exe: error: ld returned 1 exit status
      make: *** [Makefile.msys2.sdl2:107: angband] Error 1

      Comment

      • Nick
        Vanilla maintainer
        • Apr 2007
        • 9637

        #4
        Not the first time I've given bad advice

        I guess then I'd go the other way and try installing brotlidec and brotlicommon in the hope that they're not covered by brotli. Caveat - my entire knowledge of any brotli* comes from this thread.
        One for the Dark Lord on his dark throne
        In the Land of Mordor where the Shadows lie.

        Comment

        • docrobot
          Rookie
          • Feb 2022
          • 3

          #5
          Originally posted by Nick
          Not the first time I've given bad advice

          I guess then I'd go the other way and try installing brotlidec and brotlicommon in the hope that they're not covered by brotli. Caveat - my entire knowledge of any brotli* comes from this thread.
          Edit: No dice. This, at first, appeared to be an issue with brotli changing its naming convention. This is a little deeper than that upon further inspection. I'm thinking I'm just tired and overlooking something simple, but I'm at a loss at to what that might be.
          Last edited by docrobot; February 24, 2022, 04:53.

          Comment

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