Project

General

Profile

Linux setup » History » Version 12

Alexis Jeandet, 16/03/2016 11:51 AM

1 1 Alexis Jeandet
h1. Linux setup
2 1 Alexis Jeandet
3 1 Alexis Jeandet
{{>toc}}
4 1 Alexis Jeandet
5 2 Alexis Jeandet
*Please note that SocExplorer is still under development, so things are supposed to move, it can fail to build sometimes or be buggy. Feel free to send us some bug reports!*
6 1 Alexis Jeandet
7 1 Alexis Jeandet
Note also that we recently change from Qt4 to Qt5 so all the new SocExplorer code will be written for Qt5.
8 1 Alexis Jeandet
9 10 Alexis Jeandet
*If you are using Fedora, you can directly install socexplorer from our repository "here":https://hephaistos.lpp.polytechnique.fr/repositories/Fedora/*
10 4 Alexis Jeandet
11 1 Alexis Jeandet
h2. Prerequisites
12 1 Alexis Jeandet
13 12 Alexis Jeandet
All the next steps can be distribution dependent SocExplorer development is done on Fedora 23, but is should work with any other one, feedback are welcome!
14 1 Alexis Jeandet
15 1 Alexis Jeandet
* First you need a working linux machine with:
16 2 Alexis Jeandet
** *Qt5 sdk* installed on it plus all the developments packages for Qt. Remember also to install modules such as QtWebkit.
17 2 Alexis Jeandet
** *Python 2.6 or 2.7* with headers.
18 3 Alexis Jeandet
* Then you need to install *PythonQt*, a modified version for SocExplorer can be downloaded "here":https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/USERS/JEANDET/PythonQt/archive/tip.zip
19 1 Alexis Jeandet
* To install PythonQt you just have to extract it somewhere, then from a terminal run:
20 1 Alexis Jeandet
<pre><code class="bash">
21 1 Alexis Jeandet
  qmake-qt5
22 1 Alexis Jeandet
  make 
23 1 Alexis Jeandet
  sudo make install
24 1 Alexis Jeandet
</code></pre>
25 1 Alexis Jeandet
26 1 Alexis Jeandet
h2. Building SocExplorer
27 1 Alexis Jeandet
28 1 Alexis Jeandet
* To build SocExplorer, once PythonQt is correctly build and installed you can get SocExplorer source code from code repository with this command:
29 1 Alexis Jeandet
<pre><code class="bash">
30 1 Alexis Jeandet
  hg clone https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/SocExplorer SocExplorer
31 1 Alexis Jeandet
</code></pre>
32 1 Alexis Jeandet
You will get a SocExplorer directory with all the source code inside. To build it you just have to run:
33 1 Alexis Jeandet
<pre><code class="bash">
34 1 Alexis Jeandet
  cd SocExplorer
35 1 Alexis Jeandet
  qmake-qt5
36 1 Alexis Jeandet
  make  #note that to speedup the make step you can use "make -j N" to parallelize on N process(replace N with the number of cores you have).
37 1 Alexis Jeandet
38 1 Alexis Jeandet
</code></pre>
39 2 Alexis Jeandet
40 1 Alexis Jeandet
* Now you can install SocExplorer, it will install the SocExplorer binary plus some libraries and desktop icon in your system, just run:
41 1 Alexis Jeandet
<pre><code class="bash">
42 1 Alexis Jeandet
  sudo make install
43 1 Alexis Jeandet
  #this doesn't install the registers xml description file.
44 1 Alexis Jeandet
  mkdir -p ~/.SocExplorer/config
45 1 Alexis Jeandet
  cp ressources/Grlib.xml ~/.SocExplorer/config/Grlib.xml
46 1 Alexis Jeandet
</code></pre>
47 1 Alexis Jeandet
48 1 Alexis Jeandet
Affected folders are:
49 1 Alexis Jeandet
* /usr/bin for SocExplorer executables.
50 1 Alexis Jeandet
* QT_HEADERS_PATH/SocExplorer for SDK headers.
51 1 Alexis Jeandet
* QT_LIB_PATH for shared libraries.
52 5 Alexis Jeandet
* QT_LIB_PATH/SocExplorer/plugins for plugins.
53 1 Alexis Jeandet
* /usr/share/qtcreator/templates/wizards/SocExplorerPlugin for Qtcreator wizard.
54 1 Alexis Jeandet
* /usr/share/applications/ for desktop launcher.
55 5 Alexis Jeandet
* /usr/share/SocExplorer/ for icon and xml soc description files.
56 1 Alexis Jeandet
* /etc/SocExplorer for global config files.
57 2 Alexis Jeandet
58 2 Alexis Jeandet
Now you should have a working SocExplorer, you can continue to install plugins or start write your own plugins.
59 2 Alexis Jeandet
60 2 Alexis Jeandet
h2. Building SocExplorer LPP's Plugins
61 2 Alexis Jeandet
62 2 Alexis Jeandet
If you are here it assume that you have an updated and working version of SocExplorer. 
63 2 Alexis Jeandet
To get LPP's SocExplorer plugins you can either clone or download them from here":https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/SocExplorerPlugins.
64 2 Alexis Jeandet
65 2 Alexis Jeandet
* To clone:
66 2 Alexis Jeandet
<pre><code class="bash">
67 2 Alexis Jeandet
  hg clone https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/SocExplorerPlugins SocExplorerPlugins
68 2 Alexis Jeandet
</code></pre>
69 2 Alexis Jeandet
70 11 Alexis Jeandet
Then first you may want to build only the plugins you plan to use, for example the SpaceWire plugin rely on STAR-Dundee usb driver which isn't free so if you don't have it you can't use it. To disable a plugin you have to edit the top qmake project file "SocExplorer_Plugins.pro" and remove the plugin folder name inside or comment it. As example if we want to disable the SpwPlugin and the memcheckplugin:
71 2 Alexis Jeandet
72 2 Alexis Jeandet
The file was initially:
73 2 Alexis Jeandet
74 2 Alexis Jeandet
<pre><code class="bash">
75 2 Alexis Jeandet
TEMPLATE = subdirs
76 2 Alexis Jeandet
CONFIG   += ordered
77 2 Alexis Jeandet
78 2 Alexis Jeandet
79 2 Alexis Jeandet
SUBDIRS = \
80 2 Alexis Jeandet
    ahbuartplugin \
81 2 Alexis Jeandet
    ambaplugin \
82 2 Alexis Jeandet
    APBUARTPLUGIN \
83 2 Alexis Jeandet
    dsu3plugin \
84 2 Alexis Jeandet
    genericrwplugin \
85 2 Alexis Jeandet
    memctrlrplugin \
86 2 Alexis Jeandet
    memcheckplugin
87 2 Alexis Jeandet
88 2 Alexis Jeandet
unix:SUBDIRS +=  spwplugin
89 2 Alexis Jeandet
90 2 Alexis Jeandet
</code></pre>
91 2 Alexis Jeandet
92 2 Alexis Jeandet
Then it become:
93 2 Alexis Jeandet
94 2 Alexis Jeandet
<pre><code class="bash">
95 2 Alexis Jeandet
TEMPLATE = subdirs
96 2 Alexis Jeandet
CONFIG   += ordered
97 2 Alexis Jeandet
98 2 Alexis Jeandet
99 2 Alexis Jeandet
SUBDIRS = \
100 2 Alexis Jeandet
    ahbuartplugin \
101 2 Alexis Jeandet
    ambaplugin \
102 2 Alexis Jeandet
    APBUARTPLUGIN \
103 2 Alexis Jeandet
    dsu3plugin \
104 2 Alexis Jeandet
    genericrwplugin \
105 2 Alexis Jeandet
    memctrlrplugin 
106 2 Alexis Jeandet
107 2 Alexis Jeandet
</code></pre>
108 2 Alexis Jeandet
109 2 Alexis Jeandet
110 2 Alexis Jeandet
111 2 Alexis Jeandet
* Then as for SocExplorer you just need to run:
112 2 Alexis Jeandet
<pre><code class="bash">
113 2 Alexis Jeandet
  cd SocExplorerPlugins
114 2 Alexis Jeandet
  qmake-qt5
115 2 Alexis Jeandet
  make  #note that to speedup the make step you can use "make -j N" to parallelize on N process(replace N with the number of cores you have).
116 2 Alexis Jeandet
117 2 Alexis Jeandet
</code></pre>
118 2 Alexis Jeandet
119 6 Alexis Jeandet
* If the compilation succeed then you can install plugins, note that since socexplorer revision 65 the plugins are installed in /usr/lib(64)/SocExplorer/plugins by default so you need to be root.
120 2 Alexis Jeandet
<pre><code class="bash">
121 6 Alexis Jeandet
  sudo make  install 
122 2 Alexis Jeandet
</code></pre>