carygravel / graphics-tiff Goto Github PK
View Code? Open in Web Editor NEWPerl extension for the libtiff library
Perl extension for the libtiff library
At least as of the April CPAN release, it appears that Perl 5.26 is the earliest version that it will work on. At least with Strawberry Perl (Windows), that seems to be when they changed from dmake to gmake. The three failed CPANTS tests for Windows are all by CHORNY, who uses Strawberry, too. The problem is a bad Makefile with the undefined target discussed earlier. There appear to be a number of different problems under the 'linux' column. Are you still working on this aspect of it? In a month or two, I will be going to Perl 5.22 as the minimum for PDF::Builder, but it will be a while yet (June 2023) before 5.26 is my minimum. It would be a shame to have to exclude Perls earlier than 5.26. The current GitHub build on 5.26 gives "No library found for -ltiff-ltiff", followed by many undefined references to TIFF* names, which might be a helpful clue.
Anyway, let me know if you need GT installation testing on Windows and I'll be happy to try to help out. I have a fork of graphics-tiff -- is it OK to try CPAN building (cpan .
in that directory, which gave the above error), or should you supply a .tar.gz CPAN install image for me to use?
Something seems to have gone wrong with 5.22, possibly related to getting rid of the deprecated types:
Running make for R/RA/RATCLIFFE/Graphics-TIFF-14.tar.gz
cp lib/Graphics/TIFF.pm blib\lib\Graphics\TIFF.pm
Running Mkbootstrap for TIFF ()
C:\"Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "TIFF.bs"
C:\"Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- TIFF.bs blib\arch\auto\Graphics\TIFF\TIFF.bs 644
C:\"Strawberry\perl\bin\perl.exe" "C:\Strawberry\perl\site\lib\ExtUtils\xsubpp" -typemap C:\Strawberry-5.22\perl\lib\ExtUtils\typemap -typemap C:\Strawberry-5.22\cpan\build\Graphics-TIFF-14-1\typemap TIFF.xs > TIFF.xsc
C:\"Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- TIFF.xsc TIFF.c
gcc -c -I. -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"14\" -DXS_VERSION=\"14\" "-IC:\Strawberry-5.22\perl\lib\CORE" TIFF.c
TIFF.c: In function 'XS_Graphics__TIFF_IsCODECConfigured':
TIFF.c:189:2: error: unknown type name 'uint16_t'
uint16_t compression = (uint16_t)SvIV(ST(1))
^
TIFF.c:189:26: error: 'uint16_t' undeclared (first use in this function)
uint16_t compression = (uint16_t)SvIV(ST(1))
^
TIFF.c:189:26: note: each undeclared identifier is reported only once for each function it appears in
TIFF.c: In function 'XS_Graphics__TIFF_SetDirectory':
TIFF.c:412:2: error: unknown type name 'uint16_t'
uint16_t dirnum = (uint16_t)SvIV(ST(1))
^
TIFF.c:412:21: error: 'uint16_t' undeclared (first use in this function)
uint16_t dirnum = (uint16_t)SvIV(ST(1))
^
TIFF.c: In function 'XS_Graphics__TIFF_SetSubDirectory':
TIFF.c:443:2: error: unknown type name 'uint64_t'
uint64_t diroff = (uint64_t)SvIV(ST(1))
^
TIFF.c:443:21: error: 'uint64_t' undeclared (first use in this function)
uint64_t diroff = (uint64_t)SvIV(ST(1))
^
TIFF.c: In function 'XS_Graphics__TIFF_GetField':
TIFF.c:474:2: error: unknown type name 'uint32_t'
uint32_t tag = (uint32_t)SvIV(ST(1))
^
TIFF.c:474:18: error: 'uint32_t' undeclared (first use in this function)
uint32_t tag = (uint32_t)SvIV(ST(1))
^
TIFF.xs:282:17: error: unknown type name 'uint16_t'
uint16_t ui16, ui16_2, *aui16, *aui16_2, *aui16_3;
^
TIFF.xs:283:33: error: expected ';' before 'ui32'
uint32_t ui32;
^
TIFF.xs:284:17: error: unknown type name 'uint64_t'
uint64_t *aui;
^
TIFF.xs:342:42: error: 'uint16_t' undeclared (first use in this function)
if ((aui16 != (uint16_t *) NULL)
^
TIFF.xs:342:52: error: expected expression before ')' token
if ((aui16 != (uint16_t *) NULL)
^
TIFF.xs:395:54: error: 'ui32' undeclared (first use in this function)
if (TIFFGetField (tif, tag, &ui32)) {
^
TIFF.c: In function 'XS_Graphics__TIFF_GetFieldDefaulted':
TIFF.c:623:2: error: unknown type name 'uint32_t'
uint32_t tag = (uint32_t)SvIV(ST(1))
^
TIFF.c:623:18: error: 'uint32_t' undeclared (first use in this function)
uint32_t tag = (uint32_t)SvIV(ST(1))
^
TIFF.xs:406:17: error: unknown type name 'uint16_t'
uint16_t ui16, ui16_2, *aui16, *aui16_2, *aui16_3;
^
TIFF.xs:407:33: error: expected ';' before 'ui32'
uint32_t ui32;
^
TIFF.xs:408:17: error: unknown type name 'uint64_t'
uint64_t *aui;
^
TIFF.xs:464:42: error: 'uint16_t' undeclared (first use in this function)
if ((aui16 != (uint16_t *) NULL)
^
TIFF.xs:464:52: error: expected expression before ')' token
if ((aui16 != (uint16_t *) NULL)
^
TIFF.xs:499:63: error: 'ui32' undeclared (first use in this function)
if (TIFFGetFieldDefaulted (tif, tag, &ui32)) {
^
TIFF.c: In function 'XS_Graphics__TIFF_SetField':
TIFF.c:752:2: error: unknown type name 'uint32_t'
uint32_t tag = (uint32_t)SvIV(ST(1))
^
TIFF.c:752:18: error: 'uint32_t' undeclared (first use in this function)
uint32_t tag = (uint32_t)SvIV(ST(1))
^
TIFF.xs:510:17: error: unknown type name 'uint16_t'
uint16_t ui16, ui16_2;
^
TIFF.xs:511:33: error: expected ';' before 'ui32'
uint32_t ui32;
^
TIFF.xs:532:25: error: 'ui32' undeclared (first use in this function)
ui32 = SvIV(ST(2));
^
TIFF.c: In function 'XS_Graphics__TIFF_ComputeStrip':
TIFF.c:983:2: error: unknown type name 'uint32_t'
uint32_t row = (uint32_t)SvIV(ST(1))
^
TIFF.c:983:18: error: 'uint32_t' undeclared (first use in this function)
uint32_t row = (uint32_t)SvIV(ST(1))
^
TIFF.c:985:2: error: unknown type name 'uint16_t'
uint16_t sample = (uint16_t)SvIV(ST(2))
^
TIFF.c:985:21: error: 'uint16_t' undeclared (first use in this function)
uint16_t sample = (uint16_t)SvIV(ST(2))
^
TIFF.c: In function 'XS_Graphics__TIFF_ReadEncodedStrip':
TIFF.c:1016:2: error: unknown type name 'uint32_t'
uint32_t strip = (uint32_t)SvIV(ST(1))
^
TIFF.c:1016:20: error: 'uint32_t' undeclared (first use in this function)
uint32_t strip = (uint32_t)SvIV(ST(1))
^
TIFF.c: In function 'XS_Graphics__TIFF_WriteEncodedStrip':
TIFF.c:1059:2: error: unknown type name 'uint32_t'
uint32_t strip = (uint32_t)SvIV(ST(1))
^
TIFF.c:1059:20: error: 'uint32_t' undeclared (first use in this function)
uint32_t strip = (uint32_t)SvIV(ST(1))
^
TIFF.c: In function 'XS_Graphics__TIFF_ReadRawStrip':
TIFF.c:1098:2: error: unknown type name 'uint32_t'
uint32_t strip = (uint32_t)SvIV(ST(1))
^
TIFF.c:1098:20: error: 'uint32_t' undeclared (first use in this function)
uint32_t strip = (uint32_t)SvIV(ST(1))
^
TIFF.c: In function 'XS_Graphics__TIFF_ReadTile':
TIFF.c:1141:2: error: unknown type name 'uint32_t'
uint32_t x = (uint32_t)SvIV(ST(1))
^
TIFF.c:1141:16: error: 'uint32_t' undeclared (first use in this function)
uint32_t x = (uint32_t)SvIV(ST(1))
^
TIFF.c:1143:11: error: expected ';' before 'y'
uint32_t y = (uint32_t)SvIV(ST(2))
^
TIFF.c:1145:11: error: expected ';' before 'z'
uint32_t z = (uint32_t)SvIV(ST(3))
^
TIFF.c:1147:2: error: unknown type name 'uint16_t'
uint16_t s = (uint16_t)SvIV(ST(4))
^
TIFF.c:1147:16: error: 'uint16_t' undeclared (first use in this function)
uint16_t s = (uint16_t)SvIV(ST(4))
^
TIFF.xs:640:53: error: 'y' undeclared (first use in this function)
bufsize = TIFFReadTile(tif, buf, x, y, z, s);
^
TIFF.xs:640:56: error: 'z' undeclared (first use in this function)
bufsize = TIFFReadTile(tif, buf, x, y, z, s);
^
dmake.exe: Error code 129, while making 'TIFF.o'
RATCLIFFE/Graphics-TIFF-14.tar.gz
C:\Strawberry-5.22\c\bin\dmake.exe -- NOT OK
Stopping: 'install' failed for 'R/RA/RATCLIFFE/Graphics-TIFF-14.tar.gz'.
Failed during this command:
RATCLIFFE/Graphics-TIFF-14.tar.gz : make NO
Could the .h files on 5.22 be the older versions that don't include the *_t declarations? I thought they had been around for a while.
GT upgrades to 14 OK on Perl 5.32. I can't test 5.26 until the GT 13 in the cached database ages out tonight.
CPAN says that latest version is 8.
The third entry refers to C:\Strawberry\c\lib
, which looks to be what is throwing the error in the run.
Although in looking further, the PowerShell ls
command seems not to like multiple file names and paths. I could be wrong, though.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.