A discussion of future direction

Half way, I can explain how to get it up on Ubuntu 16.04lts Desktop.
So far I’m being unsuccessful on Windows due to problems getting libssh2 to compile to get libgit2 to run. As much documentation as I’m aware of is in https://github.com/fritzing/fritzing-app/wiki although some of it is slightly outdated. Here is what worked for me to get my development environment up on Ubuntu 16.04:

  1. Install Ubuntu 16.04 from their install dvd (just installed and boots on my system without problems).

  2. log in to the installed 16.04 system as a normal user (vanepp in my case) and install in the home directory.

  3. Get Fritzing-app, Fritzing-parts Qt, and the prerequisites boost and libgit2 by

    download boost_1_66_0.tar.gz from the boost site

http://www.boost.org/users/download/

download libgit2-0.26.0.tar.gz from the libgit2 site

(the latest version now works on the head code in both cases as
does the latest Qt version unlike the document above says)

git clone https://github.com/fritzing/fritzing-app

git clone https://github.com/fritzing/fritzing-parts

download and install Qt 5.10 from the Qt site

  1. build libgit2

vanepp@GX1:~$ tar -xvf libgit2-0.26.0.tar.gz

cd libgit2-0.26.0

mkdir build && cd build

cmake …

cmake --build .

and it is in

~/libgit2-0.26.0/build

cd …/…/

make a symlink so Fritzing will find libgit2-0.26.0 in libgit2 where it
is expecting it.

ln -s libgit2-0.26.0 libgit2

sudo ln -s /home/vanepp/libgit2-0.26.0/build/libgit2.so.0.26.0 /usr/lib/x86_64-linux-gnu/libgit2.so.26

so the Fritzing binary can find it using the system library path (this
indicates we have a wrong or incomplete library path somewhere but this is an easy fix for now …)

  1. Install boost in to fritzing-app/src/lib/boost_1_66_0

(fritzing will find and use the older boost library in the system but I want the linux and Windows environments to be the same and Windows doesn’t have boost so I installed the latest here too)

cd

(to get back to the home directory if you weren’t already there)

cd fritzing-app/src/lib

tar -xvf …/…/…/ubuntu_distribution_files/boost_1_66_0.tar.gz
(substitute the path to where ever your copy of boost is!)

cd boost_1_66_0

./bootstrap.sh

./b2

and after a fair while boost will build in

fritzing-app/src/lib/boost_1_66_0

where fritzing is expecting it.

  1. Start qtcreator

the icon on the desktop.

In the Qtcreator window click Open Project in the main window

enter fritzing-app and click on phoenix.pro

and the configure project window should open.

on the left side under build and run click on

Desktop Qt5.10.0 GCC 64bit

click on configure project

which should configure the project

and produce:

Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -lz
Project MESSAGE: allways true on win32. leads to build problems
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -lz
Project MESSAGE: allways true on win32. leads to build problems
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -lz
Project MESSAGE: allways true on win32. leads to build problems
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -lz

in the general messages window.

Note doing anything else clears the configure screen and it is unclear if it does the configure or not.

on the left side tool bar click on projects

then under build and run click on

Desktop Qt5.10.0 GCC 64bit

then on Run

add the following to command line arguments (which should be currently blank)

(substituting your correct paths to the various things)

-f “/home/vanepp/fritzing-app/” -parts “/home/vanepp/fritzing-parts/” -db “/home/vanepp/fritzing-parts/parts.db”

in my case (likely different in yours)

click the run arrow (bottom left green arrow above the debug arrow)

in the Compile output window at the bottom of the Qtcreator screen you should see

Info: creating stash file /home/vanepp/build-phoenix-Desktop_Qt_5_10_0_GCC_64bit-Debug/.qmake.stash
Info: creating cache file /home/vanepp/build-phoenix-Desktop_Qt_5_10_0_GCC_64bit-Debug/.qmake.cache
Project MESSAGE: found libgit2 include path at /home/vanepp/fritzing-app/…/libgit2/include
Project MESSAGE: found libgit2 library in /home/vanepp/fritzing-app/…/libgit2/build
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -lz -L/home/vanepp/fritzing-app/…/libgit2/build -lgit2
Project MESSAGE: found libgit2 include path at /home/vanepp/fritzing-app/…/libgit2/include
Project MESSAGE: found libgit2 library in /home/vanepp/fritzing-app/…/libgit2/build
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -lz -L/home/vanepp/fritzing-app/…/libgit2/build -lgit2
Project MESSAGE: found libgit2 include path at /home/vanepp/fritzing-app/…/libgit2/include
Project MESSAGE: found libgit2 library in /home/vanepp/fritzing-app/…/libgit2/build
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -lz -L/home/vanepp/fritzing-app/…/libgit2/build -lgit2
13:09:55: The process “/home/vanepp/Qt/5.10.0/gcc_64/bin/qmake” exited normally.
13:09:55: Starting: “/usr/bin/make” qmake_all
make: Nothing to be done for ‘qmake_all’.
13:09:56: The process “/usr/bin/make” exited normally.
13:09:56: Starting: “/usr/bin/make”
/usr/bin/make -f Makefile.Debug

which indicates it found and used the built libraries

Now switch to the application output window and when compilation completes
you should see:

Starting /home/vanepp/build-phoenix-Desktop_Qt_5_10_0_GCC_64bit-Debug/Fritzing…
“translation en_CA loaded 1 from /home/vanepp/fritzing-app//translations”
“got transaction”
"no connector is found for bus nodeMember connector32 in "
"no connector is found for bus nodeMember connector60 in "
"no connector is found for bus nodeMember connector33 in "
"no connector is found for bus nodeMember connector59 in "
"no connector is found for bus nodeMember connector30 in "
"no connector is found for bus nodeMember connector55 in "
"no connector is found for bus nodeMember connector56 in "
"no connector is found for bus nodeMember connector45 in "
"no connector is found for bus nodeMember connector57 in "
"no connector is found for bus nodeMember connector29 in "
"no connector is found for bus nodeMember connector58 in "
"no connector is found for bus nodeMember connector14 in "
"no connector is found for bus nodeMember connector28 in "
"no connector is found for bus nodeMember connector32 in "
"no connector is found for bus nodeMember connector60 in "
"no connector is found for bus nodeMember connector33 in "
"no connector is found for bus nodeMember connector59 in "
"no connector is found for bus nodeMember connector30 in "
"no connector is found for bus nodeMember connector55 in "
"no connector is found for bus nodeMember connector56 in "
"no connector is found for bus nodeMember connector45 in "
"no connector is found for bus nodeMember connector57 in "
"no connector is found for bus nodeMember connector29 in "
"no connector is found for bus nodeMember connector58 in "
"no connector is found for bus nodeMember connector14 in "
"no connector is found for bus nodeMember connector28 in "
“referenceModel::loadAll completed”
/home/vanepp/build-phoenix-Desktop_Qt_5_10_0_GCC_64bit-Debug/Fritzing exited with code 0

as it hopefully creates the parts database.

and indeed:

vanepp@GX1:~$ ls fritzing-parts
bins CONTRIBUTING.md LICENSE.txt parts.db scripts user
contrib core obsolete README.md svg
vanepp@GX1:~$

indicates a parts.db has been created.

Now in the projects->run config change

-f “/home/vanepp/fritzing-app/” -parts “/home/vanepp/fritzing-parts/” -db “/home/vanepp/fritzing-parts/parts.db”

to

-f “/home/vanepp/fritzing-app/” -parts “/home/vanepp/fritzing-parts/”

for normal operation.

Then click the green run arrow again and Fritzing should start normally.

and we now have the user directories

vanepp@GX1:~$ ls .config
compiz-1 gnome-session mimeapps.list QtProject upstart
dconf gtk-3.0 nautilus QtProject.conf user-dirs.dirs
evolution ibus pulse unity user-dirs.locale
Fritzing libaccounts-glib Qt update-notifier
vanepp@GX1:~$ ls Documents
Fritzing
vanepp@GX1:~$

When (or perhaps if, as I’ve been at it a week now with little progress) I figure out how to get Windows running I’ll post a similar listing for Windows.

Peter

1 Like