Skip to content
carterscottm edited this page Jul 3, 2017 · 18 revisions

"Play Dwarf Fortress" button does nothing when attempting to launch DF with DFHack enabled

stderr.txt in the root of the pack should show the following errors:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/home/michael/Desktop/df/python_lnp/build/lnp/out00-PYZ.pyz/Tkinter", line 1532, in __call__
  File "/home/michael/Desktop/df/python_lnp/build/lnp/out00-PYZ.pyz/core.launcher", line 52, in run_df
  File "/home/michael/Desktop/df/python_lnp/build/lnp/out00-PYZ.pyz/core.launcher", line 93, in run_program
  File "/home/michael/Desktop/df/python_lnp/build/lnp/out00-PYZ.pyz/core.terminal", line 38, in get_terminal_command
TypeError: coercing to Unicode: need string or buffer, list found

Solution:

Make sure you have correctly configured your terminal for launching DF.

  • Go to File -> Configure Terminal
  • Double-check the drop down menu to ensure you have specified a terminal installed on your system
  • Double-check the text field below the drop down menu to ensure that if a custom command is specified, that "custom command" is also specified in the drop down menu.
  • If a custom command is specified, click on the Test custom terminal button to ensure PyLNP is able to launch DF/DFHack properly.

"Could not find PNG file: Ironhand 16x16.png" or "libstdc++.so.6: version `CXXABI_1.3.8' not found"

Solution 1:

Download the latest distro_fixes.sh and replace the copy in your DF folder with it.

If libstdc++ errors persist, try deleting or renaming libs/libstdc++.dylib.

Solution 2 (tested on Arch):

  • Install vanilla Dwarf Fortress, check that it starts up.
  • Open a terminal and create a symlink to the vanilla DF copy of libgraphics.so in the LNP libs directory - first remove the LNP version:

$ rm /path/to/lnp/df_linux/libs/libgraphics.so

  • Then create the symlink:

$ ln -s /opt/dwarffortress/libs/libgraphics.so /path/to/lnp/df_linux/libs/libgraphics.so

or if the above doesn't work, try:

$ ln -s ~/.dwarffortress/libs/libgraphics.so /path/to/lnp/df_linux/libs/libgraphics.so

  • Try to restart LNP DF, if you get an error about libstdc++.so.6 then you'll need to create a symlink to that too. Find where libstdc++.so.6 is on your system:

$ whereis libstdc++.so.6

libstdc.so: ... /usr/lib/libstdc++.so.6

  • First remove the LNP version:

$ rm /path/to/lnp/df_linux/libs/libstdc++.so.6

  • Then create the symlink to the path that whereis gave you:

$ ln -s /usr/lib/libstdc++.so.6 /path/to/lnp/df_linux/libs/libstdc++.so.6

  • Start DF!

-- Working on Arch Linux, 3rd July 2016 - russ0r

On Arch there are also a couple of broken symlinks in the LNP DF libs folder:

libopenal.so -> /usr/lib/i386-linux-gnu/libopenal.so.1

libsndfile.so -> /usr/lib/i386-linux-gnu/libsndfile.so.1

They didn't cause any problems for me, but you can symlink these to /usr/lib/* using the same method above if you're still having issues (e.g. no audio, as they look related to sound)

Solution 3:

  1. Install vanilla dwarf fortress, verify that it works.
  2. Find the file called "libgraphics.so" in the normal dwarf fortress install location.
  3. Copy that file into "lnp install folder/df_linux/libs" and overwrite the existing file.
  4. Try "sudo ./startlnp" again and click start. If dwarf fortress does not open, or you get some error, delete the file named something like "libstdc++.so" in "lnp install folder/df_linux/libs". -- DwarfMonad

Gtk-Message: Failed to load module "canberra-gtk-module"

Solution:

  1. install libcanberra-gtk3-dev