Skip Menu |

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id: 49942
Status: resolved
Priority: 0/
Queue: Perl-Dist-Strawberry

People
Owner: Nobody in particular
Requestors: BROCKMD [...] cpan.org
joerns [...] corscience.de
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Build Tk 804.027 fails
When building Tk from the sources I encountered 2 problems. The first is described in the RT record # 13923. #13923: install reports a missing file This seems to be a module problem and not so much so a strawberry perl issue. the second issue was somehow related to the runlib=rem line in the make file. when building libpng this happened : cd libpng && dmake libpng.a "CC=gcc " RANLIB="rem" dmake: makefile: line 11: Warning: -- Macro `O' redefined after use dmake: makefile: line 12: Warning: -- Macro `A' redefined after use dmake: makefile: line 13: Warning: -- Macro `E' redefined after use gcc -o png.o -c -I../zlib -Wall -O2 png.c gcc -o pngerror.o -c -I../zlib -Wall -O2 pngerror.c gcc -o pngget.o -c -I../zlib -Wall -O2 pngget.c gcc -o pngmem.o -c -I../zlib -Wall -O2 pngmem.c gcc -o pngpread.o -c -I../zlib -Wall -O2 pngpread.c gcc -o pngread.o -c -I../zlib -Wall -O2 pngread.c gcc -o pngrio.o -c -I../zlib -Wall -O2 pngrio.c gcc -o pngrtran.o -c -I../zlib -Wall -O2 pngrtran.c gcc -o pngrutil.o -c -I../zlib -Wall -O2 pngrutil.c gcc -o pngset.o -c -I../zlib -Wall -O2 pngset.c gcc -o pngtrans.o -c -I../zlib -Wall -O2 pngtrans.c gcc -o pngwio.o -c -I../zlib -Wall -O2 pngwio.c gcc -o pngwrite.o -c -I../zlib -Wall -O2 pngwrite.c gcc -o pngwtran.o -c -I../zlib -Wall -O2 pngwtran.c gcc -o pngwutil.o -c -I../zlib -Wall -O2 pngwutil.c ar rcs libpng.a png.o pngerror.o pngget.o pngmem.o pngpread.o pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o rem libpng.a dmake: Error: -- rem: No such file or directory dmake: Error code 255, while making 'libpng/libpng.a' dmake: Error code 255, while making 'subdirs' C:\temp\Tk-804.027> the problem appears to be in the line rem libpng.a building the libpng alone in its directory succeeds and makes a work around to build the package. Dean
Subject: Re: [rt.cpan.org #21457] Build Tk 804.027 fails
Date: Wed, 13 Sep 2006 00:39:45 -0400
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: David Golden <david [...] hyperbolic.net>
Thanks, I'll look into it. I don't think this is specific to Strawberry, so you might want to post it as a bug to the Tk queue, as well. Also, if you could highlight it on win32.perl.org under "Vanilla Perl Problem Modules" that will call attention to it for others that are busy trying to resolve Win32 build-from-source issues. External libraries are a known issue, but Tk seems to bundle what it needs, but not in a truly portable way.
On Wed Sep 13 00:40:04 2006, david@hyperbolic.net wrote: Show quoted text
> Thanks, I'll look into it. > > I don't think this is specific to Strawberry, so you might want to post > it as a bug to the Tk queue, as well.
It seems, Vanilla and Strawberry Perl try to deactivate some commands like ranlib under win32 via defining them to the "rem" comment command, which for some reason doesn't work. We solved the Tk install issue via compiling from CPAN shell until the error arises. Then go into the extracted Tk subdir in the CPAN build directory, eg. .cpan/build/Tk-804.027/PNG/ and edit the "makefile": Change the line # MakeMaker passthru section PASTHRU="CC=gcc " RANLIB="rem" into PASTHRU="CC=gcc " RANLIB="echo" Then go into .cpan/build/Tk-804.027/ and manually run make make install I'm not sure whether my theory about the "rem" trick is true. If it is, we could report it to the Vanilla/Strawberry projekt. Steffen
From: DAGOLDEN [...] cpan.org
On Wed Oct 11 03:45:23 2006, SCHWIGON wrote: Show quoted text
> It seems, Vanilla and Strawberry Perl try to deactivate some commands > like ranlib under win32 via defining them to the "rem" comment command, > which for some reason doesn't work.
Vanilla Perl flavors don't intentionally try to disable things. I think that is coming from ExtUtils::MakeMaker and may be an issue with the Makefile as generated for dmake. Ironically, Vanilla/Strawberry include ranlib as part of MinGW.
From: MSCHWERN [...] cpan.org
On Wed Oct 11 07:41:32 2006, DAGOLDEN wrote: Show quoted text
> On Wed Oct 11 03:45:23 2006, SCHWIGON wrote:
> > It seems, Vanilla and Strawberry Perl try to deactivate some commands > > like ranlib under win32 via defining them to the "rem" comment command, > > which for some reason doesn't work.
> > Vanilla Perl flavors don't intentionally try to disable things. I think > that is coming from ExtUtils::MakeMaker and may be an issue with the > Makefile as generated for dmake. > > Ironically, Vanilla/Strawberry include ranlib as part of MinGW.
I cannot find anything in MakeMaker or Tk that would be setting RANLIB to rem. PNG/Makefile.PL does this: qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}" RANLIB=\"$Config::Config{ranlib}\"]; It appears Strawberry at least sets $Config{ranlib} to "rem". MakeMaker only uses "rem" for $(NOOP) since that trick only works at the beginning of the line. So yeah, Strawberry's $Config{ranlib} is wrong. The suggestion in the Config man page is... "ranlib" From orderlib.U: This variable is set to the pathname of the ranlib program, if it is needed to generate random libraries. Set to ":" if ar can gen- erate random libraries or if random libraries are not supported
From: MSCHWERN [...] cpan.org
On Wed Oct 11 07:41:32 2006, DAGOLDEN wrote: Show quoted text
> On Wed Oct 11 03:45:23 2006, SCHWIGON wrote:
> > It seems, Vanilla and Strawberry Perl try to deactivate some commands > > like ranlib under win32 via defining them to the "rem" comment command, > > which for some reason doesn't work.
> > Vanilla Perl flavors don't intentionally try to disable things. I think > that is coming from ExtUtils::MakeMaker and may be an issue with the > Makefile as generated for dmake. > > Ironically, Vanilla/Strawberry include ranlib as part of MinGW.
I cannot find anything in MakeMaker or Tk that would be setting RANLIB to rem. PNG/Makefile.PL does this: qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}" RANLIB=\"$Config::Config{ranlib}\"]; It appears Strawberry at least sets $Config{ranlib} to "rem". MakeMaker only uses "rem" for $(NOOP) since that trick only works at the beginning of the line. So yeah, Strawberry's $Config{ranlib} is wrong. The suggestion in the Config man page is... "ranlib" From orderlib.U: This variable is set to the pathname of the ranlib program, if it is needed to generate random libraries. Set to ":" if ar can gen- erate random libraries or if random libraries are not supported
From: todd.e.rinaldo [...] jpmorgan.com
Modifying ConfigHeavy.pl to have: ranlib="echo " seems to have corrected the problem. The question is if this is the correct fix. Discussing with mschwern, there are 4 possible blames here: 1. Could be this is the correct hack for ranlib not being available. 2. should be some other string that will not resolve on the front of a command line. or ... this should never appear on the command line and: 1. Makefile.PL is wrong 2. MakeMaker is acting wrong. I am doing some investigation and will update here.
From: todd.e.rinaldo [...] jpmorgan.com
ok here's what I can tell: we should be setting perl\lib\ConfigHeavy.pl to: ranlib='C:\strawberry-perl\mingw\bin\ranlib.exe ' mingw is providing it. While I realize it may be a somewhat depricated feature, why would we not use it if it's available with mingw? This would fix the problem.
On Fri Jun 29 19:35:10 2007, todd_rinaldo wrote: Show quoted text
> ok here's what I can tell: > we should be setting perl\lib\ConfigHeavy.pl to: > ranlib='C:\strawberry-perl\mingw\bin\ranlib.exe ' > mingw is providing it. While I realize it may be a somewhat depricated > feature, why would we not use it if it's available with mingw? > > This would fix the problem.
As Tk 804.028 seems to build with recent Strawberry Perl distribution, I assume this ticket may be closed? Regards, Slaven
Subject: installation of Tk fails on 5.10.1.0-beta-2
Date: Wed, 23 Sep 2009 13:57:47 +0200
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: Norman Jörns <joerns [...] corscience.de>
Installation of Tk fails on strawberry 5.10.1.0-beta-2 on XP png.h cannot be created reproduction: unzip strawberry-perl-5.10.1.0-beta-2.zip to a clean C:/strawberry/ Show quoted text
>cpan -i Tk
thx, Norman
Hi, the problem seems to be that they (Tk authors) try to find png.h in a directory they get from: $Config{'usrinc'} Unfortunately for $Config{'usrinc'} strawberry returns: /usr/include (which obviously does not work on Windows) - you can test it: c:\strawberry> perl -MConfig -e "print $Config{'usrinc'}" Question on CSJEWELL: would you agree with setting $Config{'usrinc'} to c:\strawberry\c\include ? I guess it is worth to be patched in the next beta. -- kmx
Show quoted text
> Unfortunately for $Config{'usrinc'} strawberry returns: /usr/include > (which obviously does not work on Windows) - you can test it: > c:\strawberry> perl -MConfig -e "print $Config{'usrinc'}" > > Question on CSJEWELL: would you agree with setting $Config{'usrinc'} to > c:\strawberry\c\include ? I guess it is worth to be patched in the next > beta.
r9352 needs tested, but should work. If it does, I'll add it as a dependency of RT#49957 and set it to 'patched'.
OK. It works.
Resolving since October release happened.