Re: Tk::TableMatrix won't build on Strawberry 5.26.0
by syphilis (Archbishop) on Jul 21, 2017 at 14:15 UTC
|
Anyone know how to work through this?
Not yet, but I see the same and it looks to me that ExtUtils::MakeMaker is not playing nicely with gmake.
Strawberry 5.26.0 is the first Strawberry Perl to use 'gmake'. Earlier versions use 'dmake', and there's no problem installing Tk::TableMatrix on Strawberry 5.24.0.
My guess is that it's EU::MM (not gmake) that's causing the problem. But it's getting late over here, and some bastard has been drinking my whisky, so *I* won't be able to contribute much else until tomorrow.
Another possibility is that Tk::TableMatrix (which hasn't been updated in 10 years) is suffering some form of bitrot that has only come to the fore now that Strawberry uses gmake. (But I'm still backing that EU::MM is the culprit.)
Cheers, Rob | [reply] |
|
My guess is that it's EU::MM (not gmake) that's causing the problem.
I doubt it :)
You can't up and switch out make for dmake for gmake for ... and not expect problems from everything, esp a Tk-TableMatrix-1.23/Makefile.PL from 2006
This can't have been a surprise for strawberryperl
| [reply] |
|
This can't have been a surprise for strawberryperl
Yes, I don't think anyone's sitting around thinking "I can't believe this has happened".
Cheers, Rob
| [reply] |
|
|
Re: Tk::TableMatrix won't build on Strawberry 5.26.0
by syphilis (Archbishop) on Jul 22, 2017 at 00:54 UTC
|
Anyone know how to work through this?
As an interim solution:
1) Hide Strawberry's fake 'dmake' (strawberry/c/bin/dmake.exe) and make sure you have a functioning 'dmake.exe' in your path:
set PATH=%PATH%;C:\path\to_dmake
2) cd to the Tk-TableMatrix-1.23 source directory (which you'll find in your cpan build directory).
3) Run:
perl Makefile.PL MAKE=dmake
dmake test
dmake install
Then reinstate Strawberry's fake 'dmake' if you so wish.
Cheers, Rob | [reply] [d/l] [select] |
|
Okay, tried that. Could not get past first line of step 3. These are the errors...
For a dmake.exe I unzipped a source for Strawberry Perl 5.24.2.1, since somebody said TableMatrix built okay for 5.24. I then renamed the fake original as _dmake.exe and copied in the new dmake.exe to the same directory.
C:\Strawberry\cpan\build\Tk-TableMatrix-1.23-0>perl MakeFile.PL MAKE=d
+make
### Note: 'Building Outside of Tk itself' Messages are Expected Here #
+###
PPM for perl5.026000
Test Compiling config/signedchar.c
gcc: error: config/signedchar.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compile/Run config/unsigned.c
gcc: error: config/unsigned.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling config/Ksprintf.c
gcc: error: config/Ksprintf.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling -DSPRINTF_RETURN_CHAR config/Ksprintf.c
gcc: error: config/Ksprintf.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
C:/Strawberry/cpan/build/Tk-TableMatrix-1.23-0 does not start with C:/
+Strawberry/perl/site/lib
i.e. building outside Tk itself
C:/Strawberry/cpan/build/Tk-TableMatrix-1.23-0/pTk does not start with
+ C:/Strawberry/perl/site/lib
i.e. building outside Tk itself
Generating Dependencies for MSWin32, win_arch=MSWin32
Test Compiling config/Hstrtoul.c
gcc: error: config/Hstrtoul.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling config/Hstrdup.c
gcc: error: config/Hstrdup.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling config/Hstrcasecmp.c
gcc: error: config/Hstrcasecmp.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Finding dependencies for tkTable.c
Finding dependencies for tkTableCell.c
Finding dependencies for tkTableCellSort.c
Finding dependencies for tkTableCmds.c
Finding dependencies for tkTableEdit.c
Finding dependencies for tkTableTag.c
Finding dependencies for tkTableUtil.c
Finding dependencies for tkTableWin.c
Finding dependencies for TableMatrix.xs
C:\Strawberry\cpan\build\Tk-TableMatrix-1.23-0>
| [reply] [d/l] [select] |
|
These are the errors...
Yes, that's the same as I get - but, as Anonymous Monk has intimated, you just need to run the remaining commands:
dmake
dmake test
dmake install
(It's not really necessary to run 'dmake' ahead of 'dmake test' - hence I generally leave out that step.)
Those "error" messages are just part of some configuration testing being done prior to generating the Makefile.
I think their aim is to determine whether Tk::TableMatrix is being built as part of Tk - which it isn't.
Cheers, Rob | [reply] [d/l] |
|
what happens when you run 'dmake'?
| [reply] |
|
|
Re: Tk::TableMatrix won't build on Strawberry 5.26.0
by thanos1983 (Parson) on Jul 21, 2017 at 13:23 UTC
|
Hello aplonis,
What does the FAIL Installing Tk::TableMatrix failed. See C:\Users\gan\.cpanm\work\1500635987.10348\build.log says?
Looking forward to your reply, BR.
Seeking for Perl wisdom...on the process of learning...not there...yet!
| [reply] [d/l] [select] |
|
cpanm (App::cpanminus) 1.7043 on perl 5.026000 built for MSWin32-x64-m
+ulti-thread
Work directory is C:\Users\gan/.cpanm/work/1500635987.10348
You have make C:\Strawberry\c\bin\gmake.exe
You have LWP 6.26
Falling back to Archive::Tar 2.26
Searching Tk::TableMatrix () on cpanmetadb ...
--> Working on Tk::TableMatrix
Fetching http://www.cpan.org/authors/id/C/CE/CERNEY/Tk-TableMatrix-1.2
+3.tar.gz
-> OK
Unpacking Tk-TableMatrix-1.23.tar.gz
Entering Tk-TableMatrix-1.23
META.yml/json not found. Creating skeleton for it.
Configuring Tk-TableMatrix-1.23
Running Makefile.PL
### Note: 'Building Outside of Tk itself' Messages are Expected Here #
+###
PPM for perl5.026000
Test Compiling config/signedchar.c
C:\Strawberry\perl\bin\perl.exe is installed in C:\STRAWB~1\perl\lib o
+kay
gcc: error: config/signedchar.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compile/Run config/unsigned.c
gcc: error: config/unsigned.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling config/Ksprintf.c
gcc: error: config/Ksprintf.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling -DSPRINTF_RETURN_CHAR config/Ksprintf.c
gcc: error: config/Ksprintf.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
C:/Users/gan/.cpanm/work/1500635987.10348/Tk-TableMatrix-1.23 does not
+ start with C:/Strawberry/perl/site/lib
i.e. building outside Tk itself
C:/Users/gan/.cpanm/work/1500635987.10348/Tk-TableMatrix-1.23/pTk does
+ not start with C:/Strawberry/perl/site/lib
i.e. building outside Tk itself
Generating Dependencies for MSWin32, win_arch=MSWin32
Test Compiling config/Hstrtoul.c
gcc: error: config/Hstrtoul.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling config/Hstrdup.c
gcc: error: config/Hstrdup.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Test Compiling config/Hstrcasecmp.c
gcc: error: config/Hstrcasecmp.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Extracting mm.h
Extracting tkTable.c
Extracting tkTable.h
Extracting tkTableCell.c
Extracting tkTableCellSort.c
Extracting tkTableCmds.c
Extracting tkTableEdit.c
Extracting tkTableTag.c
Extracting tkTableUtil.c
Extracting tkTableWin.c
Extracting tkTableversion.h
Extracting version.h
Finding dependencies for tkTable.c
Finding dependencies for tkTableCell.c
Finding dependencies for tkTableCellSort.c
Finding dependencies for tkTableCmds.c
Finding dependencies for tkTableEdit.c
Finding dependencies for tkTableTag.c
Finding dependencies for tkTableUtil.c
Finding dependencies for tkTableWin.c
Writing MYMETA.yml and MYMETA.json
Writing MYMETA.yml and MYMETA.json
Finding dependencies for TableMatrix.xs
Generating a gmake-style Makefile
Writing Makefile for Tk::TableMatrix
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.24)
Checking if you have Tk 800.022 ... Yes (804.033)
Building and testing Tk-TableMatrix-1.23
cp TableMatrix.pm blib\lib\Tk\TableMatrix.pm
AutoSplitting blib\lib\Tk\TableMatrix.pm (blib\lib\auto\Tk\TableMatrix
+)
cp TableMatrix/Spreadsheet.pm blib\lib\Tk\TableMatrix\Spreadsheet.pm
cp TableMatrix/SpreadsheetHideRows.pm blib\lib\Tk\TableMatrix\Spreadsh
+eetHideRows.pm
cd pTk && gmake
gmake[1]: Entering directory 'C:/Users/gan/.cpanm/work/1500635987.1034
+8/Tk-TableMatrix-1.23/pTk'
gmake[1]: *** No rule to make target '..\blib\arch\Tk\pTk\.exists', ne
+eded by 'config'. Stop.
gmake[1]: Leaving directory 'C:/Users/gan/.cpanm/work/1500635987.10348
+/Tk-TableMatrix-1.23/pTk'
gmake: *** [Makefile:1171: pTk/libpTk.a] Error 2
-> FAIL Installing Tk::TableMatrix failed. See C:\Users\gan\.cpanm\wor
+k\1500635987.10348\build.log for details. Retry with --force to force
+ install it.
| [reply] [d/l] [select] |
|
| [reply] |
|
Hello aplonis,
I think the same, what does the file contains? There should be a complete log or an error indication in the file. Copy paste the content of the file.
By the way I just tried to install the module for experimentation purposes and although that I am running on Linux I had some problems. I first had to install Tk and then I manage to install the second module. Give it a try maybe it will work for you as well.
Looking forward to your reply, BR.
Seeking for Perl wisdom...on the process of learning...not there...yet!
| [reply] [d/l] [select] |
Failure to cpanm PP on portable Strawberry Perl 24
by aplonis (Pilgrim) on Jul 23, 2017 at 16:56 UTC
|
Seeking a workaround for the failure of cpanm to install Tk::TableMatrix in Starwberry Perl v26,
I thought to maybe try it out in a portable installation of Strawberrry Perl 24, and that worked.
So, finding success, I next went to install also the module PP, which promply failed.
The failure occurs here ...
A:\PP>cpanm pp
--> Working on pp
Fetching http://www.cpan.org/authors/id/R/RS/RSCHUPP/PAR-Packer-1.037.
+tar.gz ... OK
Configuring PAR-Packer-1.037 ... OK
==> Found dependencies: Module::ScanDeps, Getopt::ArgvFile
--> Working on Module::ScanDeps
Fetching http://www.cpan.org/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1
+.24.tar.gz ... OK
Configuring Module-ScanDeps-1.24 ... OK
Building and testing Module-ScanDeps-1.24 ... OK
Successfully installed Module-ScanDeps-1.24
--> Working on Getopt::ArgvFile
Fetching http://www.cpan.org/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-
+1.11.tar.gz ... OK
Configuring Getopt-ArgvFile-1.11 ... OK
Building and testing Getopt-ArgvFile-1.11 ... OK
Successfully installed Getopt-ArgvFile-1.11
Building and testing PAR-Packer-1.037 ...
It fails with the pop-up herewith included. The pop-up occures six times in a row, like that over and over.
The pop-up says...
The procedure entry point _ZdlPvy could not be located in the dynamic link library C:\Strawberry\perl\bin\perl526.dll
Just to be sure there was no confusion with cpanm from my installed Strawberry on the c: drive, I tried it again like below, (first insuring that my prior installs had really taken)...
----------------------------------------------
Welcome to Strawberry Perl Portable Edition!
* URL - http://www.strawberryperl.com/
* see README.TXT for more info
----------------------------------------------
Perl executable: A:\PP\perl\bin\perl.exe
Perl version : 5.24.2 / MSWin32-x64-multi-thread
A:\PP>A:\PP\perl\bin\perl.exe -e "use Tk";
A:\PP>A:\PP\perl\bin\perl.exe -e "use Tk::TableMatrix";
A:\PP>A:\PP\perl\bin\cpanm.exe PP
'A:\PP\perl\bin\cpanm.exe' is not recognized as an internal or externa
+l command,
operable program or batch file.
A:\PP>A:\PP\perl\bin\cpanm PP
! Finding PP on cpanmetadb failed.
--> Working on PP
Fetching http://backpan.perl.org/authors/id/L/LU/LUKKA/PDL-PP-0.010.ta
+r.gz ... OK
Configuring PDL-PP-0.010 ... N/A
! Configure failed for PDL-PP-0.010. See A:\PP\data\.cpanm\work\150082
+8689.4884\build.log for details.
A:\PP>A:\PP\perl\bin\cpanm PAR::Packer
--> Working on PAR::Packer
Fetching http://www.cpan.org/authors/id/R/RS/RSCHUPP/PAR-Packer-1.037.
+tar.gz ... OK
Configuring PAR-Packer-1.037 ... OK
Building and testing PAR-Packer-1.037 ...
...but results were as before. | [reply] [d/l] [select] |
|
Seeking a workaround for the failure of cpanm to install Tk::TableMatrix in Starwberry Perl v26, I thought to maybe try it out in a portable installation of Strawberrry Perl 24, and that worked. So, finding success, I next went to install also the module PP, which promply failed. ... The procedure entry point _ZdlPvy could not be located in the dynamic link library C:\Strawberry\perl\bin\perl526.dll
You are mixing at least two perl versions. Clean up $ENV{PATH}, build directories, and Registry. Avoid having more than one Perl installed. Always build with the target perl. Perl does not guarantee binary compatibility between different versions.
And by the way: Please stay in the original thread.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
| [reply] |
|
The procedure entry point _ZdlPvy could not be located in the dynamic link library C:\Strawberry\perl\bin\perl526.dll
This is indicates that an attempt to load perl526.dll is being made. But that's the wrong dll - perl5.24.x needs to load perl524.dll.
This can be addressed by ensuring that the location of perl-5.24 appears before the location of perl-5.26 in the path.
But you'll also want to ensure that the correct compiler is being used. For strawberry 5.24 gcc --version should indicate version 4.9.2, while for strawberry 5.26, gcc --version should indicate version 7.1.0.
If this is not the case it, too, can be fixed by fiddling with the PATH.
It's actually fairly easy to use different versions of Strawberry Perl on the one machine. You just make sure that you install only the 'portable' builds, and that you start the perl of your choice by double-clicking on 'portableshell.bat' (which is in the top level Strawberry Perl directory).
Incidentally, cpanm is a batch file (.bat) not a .exe.
Cheers, Rob
| [reply] [d/l] [select] |
Re: Tk::TableMatrix won't build on Strawberry 5.26.0
by stryk (Acolyte) on Oct 11, 2020 at 00:55 UTC
|
The only way I could get Tk::TableMatrix and Tk::TableMatrix::Spreadsheet to build on Win10 Strawberry Perl 5.30.1 was to download the 'portable edition' .zip of an old version of strawberry (5.19 i think it was). From inside the old version .zip, take .\c\bin\dmake.exe and the folder .\c\bin\startup\* and copy+overwrite those to the local .\c\bin\ of your current Strawberry install.
After that, open a portable shell with the .bat from your current Strawberry install, and do a 'cpanm --look Tk::TableMatrix' to download the package from CPAN and auto cd to correct dir. From here do:
perl Makefile.PL MAKE=dmake
dmake test
dmake install
This is the only thing that ever compiled and passed testing for me after scouring the 'net and trying various other things that never worked. | [reply] |
Re: Tk::TableMatrix won't build on Strawberry 5.26.0
by Anonymous Monk on Jan 14, 2019 at 13:22 UTC
|
Hello!
I found a strange, but still a solution for compiling the Tk-TableMatrix for the 5.28.1.1.
The thing is that make didn't created needed folders for correct compilation for some reason.
Look at this
gmake[1]: *** No rule to make target '..\blib\arch\Tk\pTk\.exists', needed by 'config'. Stop.
It had given me a hint, that this file doesn't exist.
I've tried following:
cd to .\blib\arch
create Tk folder
create Tk\pTk folder
create Tk\pTk\compat folder
create Tk\X11 folder
create empty '.exists' files in Tk\pTk, Tk\X11
and Tk\pTk\compat folders
This helped me to avoid gmake errors.
Also I patched the TableMatrix.xs file like described in https://www.perlmonks.org/?node_id=713034 | [reply] [d/l] [select] |