2003.06.24 14:09 "Compilation of libtiff with C++ compiler on HP", by Fridiric Delhoume

Hi,

Compiling libtiff 3.5.7 on HP platform with aCC3.30 generates lots of warnings and even some errors. The errors are due to conversion from pointers to int not allowed. It is necessary to first cast to a 64 bits type.

Here is an example (file tif_dirwrite.c)

// my modification.
#if defined(__hpux) && defined(__LP64__)
#define HDROFF(f) ((toff_t)(unsigned long) &(((TIFFHeader*) 0)->f))
#else
// original
#define HDROFF(f) ((toff_t) &(((TIFFHeader*) 0)->f))
#endif

Same problem arises in tif_packbits.c

#if defined(__hpux) && defined(__LP64__)
    tsize_t rowsize = (tsize_t)(unsigned long) tif->tif_data;
#else
    tsize_t rowsize = (tsize_t) tif->tif_data;
#endif

and

#if defined(__hpux) && defined(__LP64__)
        rowsize = (tsize_t)(unsigned long) tif->tif_data;
#else
        rowsize = (tsize_t) tif->tif_data;
#endif

The other files compile but some have warnings.

I attach a log of the compilation.

Note that some files from the original source might not be present in the log.

Fridiric