Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 5

Author Topic: Lazy Newb Pack Installer for Linux  (Read 165116 times)

andrewd18

  • Bay Watcher
    • View Profile
Lazy Newb Pack Installer for Linux
« on: September 05, 2013, 01:01:52 pm »

This Is Unmaintained

As of 2014-06-24, this utility is unmaintained. No further updates will be added. See this post for more information.

You are free to fork this under the terms of the GPLv3 or study the code to build your own under another license.



I am pleased to announce the Expanded LNP Installer for Linux. This script will download and install the Linux-native versions of PeridexisErrant's Expanded LNP.

Latest version: 0.5.x

Full details at the GitHub Repository: https://github.com/andrewd18/df-lnp-installer

Please use the GitHub repository to report any issues, errors, or other problems you may have using it.

Enjoy!

PeridexisErrant's LNP for Windows:  http://www.bay12forums.com/smf/index.php?topic=126076.0
Fricy's LNP for Mac:  http://www.bay12forums.com/smf/index.php?topic=128960

Donate to Toady:
« Last Edit: June 23, 2014, 07:20:44 pm by andrewd18 »
Logged

Couchmonster

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #1 on: September 05, 2013, 03:31:21 pm »

I am pretty fond with Gentoo Linux myself and can give advice or guidance for DF on that case, if needed.

andrewd18

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #2 on: September 19, 2013, 11:19:22 am »

I am pleased to announce the 0.2.0 release of the Dwarf Fortress Lazy Newb Pack Installer for Linux.

What's changed since 0.1.x?
  • Added an --upgrade option that lets you overwrite your existing install without deleting / manually moving your saves.
  • Added complete dependency checking, including verification of 32-bit libraries on 64-bit Linux systems.
  • Added a --skip-deps option that lets you proceed with an install if, for example, you don't think my dependency checking is accurate. (NOTE: If you use this, the install script may not work properly. Please consider filing a bug report if the dependency detection is off.)
  • Dwarf Therapist is now built from source and installed by default.
  • Added the embark profiles from the other LNPs.
  • Made all the graphics packs use standardized LNP-friendly init and d_init files.
  • Use the LNP init and d_init files even when using ASCII graphics.

Download and installation instructions are at the GitHub repository. Please use said repository to report any issues, errors, or other problems you may have using it.

Enjoy!
Logged

carkasjak

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #3 on: October 02, 2013, 12:26:22 pm »

This is brilliant, thanks! Got it working on fresh installation of Debian 7 "Wheezy", stable 64bit

I had to do
Code: [Select]
dpkg --add-architecture i386 in order to install the i386 dependencies, but apart from that I could follow the instructions to the letter, and everything just worked. https://wiki.debian.org/Multiarch/HOWTO

Time for some fun!
Screenshot of everything working
Logged

andrewd18

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #4 on: October 03, 2013, 12:55:21 pm »

I am pleased to announce the 0.3.0 release of the Dwarf Fortress Lazy Newb Pack Installer for Linux.

What's changed since 0.2.x?

  • A "Dwarf Fortress Lazy Newb Pack" icon should now appear in your desktop environment menus, under Games.
  • If a file fails to download, you'll know much earlier in the install process, and your existing installation won't be touched.
  • If the installation fails during an upgrade, your existing copy of DF (and saves) won't be destroyed.
  • Added a --skip-sha argument if you want to skip the sha1sum calculations.
  • Detect ptrace_protection settings that prevent Dwarf Therapist from connecting to Dwarf Fortress (affects Ubuntu users).
  • Fixed a lot of installation dependency bugs.

Download and installation instructions are at the GitHub repository. Please use said repository to report any issues, errors, or other problems you may have using it.

Enjoy!
« Last Edit: October 03, 2013, 03:04:10 pm by andrewd18 »
Logged

Pho

  • Escaped Lunatic
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #5 on: October 04, 2013, 03:36:56 am »

It works like a charm under Archinux. I also had to deactivate the ptrace_protection.

One Question:
Your config patches overwrite every default value like setting the POPULATION_CAP to 80 and so on. But why?
Logged

marvalis

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #6 on: October 04, 2013, 01:07:07 pm »

I have qt4 packages installed and I ran

Code: [Select]
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 dependency 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.

Any tips or ideas are welcome. Ask if you need more info about this specific issue.

Thanks.
Logged

render787

  • Escaped Lunatic
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #7 on: October 09, 2013, 03:46:27 pm »

Hi I'm using Linux Mint. I just installed dwarf fortress and decided to look at a tutorial, the tutorial suggested that I get alternate tile sets etc. so I decided to try to install using your LNP pack. I had the following *very unfortunate experience* trying to install in ~/.local/share/: (You will see below that I renamed the initial install from df_linux to df_linux_old.)

chris@Basalt ~/.local/share $ ls
applications            gsettings-data-convert     recently-used.xbel.T7S93W
cinnamon                gvfs-metadata              Trash
df_34_11_linux.tar.bz2  icc                        webkit
df_linux_old            keyrings                   wesnoth
df-lnp-installer        recently-used.xbel
gegl-0.2                recently-used.xbel.BF293W
chris@Basalt ~/.local/share $ cd df-lnp-installer/
chris@Basalt ~/.local/share/df-lnp-installer $ ls
COPYING              dwarf_fortress_lazy_newb_pack.desktop  lnp.yaml   sha1sums
df-lnp-installer.sh  embark_profiles.txt                    patches
DF_LNP_Logo_128.png  LICENSE                                README.md
chris@Basalt ~/.local/share/df-lnp-installer $ ./df-lnp-installer.sh
Checking for dependencies...

Where should Dwarf Fortress be installed? [/home/chris/.local/share]:
rm: remove write-protected regular file `/home/chris/.local/share/df-lnp-installer/.git/objects/pack/pack-a08e8745cd28d65fa160f0a523b0eda66612fd83.pack'? y
rm: remove write-protected regular file `/home/chris/.local/share/df-lnp-installer/.git/objects/pack/pack-a08e8745cd28d65fa160f0a523b0eda66612fd83.idx'? y

df-lnp-installer.sh: Cannot install. /home/chris/.local/share must be an empty or nonexistant folder. If this is an existing DF installation, use --upgrade. Exiting.
chris@Basalt ~/.local/share/df-lnp-installer $ ./df-lnp-installer.sh
bash: ./df-lnp-installer.sh: No such file or directory
chris@Basalt ~/.local/share/df-lnp-installer $ ls
chris@Basalt ~/.local/share/df-lnp-installer $ cd ..
cd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chris@Basalt ~/.local/share/df-lnp-installer/.. $ ls
chris@Basalt ~/.local/share/df-lnp-installer/.. $ cd ..
chris@Basalt ~/.local $ ls
chris@Basalt ~/.local $ cd share
bash: cd: share: No such file or directory
chris@Basalt ~/.local $ ls

It seems the LNP installer deleted my entire .local/share directory, and the trash folder along with it so there is no possibility of recovery.  >:( So much for "If something goes wrong, the whole install will be reverted." This was quite a shock, I think you should look into this and consider doing more serious testing, as well as giving the user more clues what is going on.

Details of my linux installation:

chris@Basalt ~ $ cat /etc/*release*
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=14
DISTRIB_CODENAME=nadia
DISTRIB_DESCRIPTION="Linux Mint 14 Nadia"
NAME="Ubuntu"
VERSION="12.10, Quantal Quetzal"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu quantal (12.10)"
VERSION_ID="12.10"
« Last Edit: October 09, 2013, 03:55:04 pm by render787 »
Logged

moya

  • Escaped Lunatic
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #8 on: October 10, 2013, 12:15:41 am »

Hi I'm using Linux Mint. I just installed dwarf fortress and decided to look at a tutorial, the tutorial suggested that I get alternate tile sets etc. so I decided to try to install using your LNP pack. I had the following *very unfortunate experience* trying to install in ~/.local/share/: (You will see below that I renamed the initial install from df_linux to df_linux_old.)

...


Sorry to hear that. Report the issue on Github if you haven't already.

Anyway, thanks andrew! I've been waiting for this (I should learn to program already...)
Logged

andrewd18

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #9 on: October 11, 2013, 04:21:25 pm »

It works like a charm under Archinux. I also had to deactivate the ptrace_protection.
Glad to hear it. :)

Quote
One Question:
Your config patches overwrite every default value like setting the POPULATION_CAP to 80 and so on. But why?
To match the Windows LNP default settings.
Logged

andrewd18

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #10 on: October 11, 2013, 04:28:09 pm »

Hi I'm using Linux Mint. I just installed dwarf fortress and decided to look at a tutorial, the tutorial suggested that I get alternate tile sets etc. so I decided to try to install using your LNP pack. I had the following *very unfortunate experience* trying to install in ~/.local/share/: (You will see below that I renamed the initial install from df_linux to df_linux_old.)

chris@Basalt ~/.local/share $ ls
applications            gsettings-data-convert     recently-used.xbel.T7S93W
cinnamon                gvfs-metadata              Trash
df_34_11_linux.tar.bz2  icc                        webkit
df_linux_old            keyrings                   wesnoth
df-lnp-installer        recently-used.xbel
gegl-0.2                recently-used.xbel.BF293W
chris@Basalt ~/.local/share $ cd df-lnp-installer/
chris@Basalt ~/.local/share/df-lnp-installer $ ls
COPYING              dwarf_fortress_lazy_newb_pack.desktop  lnp.yaml   sha1sums
df-lnp-installer.sh  embark_profiles.txt                    patches
DF_LNP_Logo_128.png  LICENSE                                README.md
chris@Basalt ~/.local/share/df-lnp-installer $ ./df-lnp-installer.sh
Checking for dependencies...

Where should Dwarf Fortress be installed? [/home/chris/.local/share]:
rm: remove write-protected regular file `/home/chris/.local/share/df-lnp-installer/.git/objects/pack/pack-a08e8745cd28d65fa160f0a523b0eda66612fd83.pack'? y
rm: remove write-protected regular file `/home/chris/.local/share/df-lnp-installer/.git/objects/pack/pack-a08e8745cd28d65fa160f0a523b0eda66612fd83.idx'? y

df-lnp-installer.sh: Cannot install. /home/chris/.local/share must be an empty or nonexistant folder. If this is an existing DF installation, use --upgrade. Exiting.
chris@Basalt ~/.local/share/df-lnp-installer $ ./df-lnp-installer.sh
bash: ./df-lnp-installer.sh: No such file or directory
chris@Basalt ~/.local/share/df-lnp-installer $ ls
chris@Basalt ~/.local/share/df-lnp-installer $ cd ..
cd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chris@Basalt ~/.local/share/df-lnp-installer/.. $ ls
chris@Basalt ~/.local/share/df-lnp-installer/.. $ cd ..
chris@Basalt ~/.local $ ls
chris@Basalt ~/.local $ cd share
bash: cd: share: No such file or directory
chris@Basalt ~/.local $ ls

It seems the LNP installer deleted my entire .local/share directory, and the trash folder along with it so there is no possibility of recovery.  >:( So much for "If something goes wrong, the whole install will be reverted." This was quite a shock, I think you should look into this and consider doing more serious testing, as well as giving the user more clues what is going on.

Details of my linux installation:

chris@Basalt ~ $ cat /etc/*release*
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=14
DISTRIB_CODENAME=nadia
DISTRIB_DESCRIPTION="Linux Mint 14 Nadia"
NAME="Ubuntu"
VERSION="12.10, Quantal Quetzal"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu quantal (12.10)"
VERSION_ID="12.10"
Wow. I'm really sorry about that. I think it's a side effect of my cleanup code. I'll look into it.

Next time you install, don't tell it to install to ~/.local/share but instead to ~/.local/share/dwarf_fortress. The installer expects a directory set aside especially for df, so it can do crazy things like delete it on an upgrade. Giving it a shared location like that was not the best choice. That's why the script tries to recommend ~/bin/Dwarf Fortress/.

*edit* - Upon closer inspection, it Iooks like the script found your old df_linux folder, made some bad assumptions, and tried to clean up after itself when it failed and bombed your local/share folder. While I can't get your stuff back, I have opened a new ticket for you at https://github.com/andrewd18/df-lnp-installer/issues/30
« Last Edit: October 11, 2013, 04:38:35 pm by andrewd18 »
Logged

andrewd18

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #11 on: October 13, 2013, 09:27:32 am »

I have qt4 packages installed ... But I still get dependency issues.
As per the github issue you filed, this was a problem with 0.3.0 and was fixed in 0.3.1.

For anyone else encountering this issue, a simple "git pull" and re-running the script should take care of it.
Logged

ytterbium

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #12 on: October 16, 2013, 12:46:11 pm »

Hello,

I've made an other df-lnp installer based on yours for the pacman-based systems (eg Arch Linux or Manjaro).
It use the makepkg utility, which made the download and build steps itself, and which make easier the upgrade.

I have no bug, but it would be great if someone could test my installer to verify the absence of problem.
Logged

Eratosthenes

  • Escaped Lunatic
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #13 on: October 16, 2013, 01:42:39 pm »

Hi there,
I decided to try this pack, which seems very convenient for starters. However, if I understand well, and although it compiles everything needed, it still needs the 32-bit libraries installed (why?). This means I have to allow arch32, which I will avoid. The fact someone posted in this thread that he had to do
Code: [Select]
dpkg --add-architecture i386doesn't leave any doubts it is as I said.
My system is pure 64-bit, and I want it to stay that way. Lots of 64-bit libraries are already installed in my system, including the ones required for DF, this pack, and many others. Personally, I refuse to install a big amount of otherwise useless 32-bit libraries (~200 Mb, including all their dependencies.) That is actually the reason I didn't play DF for quite some time now (it works on my 32-bit netbook but it's slow.) With 64-bit technology being around for more than 15 years now, and in an era even cheap laptops come with 64-bit multi-core processors, I don't see why many applications are still released in 32-bit only, forcing 64-bit users to install a 32-bit development environment. Yes, 200 Mb for 32-bit useless stuff is not much for today's hard disks, but I still refuse to install them just to be able to run an application, whatever that application is.

Some time ago, I was able to run vanilla DF that way; i had to manually download some 32-bit libraries and put them in DF's directory, essentially making DF a "static" build. This was still a unacceptable trick, but at least I didn't have to actually install those libraries in the system. However, even that trick doesn't work anymore. The last time I tried, I realized it needed way more 32-bit libraries than before and gave up. I saw this pack actually compiles everything so decided to give it a try, but stopped when I read it still needs a 32-bit development platform.

Is there any way to install this pack using the native 64-bit libraries installed in my system?

My system: Linux debian 3.10-3-amd64 #1 SMP Debian 3.10.11-1 (2013-09-10) x86_64 GNU/Linux
Logged

ytterbium

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Installer for Linux
« Reply #14 on: October 17, 2013, 01:02:06 am »

The pack doesn't compile dwarf fortress, since it is not open-source. It only download the pre-compiled version by Toady, and this version is only 32-bits. So, if you want a 64 bit version, you have to ask him to release a 64 bit version.
Logged
Pages: [1] 2 3 ... 5