Return-Path: <awaresystems.be+caf_=filtered=awaresystems.be@gmail.com>
Delivered-To: filtered@awaresystems.be
Received: from mx-v.one.com (mx-v.one.com [195.47.247.147])
	by mail6.local.one.com (Postfix) with ESMTP id 927533002BB5F4
	for <filtered@awaresystems.be>; Wed, 16 Jul 2014 13:41:35 +0000 (UTC)
X-Virus-Scanned: by one.com
Received-SPF: pass (mx-v: domain of awaresystems.be+caf_=filtered=awaresystems.be@gmail.com designates 209.85.215.44 as permitted sender)
X-Greylist: whitelisted by SQLgrey-1.8.0-rc2
Received: from mail-la0-f44.google.com (mail-la0-f44.google.com [209.85.215.44])
	by mx-v.one.com (Postfix) with ESMTP id 5EC002858CA
	for <filtered@awaresystems.be>; Wed, 16 Jul 2014 13:41:35 +0000 (UTC)
Received: by mail-la0-f44.google.com with SMTP id e16so666629lan.31
        for <filtered@awaresystems.be>; Wed, 16 Jul 2014 06:41:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-original-authentication-results:delivered-to:delivered-to
         :message-id:date:from:user-agent:mime-version:to:references
         :in-reply-to:subject:precedence:list-id:list-unsubscribe
         :list-archive:list-post:list-help:list-subscribe:content-type
         :content-transfer-encoding:sender:errors-to;
        bh=isYyeb2xcHIqKxFDx9krQ7/VVPYAkCX4NLPxNsoywRk=;
        b=VwH8FOUVfATZrIiWjIOhYXSKlaNzGpbP52j3aEmb5nyHWG4AeXd3QcegVt1jS/5d26
         c6vwBROBfUbp98lGyTH9Vj2mMflzoxOeHubU659Ms9ePuV+f3PtCOjh3bhFCJ/1gTa+i
         xfMvzc1mk1xYfXNNtcVrEN73C42wK4kboyHNd+eMDQyxlWLpMls35X4B7kkLuJDnSrnf
         SFsXXV/eRY0aV9CXiPr9ORGi0wPIGK0wY/Y2LTm5NFuhes4nugWdv2nMb+Je25WGnHNk
         nGletQG/irYOz9Y54O3r+UxmFwiWI6ZcgXjAwX68N59c2dxW2tjB+vsOhH/kwrDFVjJE
         42Dw==
X-Original-Authentication-Results: mx.google.com;       spf=neutral (google.com: tiff-bounces@lists.maptools.org does not designate permitted sender hosts) smtp.mail=tiff-bounces@lists.maptools.org
X-Received: by 10.112.159.200 with SMTP id xe8mr17746033lbb.55.1405518094855;
        Wed, 16 Jul 2014 06:41:34 -0700 (PDT)
X-Forwarded-To: filtered@awaresystems.be
X-Forwarded-For: awaresystems.be@gmail.com filtered@awaresystems.be
Delivered-To: awaresystems.be@gmail.com
Received: by 10.114.18.137 with SMTP id w9csp255765ldd;
        Wed, 16 Jul 2014 06:41:34 -0700 (PDT)
X-Received: by 10.152.22.4 with SMTP id z4mr25756510lae.2.1405518092240;
        Wed, 16 Jul 2014 06:41:32 -0700 (PDT)
Authentication-Results: mx.google.com;
       spf=neutral (google.com: tiff-bounces@lists.maptools.org does not designate permitted sender hosts) smtp.mail=tiff-bounces@lists.maptools.org
Received-SPF: none (google.com: tiff-bounces@lists.maptools.org does not designate permitted sender hosts) client-ip=91.198.169.57;
Received: by 10.152.98.244 with POP3 id el20mf1033243lab.9;
        Wed, 16 Jul 2014 06:41:32 -0700 (PDT)
X-Gmail-Fetch-Info: info@awaresystems.be 1 pop.awaresystems.be 110 info@awaresystems.be
Delivered-To: info@awaresystems.be
Received: from mx-j.one.com (mx-j.one.com [91.198.169.57])
	by mail6.local.one.com (Postfix) with ESMTP id D8A843002BB5F3
	for <info@awaresystems.be>; Wed, 16 Jul 2014 13:32:20 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0-rc2
Received: from lists.maptools.org (ks365428.kimsufi.com [94.23.4.142])
	by mx-j.one.com (Postfix) with ESMTP id A884FDCF5D
	for <info@awaresystems.be>; Wed, 16 Jul 2014 13:32:20 +0000 (UTC)
Received: from [10.1.0.241] (localhost.localdomain [127.0.0.1])
	by lists.maptools.org (Postfix) with ESMTP id C99E835C024;
	Wed, 16 Jul 2014 08:31:38 -0500 (EST)
Received: from mail.sidefx.com (mail.sidefx.com [206.223.178.163])
	by lists.maptools.org (Postfix) with ESMTPS id DE48635C024
	for <tiff@lists.maptools.org>; Wed, 16 Jul 2014 08:31:11 -0500 (EST)
Message-ID: <53C67E9F.4080902@sidefx.com>
Date: Wed, 16 Jul 2014 09:31:11 -0400
From: Edward Lam <edward@sidefx.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: tiff@lists.maptools.org
References: <53C24DC9.3060201@seznam.cz> <53C62248.80005@seznam.cz>
In-Reply-To: <53C62248.80005@seznam.cz>
Subject: Re: [Tiff] Error while opening tiff - fstat64.c
X-BeenThere: tiff@lists.maptools.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.maptools.org>
List-Unsubscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
	<mailto:tiff-request@lists.maptools.org?subject=unsubscribe>
List-Archive: <http://lists.maptools.org/mailman/private/tiff>
List-Post: <mailto:tiff@lists.maptools.org>
List-Help: <mailto:tiff-request@lists.maptools.org?subject=help>
List-Subscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
	<mailto:tiff-request@lists.maptools.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tiff-bounces@lists.maptools.org
Errors-To: tiff-bounces@lists.maptools.org

Hi,

I failed to reproduce your problem using VS2012 using the latest cvs 
version of libtiff. The steps I took were:
- Modify nmake.opt so that we can build a full debug build of libtiff:
      OPTFLAGS =	/Zi /Od /MDd /EHsc /W3 /D_CRT_SECURE_NO_DEPRECATE
- Launched VS native tools command line shell
- cd to libtiff source directory
- Rebuilt libtiff from scratch:
      nmake -f Makefile.vc clean && nmake -f Makefile.vc
- Modify ascii_tag.c so that:
      static const char filename[] = "images/ascii_test.tiff";
- cd test
- Compiled ascii_tag:
      cl /Zi /Od /MDd /EHsc /I..\libtiff ascii_tag.c \
           /link /libpath:..\libtiff libtiff.lib
- ascii_tag.exe

It all works (that is, no errors are printed).

My guess is that is that you're not problem compiling ascii_tag.c 
against the same C Run Time library (CRT) that you did with your libtiff.

Cheers,
-Edward

On 16/07/2014 2:57 AM, h4ever wrote:
> Hello. I am using Visual Studio C++ Express 2010, installed on disk P:.
> While running method TIFFOpenI got error referencing to non-existing
> directory and path to fstat64.c
>
> I have downloaded the libtiff library as part of SDL2 package, but I
> test it separately. There is a test file named ascii_tag.c which I am
> testing.
>
> It creates file ascii_test.tiff . But maybe the file is not correct
> because the following command crashes - breaks.
>
> There is a line
> tif = TIFFOpen(filename, "r");
>
> and it breaks here when I run the program. Filename is:
> static const char filename[] = "images/ascii_test.tiff";
> the file exists on disk, because the program just create it and closed
> the file handler.
>
> The error I got:
> Debug assertion failed ... program name ... File: (and *this is the
> strange thing!*[/b]) _*f:\dd\vctools\crt_bld\self_x86\crt\src\fstat64.c*_
> line:64
>
> Why it displays this path? I did not added this path to project so why
> it tries to call this file? I have installed VC in different location
> and running x86 32bit machine.
>
> I already succeed to run test raw_decode.c where I used libtiff.lib and
> libjpeg.lib also here I used the libraries. I already succeed to open
> file there using [code]tif = TIFFOpen(srcfile,"r");[/code] and srcfile =
> "./images/quad-tile.jpg.tiff".
>
> Well I tried to use different path as "./images/ascii_test.tiff" but
> this also results in break. Where could be the problem that
> ascii_test.tiff cannot be opened?
>
> Complete code:
> [code]
> /* $Id: ascii_tag.c,v 1.7 2008/04/15 13:32:12 dron Exp $ */
>
> /* Copyright (c) 2004, Andrey Kiselev */
>
> /*
>   * TIFF Library
>   *
>   * Module to test ASCII tags read/write functions.
>   */
>
> #pragma once
> #define _CRT_SECURE_NO_WARNINGS
> //#pragma warning( disable : 4355 )
> //#pragma warning( disable : 4101 )
> #pragma warning( disable : 4099 )
>
> #include "tif_config.h"
>
> #include <stdio.h>
> #include <string.h>
>
> #ifdef HAVE_UNISTD_H
> # include <unistd.h>
> #endif
>
> #include "tiffio.h"
>
> static const char filename[] = "./images/ascii_test.tiff";
>
> static const struct {
>      ttag_t        tag;
>      const char    *value;
> } ascii_tags[] = {
>      { TIFFTAG_DOCUMENTNAME, "Test TIFF image" },
>      { TIFFTAG_IMAGEDESCRIPTION, "Temporary test image" },
>      { TIFFTAG_MAKE, "This is not scanned image" },
>      { TIFFTAG_MODEL, "No scanner" },
>      { TIFFTAG_PAGENAME, "Test page" },
>      { TIFFTAG_SOFTWARE, "Libtiff library" },
>      { TIFFTAG_DATETIME, "2004:09:10 16:09:00" },
>      { TIFFTAG_ARTIST, "Andrey V. Kiselev" },
>      { TIFFTAG_HOSTCOMPUTER, "Debian GNU/Linux (Sarge)" },
>      { TIFFTAG_TARGETPRINTER, "No printer" },
>      { TIFFTAG_COPYRIGHT, "Copyright (c) 2004, Andrey Kiselev" },
>      { TIFFTAG_FAXSUBADDRESS, "Fax subaddress" },
>      /* DGN tags */
>      { TIFFTAG_UNIQUECAMERAMODEL, "No camera" },
>      { TIFFTAG_CAMERASERIALNUMBER, "1234567890" }
> };
> #define NTAGS   (sizeof (ascii_tags) / sizeof (ascii_tags[0]))
>
> static const char ink_names[] = "Red\0Green\0Blue";
> const int ink_names_size = 15;
>
> int
> main()
> {
>      TIFF        *tif;
>      size_t        i;
>      unsigned char    buf[] = { 0, 127, 255 };
>      char        *value;
>
>      /* Test whether we can write tags. */
>      tif = TIFFOpen(filename, "w");
>      if (!tif) {
>          fprintf (stderr, "Can't create test TIFF file %s.\n", filename);
>          return 1;
>      }
>
>      if (!TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, 1)) {
>          fprintf (stderr, "Can't set ImageWidth tag.\n");
>          goto failure;
>      }
>      if (!TIFFSetField(tif, TIFFTAG_IMAGELENGTH, 1)) {
>          fprintf (stderr, "Can't set ImageLength tag.\n");
>          goto failure;
>      }
>      if (!TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 8)) {
>          fprintf (stderr, "Can't set BitsPerSample tag.\n");
>          goto failure;
>      }
>      if (!TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, sizeof(buf))) {
>          fprintf (stderr, "Can't set SamplesPerPixel tag.\n");
>          goto failure;
>      }
>      if (!TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG)) {
>          fprintf (stderr, "Can't set PlanarConfiguration tag.\n");
>          goto failure;
>      }
>      if (!TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB)) {
>          fprintf (stderr, "Can't set PhotometricInterpretation tag.\n");
>          goto failure;
>      }
>
>      for (i = 0; i < NTAGS; i++) {
>          if (!TIFFSetField(tif, ascii_tags[i].tag,
>                    ascii_tags[i].value)) {
>              fprintf(stderr, "Can't set tag %lu.\n",
>                  (unsigned long)ascii_tags[i].tag);
>              goto failure;
>          }
>      }
>
>      /* InkNames tag has special form, so we handle it separately. */
>      if (!TIFFSetField(tif, TIFFTAG_NUMBEROFINKS, 3)) {
>          fprintf (stderr, "Can't set tag %d (NUMBEROFINKS).\n",
>                           TIFFTAG_NUMBEROFINKS);
>          goto failure;
>      }
>      if (!TIFFSetField(tif, TIFFTAG_INKNAMES, ink_names_size, ink_names)) {
>          fprintf (stderr, "Can't set tag %d (INKNAMES).\n",
>               TIFFTAG_INKNAMES);
>          goto failure;
>      }
>
>      /* Write dummy pixel data. */
>      if (!TIFFWriteScanline(tif, buf, 0, 0) < 0) {
>          fprintf (stderr, "Can't write image data.\n");
>          goto failure;
>      }
>
>      TIFFClose(tif);
>
>      /* Ok, now test whether we can read written values. */
>      tif = TIFFOpen(filename, "r");
>      if (!tif) {
>          fprintf (stderr, "Can't open test TIFF file %s.\n", filename);
>          return 1;
>      }
>
>      for (i = 0; i < NTAGS; i++) {
>          if (!TIFFGetField(tif, ascii_tags[i].tag, &value)
>              || strcmp(value, ascii_tags[i].value)) {
>              fprintf(stderr, "Can't get tag %lu.\n",
>                  (unsigned long)ascii_tags[i].tag);
>              goto failure;
>          }
>      }
>
>      if (!TIFFGetField(tif, TIFFTAG_INKNAMES, &value)
>          || memcmp(value, ink_names, ink_names_size)) {
>          fprintf (stderr, "Can't get tag %d (INKNAMES).\n",
>               TIFFTAG_INKNAMES);
>          goto failure;
>      }
>
>      TIFFClose(tif);
>
>      /* All tests passed; delete file and exit with success status. */
>      unlink(filename);
>      return 0;
>
> failure:
>      /*
>       * Something goes wrong; close file and return unsuccessful status.
>       * Do not remove the file for further manual investigation.
>       */
>      TIFFClose(tif);
>      return 1;
> }
>
> /* vim: set ts=8 sts=8 sw=8 noet: */
>
>
> Thanks for help
>
>
>
> _______________________________________________
> Tiff mailing list: Tiff@lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/tiff
> http://www.remotesensing.org/libtiff/
>

_______________________________________________
Tiff mailing list: Tiff@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/tiff
http://www.remotesensing.org/libtiff/
