develooper Front page | perl.tcltk | Postings from July 2018

fatal error: tcl.h: No such file or directory

Thread Next
From:
Konovalov, Vadim
Date:
July 16, 2018 15:17
Subject:
fatal error: tcl.h: No such file or directory
Message ID:
8FC9F990A991F24AA0166C36379560B980E142D8@MX202CL01.corp.emc.com
Hi,

Such an error I can not reproduce:
https://www.cpantesters.org/cpan/report/6abf7f68-6d61-1014-8cbe-f6af8038f308

Tcl.xs:32:10: fatal error: tcl.h: No such file or directory

I see in log:
Please specify prototyping behavior for Tcl.xs (see perlxs manual)
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- Tcl.xsc Tcl.c
gcc -c   -s -O2 -DWIN32 -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.16\" -DXS_VERSION=\"1.16\"  "-IC:\STRAWB~1\perl\lib\CORE"   Tcl.c

yet indeed - there is no "-Isomething" is there;

I am also using strawberry with gcc which comes with it; but in my case all is good, as long as I do have this in tclConfig.sh
TCL_INCLUDE_SPEC='-IC:\apps\tcl-866-as86\include'



C:\vad\perl-dev\tcl.pm>perl Makefile.PL
tclsh=C:/apps/tcl-866-as86/bin/tclsh.exe
tclConfig.sh=C:/apps/tcl-866-as86/lib/tclConfig.sh
tcl_library=C:/apps/tcl-866-as86/lib/tcl8.6
tcl_version=8.6
Using config data in C:/apps/tcl-866-as86/lib/tclConfig.sh
LIBS   = C:\apps\tcl-866-as86\lib\tcl86t.lib
INC    = -IC:\apps\tcl-866-as86\include
DEFINE =
tclConfig.sh = C:/apps/tcl-866-as86/lib/tclConfig.sh
Generating a gmake-style Makefile
Writing Makefile for Tcl
Writing MYMETA.yml and MYMETA.json

"C:\apps\perl-5.26.0-32\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- Tcl.bs blib\arch\auto\Tcl\Tcl.bs 644
gcc -c  -IC:\apps\tcl-866-as86\include -s -O2 -DWIN32 -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.16\" -DXS_VERSION=\"1.16\"  "-IC:\apps\perl-5.26.0-32\perl\lib\CORE"   Tcl.c


but we do have these lines I Makefile.PL now:

...
	$incpath = $tclcfg{TCL_INCLUDE_SPEC};

	# https://www.cpantesters.org/cpan/report/18397198-6bf4-1014-85e5-4e79f459b9c5
	# Tcl.xs:32:10: fatal error: tcl.h: No such file or directory
	if ($incpath) {
	    my @tclh = grep {-f "$_/tcl.h"} $incpath=~/-I(\S+)/g;
	    if ($#tclh==-1) {
		_die "incpath $incpath from your tclconfig $tclconfig does not provide tcl.h"
	    }
	} else {_die "can not figure out incpath from your tclconfig $tclconfig"}

How come this happen to avoid my otherwise perfect check??

Any ideas?

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About