Difference between revisions of "Developers Documentation"
Line 11: | Line 11: | ||
− | + | = Installing portaudio19-dev with jackd2 = | |
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed befor portaudio19-dev it's dependency will be satisfied and it will not uninstall jackd2 and install jackd1. If you have already installed jackd1 with portaudio19-dev then the following procedure will fix the problem ... | Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed befor portaudio19-dev it's dependency will be satisfied and it will not uninstall jackd2 and install jackd1. If you have already installed jackd1 with portaudio19-dev then the following procedure will fix the problem ... | ||
+ | |||
+ | |||
+ | == If jackd1 and portaudio19-dev already installed == | ||
<pre>From Synaptic | <pre>From Synaptic | ||
Line 24: | Line 27: | ||
</pre> | </pre> | ||
− | + | ||
+ | == If you are starting from scratch == | ||
+ | |||
<pre>From Synaptic | <pre>From Synaptic | ||
Line 34: | Line 39: | ||
− | + | = Installing Qt5 = | |
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed. | You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed. | ||
− | + | == 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system == | |
In a terminal, copy and paste ... | In a terminal, copy and paste ... | ||
Line 51: | Line 56: | ||
Now you're ready to start installing software from the PPA! | Now you're ready to start installing software from the PPA! | ||
− | + | == 2. Installing from the ppa == | |
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers] | You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers] | ||
Line 79: | Line 84: | ||
note: there are a couple of packages which you do not need to install. | note: there are a couple of packages which you do not need to install. | ||
− | + | == 3. Setting the path to qt5 == | |
From a terminal | From a terminal | ||
Line 85: | Line 90: | ||
$ export PATH=/opt/qt5/bin:$PATH | $ export PATH=/opt/qt5/bin:$PATH | ||
</pre> | </pre> | ||
− | + | ||
+ | == 4. Compiling QtRadio == | ||
+ | |||
<pre> | <pre> | ||
$ cd to the location of ghpsdr3-alex | $ cd to the location of ghpsdr3-alex | ||
Line 97: | Line 104: | ||
$ sudo make install | $ sudo make install | ||
</pre> | </pre> | ||
− | + | ||
+ | == 5. Setting QtCreator to use the qt5 libraries == | ||
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options: | If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options: | ||
Line 113: | Line 121: | ||
You need to point to the qmake file which is found in /opt/qt5/bin | You need to point to the qmake file which is found in /opt/qt5/bin | ||
− | + | == 6. Choosing the build library in QtCreator == | |
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application. | you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application. | ||
(I have not got this to work yet so there is some more to go here when I get it sorted.) | (I have not got this to work yet so there is some more to go here when I get it sorted.) |
Revision as of 19:03, 5 June 2012
- Git Repository
- README
- Dttsp
- A Very good video tutorial series on using QT and C++
- A Brief Description on the architecture of ghpsdr3
- Ghpsdr3 communication protocols 2010-08-07
- More on the Ghpsdr communications protocols (and more up to date)
- dspserver.conf The dspserver.conf file has it's own page
Most of the development discussion has been taking place on the sdr-widget google group.
Installing portaudio19-dev with jackd2
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed befor portaudio19-dev it's dependency will be satisfied and it will not uninstall jackd2 and install jackd1. If you have already installed jackd1 with portaudio19-dev then the following procedure will fix the problem ...
If jackd1 and portaudio19-dev already installed
From Synaptic Uninstall portaudio19-dev Uninstall jackd1 Install Jackd2 Install libkjack-jackd2-dev Install portaudio19-dev
If you are starting from scratch
From Synaptic Install Jackd2 Install libkjack-jackd2-dev Install portaudio19-dev
Installing Qt5
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.
1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system
In a terminal, copy and paste ...
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily
Your system will now fetch the PPA's key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built.
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added:
sudo apt-get update
Now you're ready to start installing software from the PPA!
2. Installing from the ppa
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at canonical-qt5-edgers
The packages will be identified with similar to
5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)
I have shown the example on the first entry in the list only.
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...
qt-components-qtquick2 5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05) qt3d qtbase qtdeclarative qtdoc qtjsbackend qtmultimedia qtquick1 qtscript qtsvg qttools qtwebkit qtxmlpatterns These packages will install by default in /opt/qt5
note: there are a couple of packages which you do not need to install.
3. Setting the path to qt5
From a terminal
$ export PATH=/opt/qt5/bin:$PATH
4. Compiling QtRadio
$ cd to the location of ghpsdr3-alex $ sh cleanup $ autoreconf -i $ ./configure CXXFLAGS = '-O3 -fopenmp' (for those of us with older machines use the line below instead) $ ./configure CXXFLAGS='-O3 -msse2 -fopenmp' $ make $ sudo make install
5. Setting QtCreator to use the qt5 libraries
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:
From the top line menu of QtCreator ... Tools > Options > Build & Run Click on the Qt Versions panel Click on Add button Navigate to /opt/qt5/bin Click on qmake Click on open Click on Apply then OK
You need to point to the qmake file which is found in /opt/qt5/bin
6. Choosing the build library in QtCreator
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application. (I have not got this to work yet so there is some more to go here when I get it sorted.)