Talk:InstallingGR: Difference between revisions
| No edit summary | IndianaM1ke (talk | contribs)   (→To install system wide:  slight tweak to "last command") | ||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| =  | = 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. | |||
| *  | * <code>cd</code> | ||
| * <code>git clone --recursive https://github.com/gnuradio/gnuradio.git</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>git checkout maint-3.8</code>  | |||
| * <code>mkdir build</code> | * <code>mkdir build</code> | ||
| * <code>cd build</code> | * <code>cd build</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> | |||
| *  | |||
| < | |||
| </ | |||
| <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>sudo make install</code> | |||
| If you're running Linux, then always remember to do the following command after installing any library: | |||
| * <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 <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.