How I got VultureNethack to run on 32-bit PrecisePuppy 5.7.1

Play with your Puppy.
Post Reply
Message
Author
User avatar
solo
Posts: 389
Joined: Thu 14 Nov 2013, 20:33

How I got VultureNethack to run on 32-bit PrecisePuppy 5.7.1

#1 Post by solo »

Here's a precise rundown of actions I took to get Vulture Nethack (Nethack with an isometric graphical interface) to run on a 32-bit machine with Precise Puppy 5.7.1.:

Step 1: Downloaded and installed vulture-nethack_2.3.67-1~getdeb2_i386.deb from http://www.ubuntuupdates.org/package/ge ... re-nethack
Step 2: give the ldd vulture-nethack command in Terminal in the /usr/lib/games/vulture-nethack folder to see which dependencies are missing:

Code: Select all

linux-gate.so.1 =>  (0xffffe000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb766d000)
libSDL_mixer-1.2.so.0 => not found
libSDL_ttf-2.0.so.0 => not found
libpng12.so.0 => /lib/libpng12.so.0 (0xb7633000)
libz.so.1 => /lib/libz.so.1 (0xb761d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75ff000)
libc.so.6 => /lib/libc.so.6 (0xb7456000)
/lib/ld-linux.so.2 (0xb770b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb743a000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb7348000)
libm.so.6 => /lib/libm.so.6 (0xb731c000)
libdl.so.2 => /lib/libdl.so.2 (0xb7317000)
libpulse-simple.so.0 => /usr/lib/libpulse-simple.so.0 (0xb7312000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0xb72c4000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb718f000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb717d000)
libcaca.so.0 => /usr/lib/libcaca.so.0 (0xb70b2000)
librt.so.1 => /lib/librt.so.1 (0xb70a9000)
libpulsecommon-1.1.so => /usr/lib/libpulsecommon-1.1.so (0xb7044000)
libjson.so.0 => /usr/lib/libjson.so.0 (0xb703b000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0xb6ff2000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6fd1000)
libslang.so.2 => /lib/libslang.so.2 (0xb6eb1000)
libncursesw.so.5 => /lib/libncursesw.so.5 (0xb6e81000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0xb6e61000)
libwrap.so.0 => /lib/libwrap.so.0 (0xb6e57000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0xb6de5000)
libasyncns.so.0 => /usr/lib/libasyncns.so.0 (0xb6dde000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb6dda000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6dd2000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb6db8000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0xb6d6a000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb6bf2000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb6bc7000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xb6bbe000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb6ba6000)

Step 3: Download libsdl_mixer-1.2.6.pet from http://distro.ibiblio.org/puppylinux/pet_packages-2/ and install it
Step 4: Download SDL_ttf-2.0.11.pet from https://archive.org/details/Puppy_LInux_Spanish and install it
Step 5: Run the ldd vulture_nethack command again:

Code: Select all

linux-gate.so.1 =>  (0xffffe000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb769d000)
libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0xb7658000)
libSDL_ttf-2.0.so.0 => /usr/lib/libSDL_ttf-2.0.so.0 (0xb764f000)
libpng12.so.0 => /lib/libpng12.so.0 (0xb7625000)
libz.so.1 => /lib/libz.so.1 (0xb760f000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75f1000)
libc.so.6 => /lib/libc.so.6 (0xb7448000)
/lib/ld-linux.so.2 (0xb773b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb742d000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb733a000)
libm.so.6 => /lib/libm.so.6 (0xb730e000)
libdl.so.2 => /lib/libdl.so.2 (0xb7309000)
libpulse-simple.so.0 => /usr/lib/libpulse-simple.so.0 (0xb7304000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0xb72b6000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7182000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb716f000)
libcaca.so.0 => /usr/lib/libcaca.so.0 (0xb70a4000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb709a000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb706f000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xb7067000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb6fcc000)
libdirectfb-1.2.so.0 => not found
librt.so.1 => /lib/librt.so.1 (0xb6fb4000)
libpulsecommon-1.1.so => /usr/lib/libpulsecommon-1.1.so (0xb6f4f000)
libjson.so.0 => /usr/lib/libjson.so.0 (0xb6f47000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0xb6efd000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6edc000)
libslang.so.2 => /lib/libslang.so.2 (0xb6dbc000)
libncursesw.so.5 => /lib/libncursesw.so.5 (0xb6d8c000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0xb6d6d000)
libwrap.so.0 => /lib/libwrap.so.0 (0xb6d62000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0xb6cf0000)
libasyncns.so.0 => /usr/lib/libasyncns.so.0 (0xb6ce9000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb6ce5000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6cde000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb6cc3000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0xb6c75000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb6afd000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb6ae5000)
Step 6: Having found the libdirectfb already installed in /usr/lib, we have to conclude that what is in fact missing, is a symlink to it with the proper name, so we right-click on libdirectfb-1.2.so.9.0.1 choose link, and create a symlink called libdirectfb-1.2.so.0
Step 7: Run the ldd vulture-nethack command again:

Code: Select all

linux-gate.so.1 =>  (0xffffe000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb769d000)
libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0xb7658000)
libSDL_ttf-2.0.so.0 => /usr/lib/libSDL_ttf-2.0.so.0 (0xb764f000)
libpng12.so.0 => /lib/libpng12.so.0 (0xb7625000)
libz.so.1 => /lib/libz.so.1 (0xb760f000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75f1000)
libc.so.6 => /lib/libc.so.6 (0xb7448000)
/lib/ld-linux.so.2 (0xb773b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb742d000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb733a000)
libm.so.6 => /lib/libm.so.6 (0xb730e000)
libdl.so.2 => /lib/libdl.so.2 (0xb7309000)
libpulse-simple.so.0 => /usr/lib/libpulse-simple.so.0 (0xb7304000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0xb72b6000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7182000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb716f000)
libcaca.so.0 => /usr/lib/libcaca.so.0 (0xb70a4000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb709a000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb706f000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xb7067000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb6fcc000)
libdirectfb-1.2.so.0 => /usr/lib/i386-linux-gnu/libdirectfb-1.2.so.0 (0xb6f46000)
librt.so.1 => /lib/librt.so.1 (0xb6f3d000)
libpulsecommon-1.1.so => /usr/lib/libpulsecommon-1.1.so (0xb6ed8000)
libjson.so.0 => /usr/lib/libjson.so.0 (0xb6ed0000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0xb6e86000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6e65000)
libslang.so.2 => /lib/libslang.so.2 (0xb6d45000)
libncursesw.so.5 => /lib/libncursesw.so.5 (0xb6d15000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0xb6cf6000)
libdirect-1.2.so.9 => /usr/lib/i386-linux-gnu/libdirect-1.2.so.9 (0xb6cdd000)
libfusion-1.2.so.9 => /usr/lib/i386-linux-gnu/libfusion-1.2.so.9 (0xb6cd2000)
libwrap.so.0 => /lib/libwrap.so.0 (0xb6cc8000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0xb6c56000)
libasyncns.so.0 => /usr/lib/libasyncns.so.0 (0xb6c4f000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb6c4a000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6c43000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb6c29000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0xb6bdb000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb6a63000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb6a4a000)

Step 8: Run the vulture-nethack command, terminal message:

Code: Select all

Could nor open /usr/lib/games/vulture-nethack/config/vulture.conf: No such file or directory
FATAL: Could not read tile configuration (vulture_tiles.conf) file: No such file or directory[/usr/lib/games/vulture-nethack]
Step 9: Download the game data file vulture-data_2.3.67-1_all.deb from http://www.darkarts.co.za/vulture and install it
Step 10: Run the vulture-nethack command. Game starts up, but when entering name and pressing enter, closes. Terminal message:

Code: Select all

Can't find file /var/games/vulture-nethack/perm to lock!
Step 11: Create a blank file in /var/games/vulture-nethack called perm
Step 12: Run the vulture-nethack command

Succes!

Update: The screen blacked out when an automatic pupsave started. No more cursor either. Needed to restart X-server.
Appears to be an issue that only occurs when playing in full screen mode.

You should also create a blank file called logfile in /var/games/vulture-nethack. It will keep records of your past attempts.

User avatar
solo
Posts: 389
Joined: Thu 14 Nov 2013, 20:33

#2 Post by solo »

Okay, so, as a follow-up, I noticed this excellent utility called PaDS 1.0.1.31 by RSH on this forum yesterday:

http://murga-linux.com/puppy/viewtopic.php?t=81511

, which is able to combine .deb and .pet files into a single SFS.

So I figured that I wanted to take shot at making an SFS of Vulture Nethack.

The trouble is of course, that I also needed to make a PET which would place the symlink to libdirectfb-1.2.so.9.0.1 called libdirectfb-1.2.so.0 in the /usr/lib folder, and it would have to place files called perm and logfile in the /var/games/vulture-nethack/ folder.

Since I have no experience creating PET files at all, I was very happy to discover the Puppy Linux PET Maker by trio:

http://www.murga-linux.com/puppy/viewtopic.php?p=290171

This utility makes it very easy to add files and folders and make a PET file of them.

So I added the three files from their proper respective locations, and called the PET Vulture_Nethack_Added_Files.pet.

Then, with PaDS 1.0.1.31, I added the files I needed:
vulture-nethack_2.3.67-1~getdeb2_i386.deb
vulture-data_2.3.67-1_all.deb
libsdl_mixer-1.2.6.pet
SDL_ttf-2.0.11.pet
Vulture_Nethack_Added_Files.pet

And in this manner, I created an SFS I called Vulture_Nethack_2.3.67_Precise.sfs.

As far as I can tell, it works for Precise Puppy 5.7.1

Oh, before I forget, if anyone wants to try this themselves, it helps if you have the devx_precise_5.7.1.sfs loaded when you create the SFS.

Post Reply