Difference between revisions of "Install Build Tools"

From GnuCash
Jump to: navigation, search
(Mark Autotools Deprecated)
(Update to C++17; drop autotools)
 
Line 18: Line 18:
 
or your distribution sofware manager may be used to install this package.
 
or your distribution sofware manager may be used to install this package.
  
GnuCash 3.x requires a C++ compiler that supports ISO-standards C11 and C++11.<br />
+
GnuCash 5.x requires a C++ compiler that supports ISO-standards C++17.
Gcc version >=4.8 and Clang version >= 3.3 are known to work.<br />
+
:Gcc version >=8.0 and Clang version >= 6.0 are known to work.
For GnuCash 4.x (i.e. current master branch) we expect to require C++14 and may require C++17 compatibility.
 
  
 
Use <syntaxhighlight lang="sh">
 
Use <syntaxhighlight lang="sh">
Line 49: Line 48:
  
 
== Autotools ==
 
== Autotools ==
They can still (Gnucash 4.x) be used in Gnucash-Docs, but we suggest to use [[#CMake]] there, too.
+
They were last used in Gnucash-Docs 4.x. So the description moved into the [{{URL:wiki}}index.php?title=Install_Build_Tools&oldid=16759 archive].
*autoconf
 
*automake
 
*autoheader
 
*libtool
 
*m4
 
are normally already be installed on most Linux systems. Typing the program/command name with the version option switch in a shell will enable you to check whether these are installed on your system. E.g.
 
<syntaxhighlight lang="sh">
 
autoconf --version
 
</syntaxhighlight>
 
If not installed, you should be able to install using your distributions software management utility or by typing the following commands in a shell to install:
 
<syntaxhighlight lang="sh">
 
sudo apt install autoconf      # loads autoscan, autoconf and associated macros
 
sudo apt install automake
 
sudo apt install libtool
 
sudo apt install m4
 
</syntaxhighlight>
 

Latest revision as of 04:51, 29 May 2025

Build Tools for GnuCash

The main software tools used to build GnuCash are described in Build Tools.In most distributions a GUI based software manager tool is available for installation of software. It may be used to install the tools discussed below as an alternative to using the shell commands detailed below. The packages required normally have the same names given here.

build-essential

Your distribution software repository may have a build-essential package which installs the common tools for building software on Linux. It will typically install the following tools (these also may vary, particularly the versions, depending upon the distribution version):

  • dpkg-dev Debian package development tools
  • g++ GNU C++ compiler;
  • gcc GNU C compiler;
  • libc6-dev or libc dev GNU C EmbeddedLibrary: Development Libraries and Header Files;
  • libc-dev Embedded GNU C Library: Development Libraries and Header Files;
  • libc6-dev-sparc64 Embedded GNU C Library: 64bit Development Libraries for UltraSPARC;
  • lic6.1-dev or libc-dev Embedded GNU C Library: Development Libraries and Header Files;
  • make utility for controlling compilation linking and installation;

You may install this using the following command in a shell:

sudo apt install build-essential

or your distribution sofware manager may be used to install this package.

GnuCash 5.x requires a C++ compiler that supports ISO-standards C++17.

Gcc version >=8.0 and Clang version >= 6.0 are known to work.
Use
gcc --version

to check your installed compiler meets these requirements.

make utility

make is usually installed by default on most Linux distributions. If not type the following in a shell:

sudo apt install make

CMake

sudo apt install cmake

Ninja

You may wish to use the Ninja build system instead of make for building GnuCash. ninja is generally named ninja-build to avoid confusion with other programs which may use the same name. To install:

sudo apt install ninja-build

Deprecated

Some tools are in the state of replacement by better tools.

Autotools

They were last used in Gnucash-Docs 4.x. So the description moved into the archive.