On Mon, May 26, 2014 at 04:23:52AM +0000, [email protected] wrote:
> ------------------------------------------
> 1. You must have fltk-1.3.x and libtiff installed.
> (Me: fltk-1.3.x-r10136, tiff-4.0.3)
> 2. cd flimage-fltk13-source-1.9.3
> 3. ./bootstrap.sh
> 4. ./configure
> 5. make
> 6. ./flimage PATH_TO/PalaisDuLouvre.tif
> 7. Press the forward button ('>') from 0 to 5
> 8. Press the backward button ('<') from 5 to 0
First, I get three compile errors when building (on a Debian 32-bit
system):
1) If I don't have libtiff4-dev (version 3.9.6-11) installed:
--
flimage.cxx: In function 'void chooser_cb(const char*)':
flimage.cxx:1280:22: error: 'TIFF_free_read_info' was not declared in this scope
flimage.cxx: In function 'void exit_cb(Fl_Widget*, void*)':
flimage.cxx:1409:22: error: 'TIFF_free_read_info' was not declared in this scope
make: *** [all] Error 1
--
I fixed that by installing the package, but the root cause of the
compile error is that TIFF_free_read_info() is called even with
the configure option --disable-tiff.
2) TIFF.cxx uses the type "tmsize_t" which isn't defined anywhere.
--
TIFF.cxx: In function 'int cpStrips(TIFF*, TIFF*)':
TIFF.cxx:684:2: error: 'tmsize_t' was not declared in this scope
TIFF.cxx:684:11: error: expected ';' before 'bufsize'
--
After some research on the web I concluded that this type is
provided by some versions of libtiff, and is just a 32-bit int on
an 32-bit system, so I added
typedef int tmsize_t;
at the beginning of TIFF.cxx.
3) TIFF.cxx uses the undefined type "uint64".
--
TIFF.cxx: In function 'int cpStrips(TIFF*, TIFF*)':
TIFF.cxx:694:2: error: 'uint64' was not declared in this scope
TIFF.cxx:694:10: error: 'bytecounts' was not declared in this scope
TIFF.cxx:703:29: error: expected ')' before 'bufsize'
--
I've circumvented this problem by adding
#include <stdint.h>
typedef uint64_t uint64;
at the beginning of TIFF64.cxx.
--
Second, after building, if I run
./flimage ~/PalaisDuLouvre.tif
The I just get a core dump:
TIFFOpen: (null): Cannot open.
zsh: segmentation fault (core dumped) ./flimage ~/PalaisDuLouvre.tif
./flimage ~/PalaisDuLouvre.tif 0.32s user 1.56s system 25% cpu 7.281 total
gdb session:
-- snip --
Core was generated by `./flimage /home/luthien/PalaisDuLouvre.tif'.
Program terminated with signal 11, Segmentation fault.
#0 0xb75550ec in TIFFFindFieldInfo ()
from /usr/lib/i386-linux-gnu/libtiff.so.4
(gdb) bt
#0 0xb75550ec in TIFFFindFieldInfo ()
from /usr/lib/i386-linux-gnu/libtiff.so.4
#1 0xb75545b6 in TIFFVGetField () from /usr/lib/i386-linux-gnu/libtiff.so.4
#2 0xb755464b in TIFFGetField () from /usr/lib/i386-linux-gnu/libtiff.so.4
#3 0x0804e824 in read_single_image (out_height=0xbfe8d1c0,
out_width=0xbfe8d1bc, read_idf=<optimized out>) at TIFF.cxx:180
#4 get_buf (i=i@entry=0, out_width=out_width@entry=0xbfe8d1bc,
out_height=out_height@entry=0xbfe8d1c0) at TIFF.cxx:232
#5 0x0805041a in TIFF_load (canvas=0x9d33be8, reader=0x9d2d728,
read_idf=0x9d33698 "/home/luthien/PalaisDuLouvre.tif", fsize=1971467)
at TIFF.cxx:407
#6 0x0804ca59 in load_image (fsize=1971467,
fname=0x9d33698 "/home/luthien/PalaisDuLouvre.tif", fp=0x9d2d728)
at flimage.cxx:1191
#7 chooser_cb (cs=cs@entry=0xbfe908d6 "/home/luthien/PalaisDuLouvre.tif")
at flimage.cxx:1302
#8 0x0804b7c6 in main (argc=2, argv=0xbfe8f3a4) at flimage.cxx:1594
(gdb) list
1450 while((ch = *s++))
1451 {
1452 if(isspace(ch)) continue;
1453 *d++ = (char)tolower(ch);
1454 }
1455 *d = 0;
1456 }
1457
1458 int main(int argc, char *argv[])
1459 {
-- snip --
This looks like an incompatible version of libtiff. Do you have
an image or images in a less antique format that can be used to
make the problem show up (png? jpg? gif?). (Please post links
to the images or mail them to me directly.)
--
Third,
> ------------------------------------------
> events.c:961:
> cre: 0(0) 0(0) 760(4)x685(8) fw 0x0040025f w 0x00600006 ew 0x00600006 ''
> _cdim: --- using StaticGravity 0x1d44180 ''
>
> events.c:961:
> cre: 0(0) 0(0) 760(4)x636(8) fw 0x0040025f w 0x00600006 ew 0x00600006 ''
> _cdim: --- using StaticGravity 0x1d44180 ''
>
> events.c:961:
> cre: 0(0) 0(0) 760(4)x429(8) fw 0x0040025f w 0x00600006 ew 0x00600006 ''
> _cdim: --- using StaticGravity 0x1d44180 ''
>
> events.c:961:
> cre: 0(0) 0(0) 689(4)x308(8) fw 0x0040025f w 0x00600006 ew 0x00600006 ''
> _cdim: --- using StaticGravity 0x1d44180 ''
>
> events.c:961:
> cre: 0(0) 0(0) 689(4)x256(8) fw 0x0040025f w 0x00600006 ew 0x00600006 ''
> _cdim: --- using StaticGravity 0x1d44180 ''
>
> events.c:961:
> cre: 0(0) 0(0) 689(4)x230(8) fw 0x0040025f w 0x00600006 ew 0x00600006 ''
> _cdim: --- using StaticGravity 0x1d44180 ''
> ------------------------------------------
all this looks sensible and just expresses that the window had
been at the top left corner of the screen with various sizes.
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt