Skip Menu |

This queue is for tickets about the dmake CPAN distribution.

Report information
The Basics
Id: 32220
Status: resolved
Priority: 0/
Queue: dmake

People
Owner: Nobody in particular
Requestors: ddascalescu+perl [...] gmail.com
Cc:
AdminCc:

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



Subject: Path issues with '$' and perl 5.01
When running dmake from a directory containing a dollar sign, it cannot find it configuration files: C:\> C:\$download\prg\perl\dmake.exe dmake.exe: Error: -- Configuration file `C:\ownload\prg\perl\startup\startup.mk' not found When running dmake from another directory, by specifying its complete path, it can't find $PERLLIB\Config.pm: C:\temp\Inline-Java-0.52>C:\Utils\dmake\dmake.exe dmake.exe : Error: -- `C:\Perl\libConfig.pm' not found, and can't be made Same for running dmake from PATH. I'm using ActivePerl 5.10 MSWin32-x86-multi-thread on WinXP SP2. HTH, Dan Dascalescu
From: shay [...] cpan.org
On Thu Jan 10 01:17:35 2008, dandv wrote: Show quoted text
> When running dmake from a directory containing a dollar sign, it cannot > find it configuration files: > > C:\> C:\$download\prg\perl\dmake.exe > dmake.exe: Error: -- Configuration file > `C:\ownload\prg\perl\startup\startup.mk' not found
Thanks for the bug report. I've reproduced this error and will report it to the dmake maintainers at OpenOffice.org. Show quoted text
> > When running dmake from another directory, by specifying its complete > path, it can't find $PERLLIB\Config.pm: > > C:\temp\Inline-Java-0.52>C:\Utils\dmake\dmake.exe > dmake.exe : Error: -- `C:\Perl\libConfig.pm' not found, and can't be made > > Same for running dmake from PATH.
I can't reproduce either of these problems using the following simple makefile.mk for testing: all : +@echo Hello I have dmake.exe installed in C:\dmake and I've put the above makefile.mk in C:\Temp. If I 'cd' to C:\Temp and run C:\dmake\dmake.exe then the output "Hello" is produced as expected. Likewise, if I add C:\dmake to my %PATH% and just run dmake.exe then "Hello" is again output. Could you provide more detail on these problems, including the makefile(s) that you are using. I'm not sure I understood the reference to $PERLLIB\Config.pm above either: what is $PERLLIB supposed to mean?
On Thu Jan 10 06:16:15 2008, SHAY wrote: Show quoted text
> On Thu Jan 10 01:17:35 2008, dandv wrote:
> > When running dmake from a directory containing a dollar sign, it cannot > > find it configuration files: > > > > C:\> C:\$download\prg\perl\dmake.exe > > dmake.exe: Error: -- Configuration file > > `C:\ownload\prg\perl\startup\startup.mk' not found
> > Thanks for the bug report. I've reproduced this error and will report it > to the dmake maintainers at OpenOffice.org.
This is now reported in the OpenOffice.org issue tracker here: http://www.openoffice.org/issues/show_bug.cgi?id=85136
From: ddascalescu+perl [...] gmail.com
Show quoted text
>> When running dmake from another directory, by specifying its >> complete >> path, it can't find $PERLLIB\Config.pm: >> >> C:\temp\Inline-Java-0.52> C:\Utils\dmake\dmake.exe
Show quoted text
>> dmake.exe : Error: -- `C:\Perl\libConfig.pm' not found, and can't be
made Show quoted text
>> >> Same for running dmake from PATH.
> > I can't reproduce either of these problems using the following simple > makefile.mk for testing: > > all : > +@echo Hello > > I have dmake.exe installed in C:\dmake and I've put the above > makefile.mk in C:\Temp. If I 'cd' to C:\Temp and run > C:\dmake\dmake.exe then the output "Hello" is produced as expected. > Likewise, if I add C:\dmake to my %PATH% and just run dmake.exe then > "Hello" is again output. > > Could you provide more detail on these problems, including the > makefile(s) that you are using. I'm not sure I understood the > reference to $PERLLIB\Config.pm above either: what is $PERLLIB > supposed to mean?
Sorry for the confusion. I looked more into the issue and attached the makefile that causes it. Apparently, the path separator is not set properly: DIRFILESEP = ^\ DFSEP = $(DIRFILESEP) CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) This results in the error above, `C:\Perl\libConfig.pm' not found. HTH, Dan
Download Makefile.
application/octet-stream 29k

Message body not shown because it is not plain text.

From: shay [...] cpan.org
On Thu Jan 10 19:18:50 2008, dandv wrote: Show quoted text
> >> When running dmake from another directory, by specifying its > >> complete > >> path, it can't find $PERLLIB\Config.pm: > >> > >> C:\temp\Inline-Java-0.52> C:\Utils\dmake\dmake.exe
>
> >> dmake.exe : Error: -- `C:\Perl\libConfig.pm' not found, and can't be
> made
> >> > >> Same for running dmake from PATH.
> > > > I can't reproduce either of these problems
[...] Show quoted text
> > Could you provide more detail on these problems, including the > > makefile(s) that you are using. I'm not sure I understood the > > reference to $PERLLIB\Config.pm above either: what is $PERLLIB > > supposed to mean?
> > Sorry for the confusion. I looked more into the issue and attached the > makefile that causes it. Apparently, the path separator is not set
properly: Show quoted text
> > DIRFILESEP = ^\ > DFSEP = $(DIRFILESEP) > CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h > $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) > > This results in the error above, `C:\Perl\libConfig.pm' not found.
OK, thanks for the clarification. The problem here is simply that you are using an nmake-style makefile with dmake. When you run "perl Makefile.PL" a makefile is generated in the appropriate syntax for your make program, either nmake or dmake, as specified by "perl -V:make". In your case the output of "perl -V:make" is presumably "nmake" so it has generated a makefile that would be understood by nmake, which is incompatible with dmake. I should have thought of that sooner, really: you mentioned originally that you're using ActivePerl, which is built with MSVC++ using nmake, and hence has nmake specified for its make program in Config.pm. You either need to build perl yourself using dmake from the outset, or fool ActivePerl into thinking that it is configured using dmake rather than nmake (which is not as devious as it sounds: there is a CPAN module called ExtUtils-FakeConfig for doing exactly that kind of thing, and I think ActivePerl has good support these days for building extension modules using dmake and MinGW), or else use nmake (part of MSVC++, if you have it) rather than dmake for building CPAN modules. The second option there (using a "fakeconfig") is probably the simplest. Try asking on the perl-win32-users list if you get stuck--I'm pretty sure people on there have made good use of ActivePerl with fakeconfigs in the past. I'll leave this bug report open until the other issue (with $ in the directory name) is fixed, though. When it is I'll make a new CPAN release of dmake and let you know.
RT-Send-CC: ddascalescu+perl [...] gmail.com
The issue with $ in the folder name is now resolved in dmake-4.12-20090907-SHAY.zip which I've just uploaded to CPAN.