Ticket #166 (closed todo: fixed)

Opened 6 years ago

Last modified 5 years ago

Install path on Win32

Reported by: whiteknight Owned by: rurban
Priority: normal Milestone: 1.0
Component: none Version: trunk
Severity: medium Keywords: install
Cc: Language:
Patch status: applied Platform: win32


I just tried installing Parrot today on my Win32 machine. I didn't specify any particular paths, instead using the defaults.

On Win32 "make reallyinstall" installs parrot to c:\usr\runtime\* when it really should install to C:\Program Files\Parrot\*.

This doesn't even get to any of the other Win32 nastyness that our installer should deal with (adding C:\Program Files\Parrot\bin\ to the PATH, adding *.PASM and *.PIR file associations in the registry, etc).

Getting a good installer or install target working on Win32 is probably important for the 1.0 release.

Change History

  Changed 6 years ago by coke

FYI, shortly after every release, François Perrad sends out an email pointing to:


Which provides prebuilt binaries; If we want more control over the install on windows, following the path here with inno setup is probably better than expecting folks to run 'make install' after building their own.

  Changed 6 years ago by whiteknight

In that case, it might make sense on Win32 to disable "make install" and "make reallyinstall" and have them instead post a message about the precompiled binaries.

  Changed 6 years ago by coke

I think that disabling it is overkill. Perhaps a warning.

Of course, I'm not saying /don't/ fix it in the makefile, merely trying to prioritize our effort.

in reply to: ↑ description   Changed 6 years ago by jkeenan

  Changed 6 years ago by fperrad

"make reallyinstall" could install parrot from its build tree to C:\Program Files\Parrot\*, if you tell it in the configure step before building :

perl Configure.pl --prefix="somewhere"

Dealing with PATH and file associations is a job for Inno Setup, when you install a prebuilt binary, not for "make reallyinstall".

  Changed 6 years ago by rurban

  • owner set to rurban
  • status changed from new to assigned

The wrong win32 path defaults should be fixed in config/init/install.pm I'll take it.

my $prefix = $conf->options->get('prefix') "/usr/local";

  Changed 6 years ago by rurban

  • patch set to applied

I rather want to make C:/Parrot the default win32 prefix

This is 1. analog to ActivePerl, strawberry and vanilla perl, and 2. it is technically hard to get the ${PROGRAMFILES} path if undefined, and without perl libwin32.

Done with r35927.

  Changed 6 years ago by fperrad

I prefer /Parrot instead of C:/Parrot, because it allows installation in any drive.

See  http://parrotwin32.wiki.sourceforge.net/

  Changed 6 years ago by rurban

Changing prefix "C:/Parrot" to "/Parrot" will not work, because prefix must be absolute. This way it is relative to the current drive and invocations from other drives will fail to find libraries.

  Changed 5 years ago by rurban

  • status changed from assigned to closed
  • resolution set to fixed

C:/Parrot applied as r35927

versioned subdirectories untested on win32

Note: See TracTickets for help on using tickets.