2008.11.21 20:18 "[Tiff] Patch Legacy App for Updated libtiff?", by Kevin Myers

2008.11.21 20:18 "[Tiff] Patch Legacy App for Updated libtiff?", by Kevin Myers

I have a legacy app that appears to use an older (potentially somewhat customized or stripped-down) version of libtiff. This legacy app is critical to the work that I do, and unfortunately alternative replacements are FAR out of my budget. I do *not* have access to the source code for this application.

This legacy app has a few limitations regarding handling of certain TIFF images that cause me a great deal of grief. In particular, it is unable to read JPEG or LZW compressed TIFF images. That is a very important issue for me, because many of the images that I work with are *extremely* large color images, and without the use of JPEG or LZW compression they require unacceptably huge amounts of disk space.

To resolve the above issues, I would like to find a way to somehow force the legacy app to use a recent version of libtiff that provides full handling for JPEG and LZW compressed images (among other things). In an overly simplistic attempt to accomplish this, I merely replaced the legacy application's copy of libtiff.dll with recent libtiff3.dll incarnations from GnuWin32 and tiff-3.8.2 Windows binary distributions. Unfortunately, that didn't work. During startup, the legacy app displays an error dialogue with the following message, then craters:

The procedure entgry point WriteScanLine could not be located in the dynamic library LIBTIFF.DLL.

Now I am pretty sure that WriteScanLine still exists in both of the libtiff3.dll incarnations that I attempted to substitute for the legacy apps version of libtiff.dll. So, the error message must be somewhat misleading. But I know practically nothing about how linkages between applications and DLLs work under Windows, so I have very little idea about what else might be causing this message, and if or how it can be fixed *without* access to the source code for the legacy app.

Can anyone offer any tips or suggestions that might help me solve this problem?


Kevin M.