|
|
Line 644: |
Line 644: |
| ===Dependencies=== | | ===Dependencies=== |
|
| |
|
| Below is a list of dependencies (packages) that need to be installed before compiling.
| | [[Howto:Build_and_run_FlightGear_on_Raspberry_Pi_4#Download_and_compile.sh|Download_and_Compile.sh]] does a good job of installing the needed dependencies, as of 01/03/2021. Refer to that script for more information. |
| | |
| {| class="wikitable"
| |
| |-
| |
| ! Package !! Version (ref. only, as of 03-28-2020) !! Notes
| |
| |-
| |
| | automake || || Needed for download_and_compile.sh, maybe more
| |
| |-
| |
| | cmake || 3.13.4-1 ||
| |
| |-
| |
| | build-essential || || Needed for download_and_compile.sh, maybe more
| |
| |-
| |
| | g++ || 4:8.3.0-1+rpi2 ||
| |
| |-
| |
| | git || 1:2.20.1-2+deb10u1 || Needs a user account at www.github.com
| |
| |-
| |
| | make || 4.2.1-1.2 ||
| |
| |-
| |
| | sed || 4.7-1 ||
| |
| |-
| |
| | freeglut3-dev || 2.8.1-3 ||
| |
| |-
| |
| | libboost-dev || 1.67.0.1+b1 ||
| |
| |-
| |
| | libcurl4-openssl-dev || 7.64.0-4+deb10u1 || OSG plugins
| |
| |-
| |
| | libdbus-1-dev || 1.12.16-1 ||
| |
| |-
| |
| | libdbus-1-3 || ||
| |
| |-
| |
| | libevent-dev || 2.1.8-stable-4 ||
| |
| |-
| |
| | libfreetype6-dev || 2.9.1-3+deb10u1 ||
| |
| |-
| |
| | libglew-dev || 2.1.0-4 ||
| |
| |-
| |
| | libjpeg62-dev || || OSG plugin
| |
| |-
| |
| | libnvtt-dev || 2.0.8-1+dfsg-8.1+b3 ||
| |
| |-
| |
| | libopenal-dev || 1:1.19.1-1 ||
| |
| |-
| |
| |libopenscenegraph-3.4-dev || 3.4.1+dfsg1-5 ||
| |
| |-
| |
| | libqt5opengl5-dev || 5.11.3+dfsg1-1+rpi1+deb10u3 ||
| |
| |-
| |
| | libqt5svg5-dev || 5.11.3-2 ||
| |
| |-
| |
| | librsvg2 || || OSG plugin, if needed
| |
| |-
| |
| | librsvg2-dev || || OSG plugin, if needed
| |
| |-
| |
| | libssl-dev || 1.1.1d-0+deb10u3+rpt1 || Needed if building Cmake
| |
| |-
| |
| | libxi-dev || 2:1.7.9-1 ||
| |
| |-
| |
| | libxmu-dev || 2:1.1.2-2+b3 ||
| |
| |-
| |
| | pkg-config || 0.29-6 ||
| |
| |-
| |
| | qml-module-qtquick2 || 5.11.3-4 ||
| |
| |-
| |
| | qml-module-qtquick-window2 || 5.11.3-4 ||
| |
| |-
| |
| | qt5-default || 5.11.3+dfsg1-1+rpi1+deb10u3 ||
| |
| |-
| |
| | qtbase5-private-dev || 5.11.3+dfsg1-1+rpi1+deb10u3 ||
| |
| |-
| |
| | qtdeclarative5-private-dev || 5.11.3-4 ||
| |
| |-
| |
| | qttools5-dev || 5.11.3-4 ||
| |
| |-
| |
| | zlib1g-dev || 1:1.2.11.dfsg-1 || OSG plugin
| |
| |}
| |
|
| |
|
| | ====Extra Information==== |
| The command <code>dpkg -s package_name</code> can be used, in the terminal to verify if a package is installed. Replace 'package_name' with the name of the dependency from the above list. | | The command <code>dpkg -s package_name</code> can be used, in the terminal to verify if a package is installed. Replace 'package_name' with the name of the dependency from the above list. |
|
| |
|
| Before installing any missing dependencies, update Raspbian per the above [[Howto:Build_and_run_FlightGear_on_Raspberry_Pi_4#Update_Raspbian|Update Raspbian]] instructions. The below terminal command can be used to install any missing dependencies: | | Before installing any missing dependencies, update Raspbian per the above (Download_and_Compile.sh will do this for you) [[Howto:Build_and_run_FlightGear_on_Raspberry_Pi_4#Update_Raspbian|Update Raspbian]] instructions. The below terminal command can be used to install any missing dependencies: |
|
| |
|
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
Line 727: |
Line 655: |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| ====git====
| | ===git=== |
| | A popular method to control software revisions is with <code>git</code>. Some basic knowledge of <code>git</code> is helpful and interesting. So, try to learn the basics. |
|
| |
|
| {| class="wikitable" | | {| class="wikitable" |
Line 753: |
Line 682: |
| Link to <code>git</code> [https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration configuration and customization] information page. | | Link to <code>git</code> [https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration configuration and customization] information page. |
|
| |
|
| Florent wrote:
| | Some Essential git commands: |
| | | * <code>git status</code> |
| <blockquote>
| | * <code>git checkout</code> |
| I'm not knowledgeable about details of the RaspBerry PI build; what I can
| | * <code>git pull</code> |
| say regarding your message is: when you clone a Git repository with no
| |
| special option such as <code>--bare</code>, some branch is initially checked out (often,
| |
| this is 'master'). This means that only this particular branch is clearly
| |
| visible in the directory where the repository has been cloned. Other
| |
| branches may be present in hidden/machine form inside the .git subdirectory
| |
| after you do <code>git fetch foo</code>, where foo is the name of a <s>branch</s>.
| |
| | |
| Run <code>git branch -r</code> to see what branches are available remotely, then <code>git
| |
| fetch foo</code> to retrieve the <s>branch</s> you are interested in (supposedly called
| |
| 'foo' here). This only happens in the .git subdirectory, but then <code>git
| |
| checkout foo</code> should cause this branch to appear in the filesystem, | |
| replacing whatever was previously checked out in your clone of the upstream
| |
| repository. In the case of the download_and_compile.sh script,
| |
| OpenSceneGraph-3.4 is the name of the OSG branch currently used by the
| |
| script (until a newer version is deemed preferable). Note that as a safety
| |
| measure, you can't check out a different branch when there is “unfinished
| |
| work” (things modified but not committed) on the currently checked-out
| |
| branch.
| |
| | |
| Hope this helps. Regards
| |
| | |
| I have to correct something from my first reply in this thread:
| |
| | |
| The argument passed to <code>git fetch</code> is not branch name (according to
| |
| the manual, it's a <refspec>). The way I use this command is by
| |
| passing a remote name, e.g. <code>git fetch origin</code> or 'git fetch
| |
| upstream'. A “remote” is some place where the repository is hosted
| |
| that is known to your clone (.git/config). Thus, your clone can fetch
| |
| branches and commits from remotes. A remote can offer many branches.
| |
| You can display info about known remotes with <code>git remove -v</code> from
| |
| within your clone, but I believe this info essentially comes from the
| |
| .git/config file.
| |
| </blockquote>
| |
| | |
| Essential git commands:
| |
| * git status
| |
| * git checkout
| |
| * git pull
| |
| ** Can be used to update the fgmeta folder when using the download_and_compile.sh script. Use this command from within the fgmeta folder. | | ** Can be used to update the fgmeta folder when using the download_and_compile.sh script. Use this command from within the fgmeta folder. |
| * git reset --hard | | * <code>git reset --hard</code> |
| * git log | | * <code>git log</code> |
| ** REVISION example '522c742419e028daf35e79f9c6097ffa34c9f536' (this revision number was found in the FlightGear menu and at flightgear/dnc-managed/build/flightgear/src/Include/build.h. Florent wrote: <blockquote> This is a recent FG commit. You can find it with: cd flightgear/dnc-managed/flightgear && git log. Then you can type /522c742419e028daf35e79f9c6097ffa34c9f536 to look for this string in the output (the search string is interpreted as a regular expression) in less, n for next occurrence, N for previous, q to quit (I'm assuming less is your $GIT_PAGER). Or more directly: git show 522c742419e028daf35e79f9c6097ffa34c9f53 in the same dir. Regards </blockquote>
| |
| | |
| * git diff
| |
|
| |
|
| Also see [[FlightGear Git]]. | | Also see [[FlightGear Git]]. |