Skip to content

4.1 Via Linux on a virtual box

Phil Duby edited this page Mar 16, 2020 · 4 revisions

For building a release-ready Linux version of fritzing, it is useful to set up virtual machines:

We are using VirtualBox machines for building and testing releases, in total 4 virtual linux boxes using VirtualBox:

  • 32 bit ubuntu 12.04 dev (for building)
  • 32 bit ubuntu 12.04 raw (for testing)
  • 64 bit ubuntu 12.04 dev (for building)
  • 64 bit ubuntu 12.04 raw (for testing)

Set up each dev machine and run release.sh there. If that Fritzing build runs ok, transfer it to its equivalent raw machine, and if it also runs correctly there, call it good.

Set up the virtual boxes

  1. download the linux release of choice (32/64 12.04) as a disk image (.iso file)
  2. create a new linux image with virtualbox, and have it install from the disk image (you have to add the disk image to a list under the devices menu). Note: the default virtual RAM setting of 512MB seems ok, create new hard disk size should be at least 10GB.
  3. ubuntu will want to install updates, go ahead
  4. on the host, under the devices menu, add the VBoxGuestAdditions.iso to the list, then select it. This should mount it on the guest, and with any luck it will autorun (if not, click it to bring up a menu with an autorun option).
  5. (optional) hook up a virtual folder for passing files between the virtual box and the host (http://www.virtualbox.org/manual/ch04.html)
  6. (optional) now on the guest: sudo mount -t vboxsf [-o OPTIONS] sharename mountpoint

sharename is the name assigned to the shared folder in the virtual box host (usually just the basename of the folder)

mountpoint is a folder on the guest which must already be created

For a raw test virtual linux, you can stop at this point, for a dev machine continue like this:

Prepare the dev machines

*TODO: This should refer to 1.3-Linux-notes

Finish installing dev packages

sudo apt-get install build-essential git libssl-dev

Qt 5 additionally seems to require GL (or at least I haven't found the way to remove the requirement):

sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev

Also download the Boost library and download/compile libgit2 as described in the build instructions.

Next download the Qt libraries: Easiest to download and install is the Qt Online Installer (this is the method we use). Another option is to download the Qt source and build it (instructions at building qt from source). From Qt 5.6 on, the installer does no longer include pre-built libraries for Linux 32bit. We could build them from source, but for now we are using Qt 5.5.1 on this platform.

Build fritzing

Adapt the release.sh script if something has changed, and set its permission to executable, then

./fritzing-app/tools/linux_release_script/release.sh 0.X.Yb