I'm in the process of replacing my old 32bit Thinkpad with a new 64bit HP 15. As these things go, MPIDE, Fritzing, Eagle, and wxPerl all required libraries that weren't included in 14.04. After a lot of searching, all have been successfully installed. Below is the script I used for the wxWidgets/wxPerl installation. Hope it can be of some use to someone. Also cross posted to the wxPerl Wiki.

#!/bin/bash # # wxPerl Installation Script for Ubuntu 14.04LTS 64bit # # Author: Steve Cookson (Kbuntu 14.04LTS 64bit Version) # Modified By: James M. Lynes, Jr. # Last Modified: October 9, 2014 # # To Install: Save this file as ~/Perl/wxPerl-Installer.sh # Open a Terminal window # cd ~/Perl # sudo -s # sh -v wxPerl-Installer.sh > ~/Perl/wxPerl-Installer.log # # (sh wxPerl-Installer.sh if you don't want the log file create +d, about 2MB) # (all output will then go only to your screen) # # Notes: This script uses your system Perl(v5.18.2 in 14.04LTS). # The wxPerl Demo program installs into /usr/local/bin/wxperl_d +emo.pl # Installation log saved in ~/Perl/wxPerl-Installer.log. # Installation script run time saved in ~/Perl/wxPerl-Installer +.runtime. # Installs wxWidgets 3.0.1 below your home directory. # see the --wxWidgets-version=3.0.1 line below. # Modify this script to add any libraries or Perl Modules you r +equire. # Modify this script to put log files in other than ~/Perl/. # Uncomment optional git sections below to create local # repositories for wxWidgets and wxPerl. # Comment out the rm -rf Alien-wxWidgets and rm -rf wxPerl # to leave previous downloads intact. # root owns the files created by this script. Must be su to del +ete. # See below for creating a Launcher for wxperl_demo.pl # This script takes approximately 1 hour and 30 minutes to run # the first time on an HP 15 with Intel 2.16 GHz Quadcore. # Approximately 45 minutes there after since system librari +es # and cpan modules were installed/updated the first time. # # date # Note the start date/time date > ~/Perl/wxPerl-Installer.runtime # Log the start date/time # cd ~ # Install into your home directory # # Clean up prior installation(optional) # rm -rf Alien-wxWidgets # Optional clean + install rm -rf wxPerl # | find /usr | grep -i wx | grep -v -i python | grep -v -i soffice > rm_w +x.sh # | Collect wx files. Exclude wxpython, and soffice files sed -i -e 's/\/usr\//rm -rf \/usr\//g' rm_wx.sh # | + Build a rm command sh rm_wx.sh # | Remove them # # Reset packages in case there was a previous crash. # dpkg --configure -a # Configure all unpacked packages apt-get -y update # Resync package indexes apt-get -y upgrade # Install newest version of packages # # Install the dependencies first # # Install the Development Environment # apt-get -y install make # Needed for cpan apt-get -y install g++ apt-get -y install gcc apt-get -y install subversion # Needed for proper Alien-wxW +idgets and wxPerl apt-get -y install git # Needed for custom install Al +ien-wxWidgets and wxPerl apt-get -y install libgconf2-dev # Needed as wxMediaCtrl dependency apt-get -y install libgtk-3-dev # Needed as wxMediaCtrl depende +ncy apt-get -y install libexpat1-dev apt-get -y install libtiff4-dev apt-get -y install libpng12-dev apt-get -y install libjpeg-dev apt-get -y install libcairo2-dev apt-get -y install libxmu-dev apt-get -y install libwebkitgtk-dev # # Install the Video environment (wxMediaCtrl dependencies) # apt-get -y install libgstreamer0.10-dev # Needed for Alien- +wxWidgets and wxPerl apt-get -y install libgstreamer-plugins-base0.10-dev # Needed for A +lien-wxWidgets and wxPerl # apt-get -y install cups-pdf # Needed for P +DF printing apt-get -y install apparmor-utils # Confine an application' +s resources aa-complain cupsd # Report resource policy violatio +ns # # Install Perl modules # cpan -i ExtUtils::XSpp # Needed by wxPerl/Alien ins +tall cpan -i ExtUtils::ParseXS # Needed by wxPerl Makefile.P +L cpan -i XSLoader # Needed by wxPerl/Alien install cpan -i Encode # Needed for utf-8 cpan -i Test::Pod # ? cpan -i ExtUtils::MakeMaker # ? cpan -i Pod::Coverage # ? cpan -i Test::Pod::Coverage # ? # # Install OpenGL and Dependencies # apt-get -y install libglu1-mesa-dev apt-get -y install freeglut3-dev apt-get -y install mesa-common-dev # Needed by OpenGL apt-get -y install libsdl1.2-dev # ? apt-get -y remove libwxgtk2.8-dev apt-get -y install libwxgtk3.0-dev apt-get autoremove # Remove packages no longer need +ed cpan -i OpenGL # # Download Alien-wxWidgets(wxWidgets) # cd ~ svn co https://svn.code.sf.net/p/wxperl/code/Alien-wxWidgets/trunk Ali +en-wxWidgets #git clone https://github.com/SteveBz/Alien-wxWidgets # Optional l +ocation # # Compile wxWidgets # cd ~/Alien-wxWidgets perl Build.PL \ --wxWidgets-build=1 \ --wxWidgets-graphicscontext \ --wxWidgets-build-opengl=1 \ --wxWidgets-version=3.0.1 \ --wxWidgets-source=tar.bz2 \ --wxWidgets-unicode=1 \ --wx-unicode='yes' \ --wxWidgets-extraflags="--enable-graphics_ctx \ --disable-compat26 \ --enable-mediactrl \ --with-libjpeg=builtin \ --with-libpng=builtin \ --with-regex=builtin \ --with-libtiff=builtin \ --with-zlib=builtin \ --with-expat=builtin \ --with-libxpm=builtin \ --with-gtk=2\ --with-gtkprint" # # Build wxWidgets # perl Build # Baseline Alien-wxWidgets on git. # Optional local wxWidge +ts repository #git init # | #git add * # | #git commit -am "Adding Alien-wxWidgets baseline" # | perl Build install ldconfig # Configure dynamic linker run-time bi +ndings # # Download wxPerl # cd ~ svn co https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk wxPerl #git clone https://github.com/SteveBz/wxPerl # Optional locati +on # # Build wxPerl # cd ~/wxPerl perl Makefile.PL make # Baseline wxPerl on git. # Optional local wxPerl repos +itory #git init # | #git add ~/wxPerl # | #git commit -am "Adding wxPerl baseline" # | make install # # Install predecessors for Wx::PdfDocuments # cd ~ cpan -i Wx::GLCanvas cpan -i Text::Patch cpan -i Wx::PdfDocument # # Install wxDemo # Installs into /usr/local/bin/wxp +erl_demo.pl # cpan -i Wx::Demo # # Install Locally Needed Modules(modify for your environment) # cpan -i App::cpanminus cpan -i Device::SerialPort apt-get -y install php5-gd # Needed for GD apt-get -y install libgd2-xpm-dev # Needed for GD cpan -i GD cpan -i GD::Text cpan -i GD::Graph # # Done # date # Note the ending date/time date >> ~/Perl/wxPerl-Installer.runtime # Log the ending da +te/time # # # To create a Launcher for wxperl_demo.pl # # Copy the lines below into ~/Perl/wxperl_demo.desktop # (Without the leading # and tab) # Make the file executable # (icon changes to wxpl.ico) # Drag the icon to the Launcher # Click on the icon to Launch wxperl_demo.pl # # # [Desktop Entry] # Name=wxPerl_Demo # Type=Application # Terminal=false # Icon=/home/your-user-name/wxPerl/wxpl.ico # Exec=perl /usr/local/bin/wxperl_demo.pl #

Update1:

Based on comments here at the Monestary and discussions with the original author, listed below is an updated version of the script.

#!/bin/bash # # wxPerl Installation Script for Ubuntu 14.04LTS 64bit # # Author: Steve Cookson (Kbuntu 14.04LTS 64bit Version) # Modified By: James M. Lynes, Jr. # Created: October 9, 2014 # Last Modified: October 26, 2014 # Change Log: 10/20/14 - Moved install files to ~/Perl, changed + root of find to /usr/local # 10/21/14 - Added warning message about clean-up section, +updated notes # 10/24/14 - Added clean-up-check.pl script and loading of +perl-doc module # 10/25/14 - Fixed icon path in launcher code # 10/26/14 - Fixed Logging, commented out the clean-up sect +ion # # # To Install: Open a Terminal Window # mkdir ~/Perl # cd ~/Perl # Save this file as ~/Perl/wxPerl-Installer.sh # sudo -s # sh -v wxPerl-Installer.sh 2>&1 >wxPerl-Installer.log | tee wx +Perl-Installer.screen # # (Stdout(mass of compiler output) goes to .log, Stderr goes to + the screen and .screen) # (Script start/stop times go to .runtime) # (sh wxPerl-Installer.sh if you don't want the log file create +d, about 2MB) # (all output will then go only to your screen) # # # Notes: This script uses your system Perl(v5.18.2 in 14.04LTS). # The wxPerl Demo program installs into /usr/local/bin/wxperl_d +emo.pl # Installation log saved in ~/Perl/wxPerl-Installer.log. # Installation script running time saved in ~/Perl/wxPerl-Insta +ller.runtime. # Installs wxWidgets 3.0.1 below your ~/Perl directory. # see the --wxWidgets-version=3.0.1 line below. # see http://sourceforge.net/p/wxperl/code/HEAD/tree/ for c +urrent revisions. # Modify this script to add any libraries or Perl Modules you r +equire. # Modify this script to put log files in other than ~/Perl/. # Uncomment optional git sections below to create local # repositories for wxWidgets and wxPerl. # Uncomment the optional clean-up section below # to clean-up from previous downloads. See WARNING below. # root owns the files created by this script. Must be su to del +ete. # See below for creating a Launcher for wxperl_demo.pl # This script takes approximately 1 hour and 30 minutes to run # the first time on an HP 15 with Intel 2.16 GHz Quadcore. # Approximately 58 minutes there after since system librari +es # and cpan modules are installed/updated the first time. # # # WARNING: On a new Ubuntu/wxPerl install, the clean-up section bel +ow deletes wx files from: # /usr/local/lib, /usr/local/bin, and /usr/local/share # If you have concerns about your specific installation, it is +suggested that # you run the clean-up-check.pl script below and check for any +items that you don't # want removed from your system and modify the find statement a +ccordingly. # # cd ~/Perl # Install into your ~/Perl directory date # Note the start date/time date > wxPerl-Installer.runtime # Log the start date/time # # # OPTIONAL clean-up from a previous installation attempt. # Not required for initial installation, comment out. # #rm -rf Alien-wxWidgets # Optional +clean-up before install #rm -rf wxPerl # | #find /usr/local | grep -i wx | grep -v -i python | grep -v -i soffice + > rm_wx.sh # | Collect wx files. # # | Exclude wxpython, and + soffice files #sed -i -e 's/\/usr\//rm -rf \/usr\//g' rm_wx.sh + # | Build a rm command #sh rm_wx.sh # | Remove them # # Reset packages in case there was a previous crash. # dpkg --configure -a # Configure all unpacked packages apt-get -y update # Resync package indexes apt-get -y upgrade # Install newest version of packages # # Install the dependencies first # # Install the Development Environment # apt-get -y install make # Needed for cpan apt-get -y install g++ apt-get -y install gcc apt-get -y install subversion # Needed for official Alien-w +xWidgets and wxPerl apt-get -y install git # Needed for custom install Al +ien-wxWidgets and wxPerl apt-get -y install libgconf2-dev # Needed as wxMediaCtrl dependency apt-get -y install libgtk-3-dev # Needed as wxMediaCtrl depende +ncy apt-get -y install libexpat1-dev apt-get -y install libtiff4-dev apt-get -y install libpng12-dev apt-get -y install libjpeg-dev apt-get -y install libcairo2-dev apt-get -y install libxmu-dev apt-get -y install libwebkitgtk-dev # # Install the Video environment (wxMediaCtrl dependencies) # apt-get -y install libgstreamer0.10-dev # Needed for Alien- +wxWidgets and wxPerl apt-get -y install libgstreamer-plugins-base0.10-dev # Needed for A +lien-wxWidgets and wxPerl # apt-get -y install cups-pdf # Needed for P +DF printing apt-get -y install apparmor-utils # Confine an application' +s resources aa-complain cupsd # Report resource policy violatio +ns # # Install Perl modules # cpan -i ExtUtils::XSpp # Needed by wxPerl/Alien ins +tall cpan -i ExtUtils::ParseXS # Needed by wxPerl Makefile.P +L cpan -i ExtUtils::MakeMaker # ? cpan -i XSLoader # Needed by wxPerl/Alien install cpan -i Encode # Needed for utf-8 cpan -i Test::Pod # ? cpan -i Pod::Coverage # ? cpan -i Test::Pod::Coverage # ? # # Install OpenGL and Dependencies # apt-get -y install libglu1-mesa-dev apt-get -y install freeglut3-dev apt-get -y install mesa-common-dev # Needed by OpenGL apt-get -y install libsdl1.2-dev # ? apt-get -y remove libwxgtk2.8-dev apt-get -y install libwxgtk3.0-dev apt-get autoremove # Remove packages no longer need +ed cpan -i OpenGL # # Download Alien-wxWidgets(wxWidgets) # cd ~/Perl svn co https://svn.code.sf.net/p/wxperl/code/Alien-wxWidgets/trunk Ali +en-wxWidgets #git clone https://github.com/SteveBz/Alien-wxWidgets # Optional l +ocation # # Compile wxWidgets # cd ~/Perl/Alien-wxWidgets perl Build.PL \ --wxWidgets-build=1 \ --wxWidgets-graphicscontext \ --wxWidgets-build-opengl=1 \ --wxWidgets-version=3.0.1 \ --wxWidgets-source=tar.bz2 \ --wxWidgets-unicode=1 \ --wx-unicode='yes' \ --wxWidgets-extraflags="--enable-graphics_ctx \ --disable-compat26 \ --enable-mediactrl \ --with-libjpeg=builtin \ --with-libpng=builtin \ --with-regex=builtin \ --with-libtiff=builtin \ --with-zlib=builtin \ --with-expat=builtin \ --with-libxpm=builtin \ --with-gtk=2\ --with-gtkprint" # # Build wxWidgets # perl Build # Baseline Alien-wxWidgets on git. # Optional local wxWidge +ts repository #git init # | #git add * # | #git commit -am "Adding Alien-wxWidgets baseline" # | perl Build install ldconfig # Configure dynamic linker run-time bi +ndings # # Download wxPerl # cd ~/Perl svn co https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk wxPerl #git clone https://github.com/SteveBz/wxPerl # Optional locati +on # # Build wxPerl # cd ~/Perl/wxPerl perl Makefile.PL make # Baseline wxPerl on git. # Optional local wxPerl repos +itory #git init # | #git add ~/wxPerl # | #git commit -am "Adding wxPerl baseline" # | make install # # Install predecessors for Wx::PdfDocuments # cd ~ cpan -i Wx::GLCanvas cpan -i Text::Patch cpan -i Wx::PdfDocument # # Install wxDemo # Installs into /usr/local/bin/wxp +erl_demo.pl # cpan -i Wx::Demo # # Install Locally Needed Modules(modify for your environment) # cpan -i App::cpanminus cpan -i Device::SerialPort apt-get -y install php5-gd # Needed for GD apt-get -y install libgd2-xpm-dev # Needed for GD cpan -i GD cpan -i GD::Text cpan -i GD::Graph apt-get -y install perl-doc # perl docs not installed i +n Ubuntu distro # # Done # date # Note the ending date/time date >> ~/Perl/wxPerl-Installer.runtime # Log the ending da +te/time # # -------------------------------------------------------------------- +--------------- # #! /usr/bin/perl # # clean-up-check.pl # # Script to list the directories effected by the wxPerl-Install.sh scr +ipt clean-up section. # Related "wx" files from these directories will be deleted by the cle +an-up process. # Run this script prior to running the optional clean-up code in the i +nstaller. # # Created by: James M. Lynes, Jr # Creation Date: October 24, 2014 # Last Modified: October 24,2014 # #use strict; #use warnings; #use File::Basename; # #my %dirs; # Use a hash to remove duplicate directo +ry entrys # # Execute the "find" command used by the wxPerl-Installer.sh script # Each line is a path to a file that will be deleted # #my @lines = `find /usr/local | grep -i wx | grep -v -i python | grep +-v -i soffice`; # #foreach my $line (@lines) { # my $key=dirname($line); # $dirs{$key} += 1; # build hash with directory paths + as keys #} # duplicate key counts aren't being used # #my @k = sort keys %dirs; #foreach my $k (@k) { # print ($k, "\n"); # Sort and print the keys(unique +directory paths) #} # # -------------------------------------------------------------------- +--------------------------- # # To create a Launcher for wxperl_demo.pl # # Copy the lines below into ~/Perl/wxperl_demo.desktop # (Without the leading # and tab) # Make the file executable # (icon changes to wxpl.ico) # Drag the icon to the Launcher # Click on the icon to Launch wxperl_demo.pl # # # [Desktop Entry] # Name=wxPerl_Demo # Type=Application # Terminal=false # Icon=/home/your-user-name/Perl/wxPerl/wxpl.ico # Exec=perl /usr/local/bin/wxperl_demo.pl #

James

There's never enough time to do it right, but always enough time to do it over...

Replies are listed 'Best First'.
Re: Installing wxPerl 0.9923 with wxWidgets 3.0.1 on Unbuntu 14.04LTS 64bit
by aitap (Curate) on Oct 18, 2014 at 21:23 UTC
    I think that a couple of improvements can be made there.

    First of all,

    find /usr | grep -i wx | grep -v -i python | grep -v -i soffice > rm_w +x.sh # | Collect wx files. Exclude wxpython, and soffice files sed -i -e 's/\/usr\//rm -rf \/usr\//g' rm_wx.sh
    This looks scary and will break the packages installed in the system. For example, wxmaxima, a frontend to a symbolic calculation system written in LISP, will be deleted (but the package will be still marked installed). MCabber, a jabber client not related to Perl or Wx in any way, is going to get damaged, too. Manual cleanups should be done only in /usr/local; other parts of /usr belong to dpkg. Perhaps feeding the output of the command to dpkg -S and removing the packages it finds is a better idea, but you still need a way to filter the package names which should not be deleted (perhaps removing only packages with names matching 'lib*' will help for a start?).

    Also, you can save on the child processes by using find expressions instead of grep: find /usr -iwholename '*wx*' \! \( -iwholename '*python*' -o -iwholename '*soffice' \) should produce the same output (and you can also use -iname instead of -iwholename to filter file names only).

    Another two relatively unimportant things are that you ask the users to create a Perl directory in their ~, but don't use it much and download wxPerl and Alien-wxWidgets in the ~ instead and that you can save a lot of time on apt-get startup if you merge all apt-get install commands into one.

      aitap:

      Thank you for your reply. I'll get back to the original author and see if we can improve the find section. The rm_wx.sh script is saved, so I will take a look and see what was deleted unintentionally. The cleanup commands would not be needed for a new install. For me, it was visually easier to keep the apt-get commands separate as I was merging several scripts and cross checking between them to make sure I didn't miss anything. The Perl directory is where I put the install script and other install files. The user is free to customize to their installation.

      James

      There's never enough time to do it right, but always enough time to do it over...