Talk:InstallingGR: Difference between revisions
IndianaM1ke (talk | contribs) (→To install system wide: slight tweak to "last command") |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
* <code>git clone --recursive https://github.com/gnuradio/gnuradio.git</code> | * <code>git clone --recursive https://github.com/gnuradio/gnuradio.git</code> | ||
* <code>cd gnuradio</code> | * <code>cd gnuradio</code> | ||
<b>Note:</b> In the following command, change <code>maint-3.8</code> to some other branch or tag if you want to build a different version of GNU Radio; see [https://github.com/gnuradio/gnuradio/tags tags] for tagged releases including pre-releases ("rc"). For [https://github.com/gnuradio/gnuradio/branches branches], it's generally wise to stick with "master" (the default after cloning), and, currently: <code>maint-3.7</code> or <code>maint-3.8</code>. Here we checkout the <code>maint-3.8</code> branch, which contains the latest 3.8 release plus any fixes or augmentations to it that will be in the next 3.8 release. | |||
* <code>git checkout maint-3.8</code> | |||
* <code>mkdir build</code> | * <code>mkdir build</code> | ||
* <code>cd build</code> | * <code>cd build</code> | ||
* <code>cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ..</code> | |||
<b>Note:</b> In the following command, you can use <code>-DCMAKE_INSTALL_PREFIX=XXX</code> to install GNU Radio into the PREFIX <code>XXX</code>; if not specified, then the PREFIX is <code>/usr/local</code>. See other CMake options in [[#Common_cmake_flags|Common cmake flags]].<br> | |||
* <code>cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../</code> | |||
<b>Note:</b> In the following command, if your computer's CPU has multiple cores, you can use the argument <code>-j#</code> to speed compilation; <br> e.g., <code>make -j3</code> will use 3 threads in the build. Specify at least one less than the number of CPU cores so the system does not appear to 'freeze' during the build. If not specified, then a single thread is used for the build; this is not necessarily a bad thing, but it will take roughly 2 times as long to build as using 2 threads, and roughly 3 times as long to build as using 3 threads.<br> | |||
* <code>make</code> | * <code>make</code> | ||
<b>Note:</b> In the following command, it is very possible that not all tests pass. Generally any error is a sign of a missing dependency such as the Python interface to ZMQ or NumPy or SciPy, none of which are required for building GNU Radio but are required for testing. | |||
* <code>make test</code> | * <code>make test</code> | ||
* <code>sudo make install</code> | * <code>sudo make install</code> | ||
Line 23: | Line 31: | ||
* <code>sudo ldconfig</code> | * <code>sudo ldconfig</code> | ||
Go to [[ModuleNotFoundError#Setting_PYTHONPATH|Setting PYTHONPATH]] to set your PYTHONPATH and LD_LIBRARY_PATH. After setting these environment variables, you might need to redo | Go to [[ModuleNotFoundError#Setting_PYTHONPATH|Setting PYTHONPATH]] to set your PYTHONPATH and LD_LIBRARY_PATH. After setting these environment variables, you might need to redo <code>sudo ldconfig</code> for the Linux dynamic library loader to find the just-installed GNU Radio libraries. |
Latest revision as of 15:54, 28 January 2020
DRAFT revisions to "To install system wide"
To install system wide
For this example, we will start in the home directory; you can, of course, use any directory you wish and the results will be the same.
cd
git clone --recursive https://github.com/gnuradio/gnuradio.git
cd gnuradio
Note: In the following command, change maint-3.8
to some other branch or tag if you want to build a different version of GNU Radio; see tags for tagged releases including pre-releases ("rc"). For branches, it's generally wise to stick with "master" (the default after cloning), and, currently: maint-3.7
or maint-3.8
. Here we checkout the maint-3.8
branch, which contains the latest 3.8 release plus any fixes or augmentations to it that will be in the next 3.8 release.
git checkout maint-3.8
mkdir build
cd build
Note: In the following command, you can use -DCMAKE_INSTALL_PREFIX=XXX
to install GNU Radio into the PREFIX XXX
; if not specified, then the PREFIX is /usr/local
. See other CMake options in Common cmake flags.
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
Note: In the following command, if your computer's CPU has multiple cores, you can use the argument -j#
to speed compilation;
e.g., make -j3
will use 3 threads in the build. Specify at least one less than the number of CPU cores so the system does not appear to 'freeze' during the build. If not specified, then a single thread is used for the build; this is not necessarily a bad thing, but it will take roughly 2 times as long to build as using 2 threads, and roughly 3 times as long to build as using 3 threads.
make
Note: In the following command, it is very possible that not all tests pass. Generally any error is a sign of a missing dependency such as the Python interface to ZMQ or NumPy or SciPy, none of which are required for building GNU Radio but are required for testing.
make test
sudo make install
If you're running Linux, then always remember to do the following command after installing any library:
sudo ldconfig
Go to Setting PYTHONPATH to set your PYTHONPATH and LD_LIBRARY_PATH. After setting these environment variables, you might need to redo sudo ldconfig
for the Linux dynamic library loader to find the just-installed GNU Radio libraries.