andrewd18 / df-lnp-installer Goto Github PK
View Code? Open in Web Editor NEWAn installation script for the Dwarf Fortress Lazy Newb Pack, for Linux.
License: Other
An installation script for the Dwarf Fortress Lazy Newb Pack, for Linux.
License: Other
Project MESSAGE: Release Mode
Project MESSAGE: Setting up for Linux
Project MESSAGE: Setting up for Linux Install
Project ERROR: Unknown module(s) in QT: script
df-lnp-installer.sh: Compiling Dwarf Therapist failed. See QMake output above for details. Exiting.
SHA passed for this package. I had to link the qt5 qmake to get that section of the install script to run correctly (separate issue?), but the qt5 script module and other dependencies named by the install script are all installed.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty
3.13.0-29-generic
Error on ubuntu:
./df-lnp-installer.sh
Checking for dependencies...
df-lnp-installer.sh: Your computer is missing the following programs or libraries: unrar hg libQtCore libQtGui libQtNetwork libQtScript qmake_qt4 libOpenAL_1_(32-bit) libGTK-x11_(32-bit) libJPEG62_(32-bit) . Install them using your distribution's package manager or use --skip-deps to override. Exiting.
Perhaps it would make sense to just reference the dependency install command listed in the readme with a switch for the OS versions?
E.g. "You may try installing these on debian/ubuntu with: sudo apt-get blahblahblah" on dependency fail...
I tried the ptrace solution you suggested, but still no luck getting Therapist to connect in Ubuntu Precise. Any suggestions?
These are the two last lines I get after an installation attempt:
install: cannot stat `./lnp.yaml': No such file or directory
df-lnp-installer.sh: Copying LNP Yaml file failed. Exiting.
patching file init.txt
patch: getting attribute system.posix_acl_access of system.posix_acl_access: No data available
patch: getting attribute system.posix_acl_default of system.posix_acl_default: No data available
patching file d_init.txt
patch: getting attribute system.posix_acl_access of system.posix_acl_access: No data available
patch: getting attribute system.posix_acl_default of system.posix_acl_default: No data available
df-lnp-installer.sh: Applying Phoebus LNP patches failed. Exiting.
The ASCII graphics should actually use ASCII graphics not a bmp pack. Follow PeridexisErrant's lead on this one:
The other thing is an issue to be fixed in my next [Windows LNP] release - the ASCII default tileset should have graphics disabled by default, while all the others have it enabled.
It seems that the Utility Plugins have been updated, and so the checksums no longer match. I can't see the checksums anywhere officially on DFFD, but the file I downloaded locally is 5e68e93f7fd5e4301b6050c7b29790c4d59aeabb
. I updated the sha1sums
file to match that, and everything seemed to work out ok.
An error window pops up:
Image not found
Not found: data/art/mouse.png
qmake doesn't seem to exist in the fedora repos and neither in the rpmfusion (when i checked with
yum what provides qmake
)
however qmake-qt4 is available in the qt-devel yum package
since you already check for qmake-qt4 in the install script,I'd suggest just adding a note to the installation instructions for fedora 19 users so they change qmake to qmake-qt4 in the command line provided to install the dependencies
thanks !
requesting all changes
adding changesets
adding manifests
adding file changes
added 577 changesets with 4554 changes to 813 files (+2 heads)
updating to branch default
662 files updated, 0 files merged, 0 files removed, 0 files unresolved
sha1sum: sha1sums: No such file or directory
df-lnp-installer.sh: One or more file failed its checksum. Exiting.
dwarftherapist doesn't work if it can't access df's memory.
However, you don't have to disable system wide ptrace protection as described
https://github.com/andrewd18/df-lnp-installer/wiki/Dwarf-Therapist-Cannot-Connect-to-Dwarf-Fortress
From: http://www.bay12forums.com/smf/index.php?topic=66525.msg3924827#msg3924827
you can instead:
sudo setcap cap_sys_ptrace=ep DwarfTherapist
to allow it to disable ptrace protection just for the dwarftherapist binary.
On the "full install guide" please change
git clone https://github.com/andrewd18/df-lnp-installer.git
with
git clone -b master --depth 1 https://github.com/andrewd18/df-lnp-installer.git
so user will not download history and uneeded banch.
plaese do the same even for all git clone inside the script, download time and dick usage will be a lot smaller
To continue following upstream splintermind-attributes, the install script will need to detect Qt5 libraries and run the qmake-qt5 version of qmake. Note that Qt5 is not available as part of Debian stable, so there may need to be some extra repo magic performed for those users.
Discovered as part of issue #23.
I need to write patches for each graphics pack that are applied after unzip. These patches will ensure each graphics pack is using the same base settings, tile sizes, etc.
PeridexisErrant:
We basically just change them to have consistent settings, as the launcher only changes the currently loaded init files and these are replaced with the standard ones when graphics are switched. ... We also use a 16x16 tile size where possible, since it's again just more consistent for newbies.
One of the items on the to-do list for the launcher is to preserve settings when switching graphics packs, at which point the whole question is irrelevant.
... its just a matter of replacing the d_init file entirely, and then editing the init to be identical between packs apart from the [FONT:] tags, which are in some cases modified.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty
3.13.0-29-generic
The installer looks for /usr/lib/x86_64-linux-gnu/qt5/bin/qmake-qt5, but cannot find it. Installing qt5-default does not solve this issue.
Symbolically linking to what was actually installed solves it, but it is an extra manual step:
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /usr/bin/qmake-qt5
Add a way by which someone with an old DF install can upgrade to the newest LNP stuff. Aka the "stop making me move my saves" issue.
Automate the deletion and recreation of all the various subfolders and copy the saves back in. A full-on diffable migration system is probably overkill.
Build from source is working on my 64-bit Debian "testing" box; looks like using the built-in Debian package script does not.
Consider downloading a specific tag from hg instead of hg head for better bug tracking.
On the current version when it downloads version 44 of the utilities they fail the checksum
If you (like me for some reason) try to open the savegame folder in a fresh DF LNP install, the savegame folder doesn't yet exist so you get:
java.lang.IllegalArgumentException: The file: df_linux/data/save doesn't exist.
at java.awt.Desktop.checkFileValidation(Desktop.java:209)
at java.awt.Desktop.open(Desktop.java:270)
at nl.dricus.df.action.OpenFolderAction.actionPerformed(OpenFolderAction.java:65)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Steps to reproduce:
JollyBastion looks weird because the ASCII Default wasn't applied before it. I think this has something to do with the selective nature of the packs where they rely on other packs to get certain images.
Workaround:
Script failed sha-verifaication of "Dwarf Therapist.pdf"
Work perfecticly when invoqing instalation script with --skip-sha
When I use this script to install DF, after resolving domain names and sending the HTTP requests it gives me back a 403 Forbidden error. It's a user agent problem as downloading the files from a browser works normally but regular wget's get this error without adding one. It seems fairly recent too as other people were able to use this fine without any problems.
To make this work for me, I edited the code at local WGET_OPTIONS= to include a user agent so that the server would allow the download to continue.
You might want to edit the script and add a user agent argument so that other folks don't run into this any more.
local WGET_OPTIONS="-U Mozilla/14.0 -nc --directory-prefix=$DOWNLOAD_DIR"
http://www.bay12forums.com/smf/index.php?topic=130792.msg4673081#msg4673081
Looks like the script found his old df_linux folder living in .local/share, recommended .local/share, and then upon failure, deleted .local/share assuming it was a top level df-lnp only folder. We took out this guy's keyrings, wesnoth saves, and more. :(
And an update usually breaks the checksums, causing errors. This can be trivially fixed this time with pull #67 - but it's a regular event.
As well as updating the script, I would consider an upgrade: if the checksum fails, compare the version number and if greater than the checksum output a message like checksum failed due to an update in the plugins
(or $component). Depending on how errors are handled, you could also give an option to proceed despite the error or even do so even without the --skip-sha
option when it is for a known reason. Unfortunately my little scripting experience is limited to windows, or I'd give it a go myself.
Arguably, downloading all the soundsense audio is the longest part of the install process, especially during an upgrade. I should back up and restore all that.
I prefer launching the LNP with showTerminal: false
for soundsense. It reduces window clutter.
Any reason you left it enabled?
There are a lot of cases in the script where, if the script was canceled, it might leave someone's dwarf_fortress folder in a state of disarray (or worse, deleted!). The script should never leave the user in a state where they can't play... out of date and working is better than up to date and broken.
fix_soundsense_missing_gamelog
is broken as it uses DEST_DIR instead of INSTALL_DIR. The script edits the config XML to be:
<gamelog encoding="Cp850" path="./dest_dir/df_linux/gamelog.txt"/>
Hi, I just installed LNP on my Ubuntu Quantal (12.10) machine, and I get a large eror box whenever I try to start DwarfTherapist.
I saw the other similar issue, but I've turned pTrace protection off (and confirmed it is set to off) and this error is still happening.
here is the error message from the window.
java.lang.IllegalStateException: Error launching program.
at nl.dricus.df.util.StartProcessUtil.executeCommandLine(StartProcessUtil.java:106)
at nl.dricus.df.util.StartProcessUtilLinux.startProcess(StartProcessUtilLinux.java:46)
at nl.dricus.df.state.LNP.startUtility(LNP.java:253)
at nl.dricus.df.action.RunUtilityAction.actionPerformed(RunUtilityAction.java:39)
at nl.dricus.df.form.main.UtilitiesGroup$UtilitiesListDoubleClickListener.mouseClicked(UtilitiesGroup.java:61)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.Component.processMouseEvent(Component.java:6508)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.io.IOException: /home/adam/Downloads/dwarfFortressLNPlinux/df-lnp-installer/yes/LNP/utilities/dwarf_therapist doesn't exist.
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:181)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:170)
at nl.dricus.df.util.StartProcessUtil.executeCommandLine(StartProcessUtil.java:90)
... 36 more
When I run the installation script, it complains about missing Qt lib: libQtCore libQtGui libQtNetwork libQtScript
. However, these are available it's just that the check doesn't find them because of the regex. Here's my ldconfig output:
$ /sbin/ldconfig -p | grep -P '^\tlibQt(Co|Net|Sc|Gui)'
libQtScriptTools.so.4 (libc6,x86-64) => /lib64/libQtScriptTools.so.4
libQtScriptTools.so.4 (libc6) => /lib/libQtScriptTools.so.4
libQtScript.so.4 (libc6,x86-64) => /lib64/libQtScript.so.4
libQtScript.so.4 (libc6) => /lib/libQtScript.so.4
libQtNetwork.so.4 (libc6,x86-64) => /lib64/libQtNetwork.so.4
libQtNetwork.so.4 (libc6) => /lib/libQtNetwork.so.4
libQtGui.so.4 (libc6,x86-64) => /lib64/libQtGui.so.4
libQtGui.so.4 (libc6) => /lib/libQtGui.so.4
libQtCore.so.4 (libc6,x86-64) => /lib64/libQtCore.so.4
libQtCore.so.4 (libc6) => /lib/libQtCore.so.4
libQtContacts.so.1 (libc6,x86-64) => /lib64/libQtContacts.so.1
libQtContacts.so.1 (libc6) => /lib/libQtContacts.so.1
libQtConnectivity.so.1 (libc6,x86-64) => /lib64/libQtConnectivity.so.1
libQtConnectivity.so.1 (libc6) => /lib/libQtConnectivity.so.1
The regex in the script expect a whitespace at the end of the dependencies (^\tlibQtNetwork.so\s
) but it isn't the case. Either remove the whitespace from the regex or make it optionnal would fix the problem.
installing LNP on Ubuntu, no matter how many times I re-ran the installer script and re-downloaded this file, it always failed the checksum. After commenting the checksum function out of the script, DF and LNP installed flawlessly.
Add unit tests to improve code stability and ensure functionality works as intended.
shunit2 and roundup both look like good candidates.
The following 32-bit libraries are required to run DF:
The command for Debian Wheezy (7.1) install is:
sudo apt-get install libsdl1.2debian:i386 libgtk2.0-0:i386 libsdl-image1.2:i386 libglu1-mesa:i386 libsdl-ttf2.0-0:i386
Log output:
java.lang.IllegalStateException: java.io.FileNotFoundException: Source '/home/me/bin/Dwarf Fortress/LNP/graphics/Phoebus_34_11v01/data/init/init.txt' does not exist
at nl.dricus.df.action.InstallGraphicsPackAction.updateInitFiles(InstallGraphicsPackAction.java:112)
at nl.dricus.df.action.InstallGraphicsPackAction.actionPerformed(InstallGraphicsPackAction.java:54)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.io.FileNotFoundException: Source '/home/me/bin/Dwarf Fortress/LNP/graphics/Phoebus_34_11v01/data/init/init.txt' does not exist
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1074)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038)
at nl.dricus.df.action.InstallGraphicsPackAction.updateInitFiles(InstallGraphicsPackAction.java:108)
... 37 more
As reported by user mat3j at http://www.reddit.com/r/dwarffortress/comments/1lsqny/lazy_newb_pack_installer_for_linux/cc2hzj5
sha1sum: downloads/JollyBastion34-10v5.zip: No such file or directory
Many more utilities could be included relatively easily. Everything mentioned is linked here.
There are also two batch scripts which could be ported to Linux. Dwarf Map Maker is a GIMP script called by a batch script, to make a pretty fantasy map from the legends exports. My legends processing script includes that, and also handles compression and moving of all legends exports to a named folder; it would be relatively easy to port too.
Extras - like DF settings, manuals, etc - don't need any setup and work on any platform. Embark profiles are already included and need to be listed under "included mods" in the readme.
Several of the graphics packs have the font named font.TTF rather than font.ttf and this will cause TrueType not to work on case-sensitive systems such as Linux. This is more an issue with the graphics packs designers but perhaps you can rename that file to font.ttf to fix it.
The version of dwarf fortress as compiled by NFP is not supported by Dwarf therapist, as version checksums don't match:
checksum of compiled version: 0x01645e9a (DF v0.34.11)
checksum Dwar therapist looks for: 0xe066ee88 (DF v0.34.11)
I used df-lnp-installer-0.5.4 to install and compile everything as per readme.
As per sushisushisushi on Reddit:
Edit: Works! However, I can't seem to find gamelog.txt in the df_linux folder.
Edit #2: Nevermind, you need to run Dwarf Fortress first (duh) for gamelog.txt to be created. (In any case, you might want to make that clearer in the installation guide.)
Using Debian Stable (Wheezy):
downloads/df_34_11_linux.tar.bz2: OK
downloads/dfhack-0.34.11-r3-Linux.tar.gz: FAILED
downloads/lazy-newbpack-linux-0.5.3-SNAPSHOT-20130822-1652.tar.bz2: OK
downloads/Utility_Plugins_v0.35-Windows-0.34.11.r3.zip.zip: OK
downloads/soundSense_42_186.zip: OK
downloads/Phoebus_34_11v01.zip: OK
downloads/CLA_graphic_set_v15-STANDALONE.rar: OK
downloads/Ironhand16 upgrade 0.73.4.zip: OK
downloads/Mayday 34.11.zip: OK
downloads/[16x16] Obsidian (v.0.8).zip: OK
downloads/[16x16] Spacefox 34.11v1.0.zip: OK
downloads/JollyBastion34-10v5.zip: OK
sha1sum: WARNING: 1 computed checksum did NOT match
df-lnp-installer.sh: One or more file failed its checksum. Exiting.
someone@xxx:~/df-lnp-installer$ sha1sum downloads/dfhack-0.34.11-r3-Linux.tar.gz
7bcf0bf5fc28d3d896addf6a4e8e53dc3756f46a downloads/dfhack-0.34.11-r3-Linux.tar.gz
^ Github breaks formatting for sha1sum, but the "commit link" here is the checksum I get for running sha1sum.
This seems like a duplicate of part of #41. Time for another SHA update, perhaps?
Add the following mods, per the Reddit discussion.
Running Arch Linux and just found this script. it installs everything fine but when I try to run df I get the error in the title, and in terminal I also see: "libpng error: bad parameters to zlib"
If I install dwarffortress-phoebus or dwarffortress-ironhand from AUR I don't have this issue, df starts fine.
If I switch graphics set the error just changes to something like "Not found: data/art/Phoebus_16x16.png" instead...
I have no idea what's causing this. The png is there...
I can't be the first to get this? I see other people have something similar with "mouse.png", but this seems to be slightly different.
/bin/downloads/dwarftherapist'
df-lnp-installer.sh: Compiling Dwarf Therapist failed. Exiting.
java.lang.NullPointerException
at nl.dricus.df.action.UpdateSavegamesAction.actionPerformed(UpdateSavegamesAction.java:56)
at nl.dricus.df.action.InstallGraphicsPackAction.actionPerformed(InstallGraphicsPackAction.java:59)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Upon clicking "Install Graphics" button, a dialog appears,
"Your graphics, settings, and raws will be changed."
with two buttons, "OK" and "Cancel".
Clicking on "Cancel" doesn't cancel the operation.
I installed all the deps as recommended at the beginning of the guide and got all the way to this error:
Project MESSAGE: Release Mode
Project MESSAGE: Setting up for Linux
Project MESSAGE: Setting up for Linux Install
Project MESSAGE: Warning: unknown QT: widgets
make: Entering directory `/home/frew/code/df-lnp-installer/downloads/dwarftherapist'
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/scriptdialog.ui -o bin/release/ui_scriptdialog.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/scannerdialog.ui -o bin/release/ui_scannerdialog.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/pendingchanges.ui -o bin/release/ui_pendingchanges.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/optionsmenu.ui -o bin/release/ui_optionsmenu.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/mainwindow.ui -o bin/release/ui_mainwindow.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/importexportdialog.ui -o bin/release/ui_importexportdialog.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/gridviewdock.ui -o bin/release/ui_gridviewdock.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/gridviewdialog.ui -o bin/release/ui_gridviewdialog.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/dwarfdetailswidget.ui -o bin/release/ui_dwarfdetailswidget.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/dwarfdetailsdock.ui -o bin/release/ui_dwarfdetailsdock.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/customprofession.ui -o bin/release/ui_customprofession.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/columneditdialog.ui -o bin/release/ui_columneditdialog.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/about.ui -o bin/release/ui_about.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/selectparentlayoutdialog.ui -o bin/release/ui_selectparentlayoutdialog.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/roledialog.ui -o bin/release/ui_roledialog.h
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ui/optimizereditor.ui -o bin/release/ui_optimizereditor.h
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtScript -I/usr/include/qt4 -Iinc -Iinc/models -Iinc/grid_view -Iinc/docks -Iui -Ithirdparty/qtcolorpicker-2.6 -Ibin/release -Ibin/release -o bin/release/dfinstancelinux.o src/dfinstancelinux.cpp
src/dfinstancelinux.cpp:23:21: fatal error: QtWidgets: No such file or directory
compilation terminated.
make: *** [bin/release/dfinstancelinux.o] Error 1
make: Leaving directory `/home/frew/code/df-lnp-installer/downloads/dwarftherapist'
df-lnp-installer.sh: Compiling Dwarf Therapist failed. See Make output above for details. Exiting.
I'll keep looking to see if I can figure out what the missing dep is, but if someone else knows feel free to comment/close :)
LNP generates an error when pressing the "open savegame folder" button under kubuntu 12.10 and dwarf therapist can't communicate with df
errormessage:
java.lang.IllegalStateException: Cannot open folder df_linux/data/save!
at nl.dricus.df.action.OpenFolderAction.actionPerformed(OpenFolderAction.java:67)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.io.IOException: Failed to show URI:file:/home/pet/DF/df_linux/data/save/
at sun.awt.X11.XDesktopPeer.launch(XDesktopPeer.java:114)
at sun.awt.X11.XDesktopPeer.open(XDesktopPeer.java:77)
at java.awt.Desktop.open(Desktop.java:272)
at nl.dricus.df.action.OpenFolderAction.actionPerformed(OpenFolderAction.java:65)
... 36 more
I have qt4 packages installed and I ran
Code:
sudo apt-get install default-jre libsdl1.2debian:i386 libsdl-image1.2:i386 libsdl-ttf2.0-0:i386 libglu1-mesa:i386 libgtk2.0-0:i386 libopenal1:i386 libjpeg62:i386 git mercurial libqt4-dev qt4-qmake wget coreutils tar unzip unrar make g++ gcc patch xterm sed
But I still get issues.
Quote
df-lnp-installer.sh: Your computer is missing the following programs or libraries: libQtCore libQtGui libQtNetwork libQtScript . Install them using your distribution's package manager or use --skip-deps to override. Exiting.
I imagine that it is because of a previous qt install. And right now I don't have the time or energy to figure out how to make qt working.
Quote
src/dfinstancelinux.cpp:23:21: fatal error: QtWidgets: No such file or directory.
Here is the log from trying to run a pre-compiled dwarf therapist version:
2013-Oct-06 21:05:16.131 ERROR core No valid memory layouts found in the following directories... () src/dfinstance.cpp:106
2013-Oct-06 21:05:16.194 DEBUG core base_addr: 274048 HEX 42e80 src/dfinstancelinux.cpp:324
2013-Oct-06 21:05:16.356 DEBUG core DF's checksum is "0xe966ee88" src/dfinstancelinux.cpp:328
2013-Oct-06 21:05:16.356 DEBUG core DF's checksum is: "0xe966ee88" src/dfinstance.cpp:876
2013-Oct-06 21:05:16.356 DEBUG core Could not find layout for checksum "0xe966ee88" src/dfinstance.cpp:883
2013-Oct-06 21:05:16.356 INFO core Checking for layout for checksum: "0xe966ee88" src/mainwindow.cpp:396
2013-Oct-06 21:05:16.356 INFO core Dwarf fortress path: "/home/ron/Downloads/df_linux" src/dfinstancelinux.cpp:335
I think the problem is with my QT4 installation, but I have no idea.
Any tips or ideas are welcome. Ask if you need more info about this specific issue.
Thanks.
Yes, I'm aware that there's a previous issue very similar to this, but I've tried everything and nothing has worked. First, I downloaded the df-lnp-installer-master.zip. I put it into a folder I titled DWARF (/home/[user]/DWARF). I then extracted the folder there and ran the .sh. When it asked me where I should install, I put in /home/[user]/DWARF/df-lnp-installer-master/DWARF (yes, another folder named DWARF). Everything seemed fine until:
abort: No such file or directory: ./downloads/dwarftherapist
Dwarf Therapist repo is missing or has wrong upstream URL; recloning.
adding changesets
adding manifests
adding file changes
added 574 changesets with 4506 changes to 787 files
updating to branch default
662 files updated, 0 files merged, 0 files removed, 0 files unresolved
Cloning into './downloads/quickfort'...
remote: Reusing existing pack: 2071, done.
remote: Total 2071 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (2071/2071), 14.59 MiB | 1.80 MiB/s, done.
Resolving deltas: 100% (533/533), done.
sha1sum: sha1sums: No such file or directory
df-lnp-installer.sh: One or more file failed its checksum. Delete the erroring file from the ./downloads directory and try again. Exiting.
So it appears that not only am I having a similar error as another user regarding the sha1sum bit, but the dwarftherapist folder, which exists, is not being found by the script? Help?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.