Text::KnuthPlass fails to build for me (Windows 10, Strawberry Perl 5.26.1). It's failing (several type mismatches?) in the XS compile stage:
Configuring S/SI/SIMON/Text-KnuthPlass-1.02.tar.gz with Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Text-KnuthPlass' version '1.02'
SIMON/Text-KnuthPlass-1.02.tar.gz
C:\Strawberry\perl\bin\perl.exe Build.PL -- OK
Running Build for S/SI/SIMON/Text-KnuthPlass-1.02.tar.gz
Building Text-KnuthPlass
gcc -c -I"." -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 "-DVERSION=\"1.02\"" "-DXS_VERSION=\"1.02\"" -I"C:\STRAWB~1\perl\lib\CORE" -I"C:\STRAWB~1\c\include" -o "lib\Text\KnuthPlass.o" "lib\Text\KnuthPlass.c"
lib\\Text\\KnuthPlass.xs:132:6: error: conflicting types for '_unlink'
void _unlink(LinkedList* list, Breakpoint* a) {
^~~~~~~
In file included from C:/Strawberry/c/x86_64-w64-mingw32/include/sys/stat.h:14:0,
from C:\STRAWB~1\perl\lib\CORE/perl.h:1088,
from lib\\Text\\KnuthPlass.xs:2:
C:/Strawberry/c/x86_64-w64-mingw32/include/io.h:215:23: note: previous declaration of '_unlink' was here
_CRTIMP int __cdecl _unlink(const char *_Filename);
^~~~~~~
In file included from C:\STRAWB~1\perl\lib\CORE/perl.h:5644:0,
from lib\\Text\\KnuthPlass.xs:2:
lib\\Text\\KnuthPlass.xs: In function 'XS_Text__KnuthPlass__init_nodelist':
C:\STRAWB~1\perl\lib\CORE/hv.h:480:10: warning: passing argument 6 of 'Perl_hv_common_key_len' makes pointer from integer without a cast [-Wint-conversion]
(val), (hash)))
^
C:\STRAWB~1\perl\lib\CORE/embed.h:228:77: note: in definition of macro 'hv_common_key_len'
#define hv_common_key_len(a,b,c,d,e,f) Perl_hv_common_key_len(aTHX_ a,b,c,d,e,f)
^
C:\STRAWB~1\perl\lib\CORE/hv.h:512:5: note: in expansion of macro 'hv_store'
hv_store((hv), ("" key ""), (sizeof(key)-1), (val), 0)
^~~~~~~~
lib\\Text\\KnuthPlass.xs:151:5: note: in expansion of macro 'hv_stores'
hv_stores((HV*)self, "activeNodes", ((IV)activelist));
^
In file included from C:\STRAWB~1\perl\lib\CORE/perl.h:5609:0,
from lib\\Text\\KnuthPlass.xs:2:
C:\STRAWB~1\perl\lib\CORE/proto.h:1172:21: note: expected 'SV * {aka struct sv *}' but argument is of type 'long long int'
PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash);
^~~~~~~~~~~~~~~~~~~~~~
error building xs.dll file from 'lib\Text\KnuthPlass.c' at C:/Strawberry/perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 128.
SIMON/Text-KnuthPlass-1.02.tar.gz
C:\Strawberry\perl\bin\perl.exe ./Build -- NOT OK
Stopping: 'install' failed for 'Text::KnuthPlass'.
Failed during this command:
SIMON/Text-KnuthPlass-1.02.tar.gz : make NO