|Version 8 (modified by bennie, 20 months ago) (diff)|
As a beta release, Padre is available as a packaged Application for OsX.
See this page for the latest DMG: http://wildperl.com/padreonosx/
This is a beta and we could really use your help. We need more OSX testers, and any help you can give us, even saying it runs fine for you, is important.
Installation from source
There are several methods of installing Padre from source. As such, they require some familiarity with command-line usage of OsX.
System Perl vs User Perl: Padre requires a 32bit version of Perl and wxWidgets 2.8.12. These are not the default on OsX. Additionally, the default "system" perl on OsX may be altered or changed in the course of software updates from Apple. Consequently, building Padre requires creating a self-contained perl, wxWidgets, and Padre.
We are attempting to automate the process using the bin/padre-brew.pl available here.
If you want to build on your own you should note the environment settings and build parameters used on OSX Lion, or refer to the bin/padre-brew.pl source for other OSX levels.
Xcode: On OsX most of the common development utilities that are referenced by perl (gcc, make, etc) are provided by installing Xcode. The instruction sets below assume that you have installed these or reasonable substitutes on your system, that they are properly in your path, etc.
Installation with Citrus Perl
Cirtus Perl is a portable distribution of perl that has pre-built Wx binaries and integration. A shortened form of installation instructions is below. Refer to the installation instructions on the download page below if you want full details.
- Download Citrus Perl from http://www.citrusperl.com/platform/macosx.html
- Unpack Citrus Perl into your favorite dev location:
cd ~/dev tar xzvf ~/Downloads/citrusperl-standard-51402-20903-osx-i32-014.tar.gz
- This has created a "CitrusPerl?" directory that has a fully isolated install of perl, including Wx. You can also use CPAN to add to this perl without polluting your system's install of perl with additional modules. (Also meaning that an apple update will not break your version of perl if you use this.)
- Configure CirtusPerl? to work in its new location
- At this point you can alias commands in your .bash_profile to use this perl as your regular perl.
alias perl=/Users/joe/dev/CitrusPerl/bin/perl alias perldoc=/Users/joe/dev/CitrusPerl/bin/perldoc alias cpan=/Users/joe/dev/CitrusPerl/bin/cpan
- To install Padre, invoke cpan and run the command "install Padre." It will build dependencies along the way, so it will take some time.
cpan > install Padre > exit
- You can then alias and execute padre on the command line.
Installation with Mac Ports
Mac Ports is a project to provide many GNU and Open Source utilities to OsX. It packages and installs them in /opt/local.
- Mac Ports can be downloaded and installed as a package from http://www.macports.org/install.php and configured:
sudo port -f selfupdate
- Install Perl and Wx (This will include many dependencies and take some time to compile and complete.)
sudo port install perl5 wxWidgets
- Install Padre via CPAN
sudo /opt/local/bin/cpan > install Padre
Old Instructions Which May Be Useful
On OS X, you cannot use the system's 'perl' executable, you have to use the 'wxPerl' executable (see this thread regarding wxPerl invocation).
Installation using pkgsrc should also work.
Installation from CPAN
The most straightforward method is to install everything from source. This will ignore any existing wxWidgets installation.
- $ wxPerl -MCPAN -eshell
- [cpan] $ install Alien::wxWidgets [choose install from source, which is NOT the default]
- Go do something else while it compiles wxWidgets.
- [cpan] $ install Wx
- [cpan] $ install Padre
Padre has a LOT of prerequisites. You're likely to run into some problems with tests failing. IPC::Run3 was a particular problem due to its prerequisites, but a later individual install worked fine. Just make your way through them all, and 'force notest install $module' as needed. Once you've got padre installed you start it by running /usr/local/bin/padre.
Taking the lazy way
If you're lazy and enjoy taking risks... the easiest way to install on OSX may be (there will be some test failures - which you'll have to force install, including Padre itself, due to wxPerl issues):
cpan Alien::wxWidgets wxPerl -MCPAN -eshell $ install Padre
and then replace the /usr/local/bin/padre script with the updated version at http://padre.perlide.org/trac/browser/trunk/Padre/script/padre
If you are risk averse and like playing in your own sandbox, then it is recommended that you download and compile the current release of Perl from source (http://cpan.org/src/README.html). Note: you'll need to run ./Configure with -Dusethreads. After which you won't need to use wxPerl, but can do the standard make, make test, make install of Padre via cpan.
After installing Alien::wxWidget there are new versions of wx-config and wxrc somewhere in your Perl Library Path, (mine went under site_perl/darwin-thread-multi-2level/Alien/wxWidgets/mac_2_8_10_uni/bin), which need to be first in your PATH, otherwise Wx might build against the wrong Library. As an alternative you can set an environment variable WX_CONFIG which has to point to the new wx-config executable. See the Wx docs for more info.
Another caveat: don't build inside of a gnu-screen or ssh session, otherwise Wx's tests will fail with a strange errormessage, stating that it can't create the clipboard because of permission problems.
OS X 10.4 has wxPerl 0.22, 10.5 has a more recent version (0.6x for some x)
Aside from building from source, you can also install newer versions of Wx on OS X using a package manager:
fink install wxmac28
port install wxWidgets
installing _and_ upgrading wxWidgets and wxPerl
If you have trouble you can check which version of wxWidgets you have:
$ perl -MWx -le'print "Wx Version: $Wx::VERSION " . Wx::wxVERSION_STRING()'
and on Mac:
$ wxPerl -MWx -le'print "Wx Version: $Wx::VERSION " . Wx::wxVERSION_STRING()'
We use Wx 0.87 and wxWidgets 2.8.8 so you probably should have those (or newer) too.
When installing Alien::wxWidgets it will ask if you want to compile wxWidgets. Do you want to fetch and build wxWidgets from sources? If you don't have any installed or if you have an old version (< 2.8.8) then you should answer yes. It will try to download the source code of wxWidgets which is big and the download often fails.
To get around that you can download the file manually and put it in the extracted directory of Alien::wxWidgets.
Something like this:
$ cd /tmp $ wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.8.tar.gz $ cpan cpan> look Alien::wxWidgets $ cp /tmp/wxWidgets-2.8.8.tar.gz . $ perl Makefile.PL $ make $ make test $ make install $ exit cpan>quit $