-
Notifications
You must be signed in to change notification settings - Fork 856
4.1 Via Linux on a virtual box
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.
- download the linux release of choice (32/64 12.04) as a disk image (.iso file)
- 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.
- ubuntu will want to install updates, go ahead
- hook up a virtual folder for passing files between the virtual box and the host (http://www.virtualbox.org/manual/ch04.html)
- 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). - 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:
*TODO: This should refer to 1.3-Linux-notes
Finish installing dev packages
sudo apt-get install zlib1g-dev build-essential libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-dev libboost-dev libboost-doc
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
(For mac and pc, we include a C++ Boost library in the src/lib folder. Under linux we now assume that a boost library package has been installed, so the version in the Fritzing src/lib folder is not necessary. We would like to do the same for the other libraries in src/lib.)
Next download the Qt libraries: Easiest to download and install is the Qt SDK (this is the method we use), another option is to download the Qt source and build it (instructions at building qt from source).
If you want some version other than the latest, you may need git:
sudo apt-get install git-core
git clone git://gitorious.org/+qt-developers/qt/releases.git
cd releases
git checkout v4.6.2 (or whatever version you want)
If you're building Qt from source (see better instructions at building qt from source)
cd to qt folder
./configure -opensource -release -fast -no-qt3support -nomake tools -nomake docs -nomake examples -nomake demos -plugin-sql-sqlite -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug -no-mmx -no-3dnow -no-sse -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-neon
If it fails: make confclean
and go back to the ./configure
step (note: these configuration options apply to Qt 4.8)
Then:
make
sudo make install
Now build fritzing, from the /home folder:
mkdir workspace/fritzing
cd fritzing/release
Adapt the release.sh script if something has changed, and set its permission to executable
./release.sh 0.X.Yb
COPYRIGHT FRITZING.ORG ALL RIGHTS RESERVED