View Issue Details

IDProjectCategoryView StatusLast Update
0002688Dwarf FortressInit Optionspublic2018-05-27 11:57
Reportergone404 Assigned ToToady One  
PriorityhighSeverityblockReproducibilityalways
Status acknowledgedResolutionreopened 
PlatformLinuxOSGentooOS Version~AMD64
Product Version0.31.10 
Fixed in Version0.43.05 
Summary0002688: Not found: data/art/curses_640x300.png (32-bit Linux DF)
DescriptionI could have sworn I had dwarf fortress running at one point. Maybe it was all a dream.

Anyway. At first I was getting the "Not found: data/art/curses_640x300.png" error. I changed all occurrences of ".png" to ".bmp" in data/init/interface.txt

Now I'm getting the mouse.png not found error. Setting "[MOUSE:NO]" and "[MOUSE_PICTURE:NO]" doesn't fix it.

Just a heads up.
Steps To ReproduceTry to run ./df
Additional InformationI have libpng, sdl-image, and all other necessary requirements. This is a 64bit system, so maybe it's unsupported. Either way, there are no 32bit builds of any of the above packages for Gentoo.
Tags0.44.10, 32-bit DF only

Relationships

has duplicate 0006506 resolveduser6 Tileset not found: data/art/curses_640_300.png 
has duplicate 0006739 resolvedlethosor Tileset not found 
has duplicate 0007675 resolveduser6 Unable to locate theme engine in module_path: "murrine" 
has duplicate 0007772 resolveduser11 Not found: data/art/mouse.png 
has duplicate 0007970 resolveduser6 Game play controls do not match "interface.txt" 
has duplicate 0010771 resolvedlethosor libgraphics.so has no dependency on libz.so.1 in the 32 bit build 
has duplicate 0011562 resolvedlethosor Not found: data/art/curses_640x300.png 
related to 0006147 new Not found: data/art/curses_640x300.png 

Activities

user6

2010-07-14 07:25

  ~0010232

I changed all occurrences of ".png" to ".bmp" in data/init/interface.txt

Did you mean init.txt?

user6

2010-08-07 10:48

  ~0011599

Reminder sent to: gone404

Is this error still present in 31.12?

gone404

2010-08-07 14:58

reporter   ~0011611

Last edited: 2010-08-07 14:58

I did mean init.txt.

Error is still present (df_31_12_linux.tar.bz2). Changing all occurances of .png to .bmp gets rid of the curses_640x300 error. But the "Not found: data/art/mouse.png" error still comes up. This happens whether [MOUSE] is set to "YES" or "NO"

I've also tried running ./libs/DwarfFortess directly as well as executing df with a full path. Nothing seems to help.

gone404

2010-08-07 15:08

reporter   ~0011613

Last edited: 2010-08-07 15:13

Update: Hex editing df_linux/libs/DwarfFortress and replacing "mouse.png" with "mouse.bmp" lets me run DwarfFortress!

It was a bit of a crapshoot, but luckily the reference was a string in the binary.

Cool intro by the way =)

NOTE: I had to set MOUSE_PICTURE:NO because the ax cursor was blank when mousing into the df window.

user6

2010-08-07 16:21

  ~0011616

Reminder sent to: Baughn

Hey Baughn, any input on this one? gone404 did some testing (see above) which may shed some light on the problem.

gone404

2010-08-08 13:59

reporter   ~0011635

It seems like an issue with png processing. I've been testing tilesets and raw/graphics/ packs (mayday). Nothing works until I change the the images to bitmaps and update the references accordingly.

tsester

2013-05-04 07:25

reporter   ~0023955

i have similar problem
OS: ArchLinux 64 bit
df: 0.34.11-2 (arch package) 0.34.11 (official package)

resolution: delete all png, link all bmp to respective names ending in png

ag

2014-03-21 07:39

reporter   ~0024614

So, I got this same problem after upgrading to Fedora 20, and investigated it.

It seems, libgraphics.so from DF statically links to zlib and exports all of its symbols, so the system's libpng ends up calling the functions in libgraphics instead of the system zlib. Apparently something changed in the zlib API recently, and recent libpng versions rely on it, so on an up to date system it fails to work.

A solution I found is to preload the system zlib, so that it has priority over libgraphics:

export LD_PRELOAD=/usr/lib/libz.so.1

Nonno Cicala

2014-04-18 11:01

reporter   ~0024710

Thank you ag!

LD_PRELOAD=/lib32/libz.so.1 ./df

worked for me on Gentoo!

lue

2014-07-10 15:35

reporter   ~0025608

This is still an issue on 0.40.01 and 0.40.02 (and was an issue with me with 0.34.11 days before 0.40.01 was released).

I am on Gentoo using emul-linux-x86-baselibs 20140406-r4, which provides me with 32-bit libpng and libz libraries. Using the LD_PRELOAD given in the previous note throws a couple of "ERROR: ld.so: object '/lib32/libz.so.1' from LD_PRELOAD cannot be preloaded: ignored." but otherwise runs fine.

Trying to specify /usr/lib32/libz.so interestingly causes the fatal error to occur, despite it also being installed by that emul-linux package. Not sure why this is, but I should note that I have libpng libraries in /usr/lib32, while not having them in /lib32

That's about all I can find at the moment, hope it's helpful in some fashion.

nekoxmachina

2014-07-15 07:03

reporter   ~0026461

>Trying to specify /usr/lib32/libz.so interestingly causes the fatal error to occur, despite it also being installed by that emul-linux package. Not sure why this is, but I should note that I have libpng libraries in /usr/lib32, while not having them in /lib32

1) Over /usr/lib32/libz.so fatal issue:
On gentoo, libz.so is ascii file with 'GNU ld script' inside.
neko@laptop : ~
[0] % file /usr/lib32/libz.so
/usr/lib32/libz.so: ASCII text

2) Over LD_PRELOAD issue:
This is because you have 64bit environment at the moment of the script (df) launch.
ld is smart & won't preload wrong architecture library for you.
your /bin/sh is 64bit, library is 32bit, script is executed with /bin/sh, thus problems.
However it is unclear why, while LD_PRELOAD doesn't preload the library, it fixes the issue for you.
:)

ag

2014-07-15 11:15

reporter   ~0026503

Because LD_PRELOAD independently applies to every process that is started by the command, so /bin/sh complains, but the actual DF executable doesn't even know about that and works.

djsmiley2k

2014-07-23 15:12

reporter   ~0027357

On gentoo I've had to add

export LD_PRELOAD=/lib32/libz.so.1 libs/Dwarf_Fortress #gentoo hax


and then it works normally as far as I can tell.

Hello71

2014-07-29 14:16

reporter   ~0027897

recompiling libgraphics.so also works (obviously)

Khym Chanur

2014-11-21 22:01

reporter   ~0031110

I've modified the Linux df script so that it should work under most 64 bit Linux systems. See http://pastebin.com/Rkv5WKXz

Quietust

2015-03-03 17:37

reporter   ~0032322

This issue should not be confused with 0006147 - despite having the exact same title, this one applies to Linux while the other one applies to Windows (and is actually a totally different problem).

braiam

2016-06-09 05:41

reporter   ~0035380

On Debian the library is in `/lib/i386-linux-gnu`, so adding that to Khym script should work for Debian derivatives http://pastebin.com/733uamx2.

As far I know, the dynamic linker should have found it as ldd output shows:

ldd df_linux/libs/Dwarf_Fortress | grep libz
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf62ad000)

But `ld ./libs/DwarfFortress` throws:

➜ ~ ld df_linux/libs/Dwarf_Fortress
ld: i386 architecture of input file `df_linux/libs/Dwarf_Fortress' is incompatible with i386:x86-64 output
ld: error in df_linux/libs/Dwarf_Fortress(.eh_frame); no .eh_frame_hdr table will be created.
ld: warning: cannot find entry symbol _start; defaulting to 0000000000404a20

Which according to this http://stackoverflow.com/q/19200333/792066 some emulation should be used. Since the compiler is new, I presume Toady hasn't been able to get around it, yet.

lethosor

2016-06-09 08:32

manager   ~0035382

The compiler hasn't changed since around 2010, so I don't know what you mean. There's no need for emulation. Does actually running DF work?

lethosor

2016-08-22 14:34

manager   ~0035803

Okay, now Toady has upgraded his Linux toolchain. Is this still an issue with DF 0.43.05? I was able to run both builds on Ubuntu 16.04, but I haven't tried other distros.

Max_TM

2016-08-24 15:38

reporter   ~0035806

Worked for me on Arch straight from him, no more editing the executable with vim until the arch build is ready!

braiam

2016-08-25 14:27

reporter   ~0035809

I swear I responded to lethosor comment... yes, it works without a hitch on a Debian testing. The user only needs to install the libraries, not even the 32-bit build, but the 64-bit ones.

lethosor

2018-04-10 10:36

manager   ~0038149

Okay, thanks, we'll call it fixed in 0.43.05, then. PM a manager on the forums if it persists in anything newer than that.

lethosor

2018-05-27 11:56

manager   ~0038386

Reopening per 0010771

Possibly missing an "-lz" in the build script, from what I understand.

Add Note

Note

Issue History

Date Modified Username Field Change
2010-07-14 03:14 gone404 New Issue
2010-07-14 07:25 user6 Note Added: 0010232
2010-07-14 07:25 user6 Tag Attached: AWAITING UPDATE
2010-08-07 10:48 user6 Note Added: 0011599
2010-08-07 14:58 gone404 Note Added: 0011611
2010-08-07 14:58 gone404 Note Edited: 0011611
2010-08-07 15:08 gone404 Note Added: 0011613
2010-08-07 15:13 gone404 Note Edited: 0011613
2010-08-07 16:21 user6 Note Added: 0011616
2010-08-07 16:21 user6 Tag Detached: AWAITING UPDATE
2010-08-08 13:59 gone404 Note Added: 0011635
2013-05-04 07:25 tsester Note Added: 0023955
2014-03-21 07:39 ag Note Added: 0024614
2014-03-25 18:41 user11 Assigned To => user11
2014-03-25 18:41 user11 Status new => confirmed
2014-03-25 18:42 user11 Status confirmed => acknowledged
2014-04-18 11:01 Nonno Cicala Note Added: 0024710
2014-06-15 00:59 user6 Relationship added has duplicate 0006506
2014-07-08 20:27 lethosor Relationship added has duplicate 0006739
2014-07-10 15:35 lue Note Added: 0025608
2014-07-15 07:03 nekoxmachina Note Added: 0026461
2014-07-15 11:15 ag Note Added: 0026503
2014-07-23 15:12 djsmiley2k Note Added: 0027357
2014-07-28 00:56 user6 Relationship added has duplicate 0007675
2014-07-29 14:16 Hello71 Note Added: 0027897
2014-08-01 05:16 user11 Relationship added has duplicate 0007772
2014-08-12 12:39 user6 Relationship added has duplicate 0007970
2014-08-18 11:45 user6 Summary Not found: data/art/mouse.png => Not found: data/art/curses_640x300.png
2014-10-24 12:28 lethosor Status acknowledged => confirmed
2014-11-21 22:01 Khym Chanur Note Added: 0031110
2014-11-21 22:01 Khym Chanur Tag Attached: Probable Quick Fix
2015-03-02 20:03 lethosor Relationship added related to 0006147
2015-03-02 20:04 lethosor Tag Detached: Probable Quick Fix
2015-03-03 17:37 Quietust Note Added: 0032322
2016-06-09 05:41 braiam Note Added: 0035380
2016-06-09 08:32 lethosor Note Added: 0035382
2016-08-22 14:34 lethosor Note Added: 0035803
2016-08-22 14:34 lethosor Assigned To user11 => lethosor
2016-08-22 14:34 lethosor Status confirmed => feedback
2016-08-24 15:38 Max_TM Note Added: 0035806
2016-08-25 14:27 braiam Note Added: 0035809
2018-04-10 10:36 lethosor Note Added: 0038149
2018-04-10 10:36 lethosor Status feedback => resolved
2018-04-10 10:36 lethosor Fixed in Version => 0.43.05
2018-04-10 10:36 lethosor Resolution open => fixed
2018-04-10 10:36 lethosor Status resolved => assigned
2018-04-10 10:36 lethosor Assigned To lethosor => Toady One
2018-04-10 10:36 lethosor Status assigned => resolved
2018-05-27 11:55 lethosor Relationship added has duplicate 0010771
2018-05-27 11:56 lethosor Note Added: 0038386
2018-05-27 11:56 lethosor Status resolved => feedback
2018-05-27 11:56 lethosor Resolution fixed => reopened
2018-05-27 11:57 lethosor Status feedback => acknowledged
2018-05-27 11:57 lethosor Tag Attached: 0.44.10
2018-05-27 11:57 lethosor Summary Not found: data/art/curses_640x300.png => Not found: data/art/curses_640x300.png (32-bit Linux DF)
2018-05-27 11:57 lethosor Tag Attached: 32-bit DF only
2020-06-21 09:44 lethosor Relationship added has duplicate 0011562