[adridg@beastie ~/.../games/linux-dwarffortress]$ pkg info -d linux-dwarffortress linux-dwarffortress-0.44.12: linux-c7-xorg-libs-7.7_6 linux-c7-gtk2-2.24.31 linux-c7-sdl_ttf-2.0.11_2 linux-c7-sdl_image-1.2.12_2 linux-c7-dri-18.0.5 linux-c7-openal-soft-1.16.0_2 linux-c7-libsndfile-1.0.25_3 [adridg@beastie ~/.../games/linux-dwarffortress]$ dwarffortress ./libs/Dwarf_Fortress: error while loading shared libraries: libSDL_image-1.2.so.0: cannot open shared object file: No such file or directory The linux-c7-sdl_image package does not ship a 32-bit sdl_image, like c6 did. I think updating USES=linux:c6 is sufficient.
A commit references this bug: Author: adridg Date: Fri Aug 23 21:38:40 UTC 2019 New revision: 509661 URL: https://svnweb.freebsd.org/changeset/ports/509661 Log: Urist Beastiewrangler loves Linux CentOS 6 for its 32-bit SDL libraries. Or, less dwarfishly, DF is tied to C6 because libSDL_image ships 32-bit libraries there, while C7 only has a 64-bit version. Bump PORTREVISION because it may have been built against C7 and then it doesn't work. PR: 240063 Changes: head/games/linux-dwarffortress/Makefile
I should check who the MAINTAINER is before filing PRs.
See Also: 240054 Would adding/fixing c7 ports/packages to include 32-bit libs solve this issue more broadly, rather than having certain packages arbitrarily/inconsistently depend on c6 ? ^Triage: - Assign to committer that resolved - Re-open for MFH (if quarterly package is also affected)
CentOS 7 only has unofficial support for i386 so some packages are amd64 only. My plan is to remove c6 ports at the end of this year, so instead of letting ports depend on c6 it is better to add 64 bit support. For linux-dwarffortress you can replace DISTNAME=... with: DISTNAME_amd64= df_${DISTVERSION:S|0.||:S|.|_|}_linux DISTNAME_i386= df_${DISTVERSION:S|0.||:S|.|_|}_linux32 Then run "make makesum" and check if the do-install target and/or pkg-plist need changes. You can test different architectures using something like "make ARCH=i386 RUN_DEPENDS= check-plist".
A commit references this bug: Author: adridg Date: Sat Aug 31 12:56:43 UTC 2019 New revision: 510383 URL: https://svnweb.freebsd.org/changeset/ports/510383 Log: Massage build of linux-dwarffortress - change back from c6 to the default (c7 now) - don't install the bundled libc++, because it requires glibc 2.18 which c7 doesn't have - avoid a runtime error message about sound-not-loading by switching off sound in the shipped config files. These are copied to the user's ~/.dwarffortress directory and can be edited there if needed. PR: 240063 Changes: head/games/linux-dwarffortress/Makefile head/games/linux-dwarffortress/distinfo head/games/linux-dwarffortress/pkg-plist
A background issue is that the c7 base is older than what DF expects; linux_base-c7 installs this file: /compat/linux/usr/lib/libc-2.17.so so I'm going to assume that, yes, it's GNU libc 2.17. [adridg@beastie .../games/linux-dwarffortress]$ dwarffortress ./libs/Dwarf_Fortress: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /usr/local/libexec/dwarffortress/libstdc++.so.6) So that's why i no longer install the stdc++ there.
FYI, linux-c6 ports are being removed today.
The problem has been fixed in ports r510383.