Op woensdag 19 september 2018 05:19:08 CEST schreef John Ralls: > It’s Debian and derivatives: Ubuntu is a derivative--or these days maybe a > symbiote, there are Canonical reps on the Debian board--of Debian. > > I frankly don’t understand why Ubuntu needs a per-release explanation of how > to build it, especially since Debian doesn’t. `sudo apt-get build-dep > gnucash` installs everything you need to build 2.6; there are a few > additional packages (cmake, ninja, swig, xsltproc, libgtk-3-dev, > libboost-all-dev, googletest, and libwebkit2gtk-3.0-dev) to build 3. After > that it’s the same directory creation, clone gnucash.git, cmake, and ninja > reqardless of distro version. > +1
The build instructions are generic for *all* linux distributions, not only Debian and derivatives. The only part that differs is getting the required dependencies on your system. As there are plenty flavors of package managers, this part needs to be detailed per platform. The Debian/Ubuntu world has more or less standardized on the apt family of tools, so for those the same instructions can probably be used. On Fedora the primary package manager is dnf, and the instructions would be written for dnf. The dnf equivalent of "sudo apt-get build-dep gnucash" is "sudo dnf builddep install gnucash" The devil on the other hand is in the details. While we don't actively develop on gnucash 2.6 any more we know many users will stick to this series until they are comfortable to make the switch. There are even users on 2.4 still. We decided recently that any wiki information older than that release should be considered obsolete. Which inversely also means anything more recent is not. That's why we still have build documentation for 2.6.x next to documentation for 3.x. While the effort to migrate to cmake was started in the 2.6 series I'm not sure it was bug free. So I understand build instructions for 2.6.x are still documenting the autotools way. Yet in 3.x cmake is the only supported build environment. That leads already to two different sets of build instructions. Next, what "apt-get build-dep gnucash" and "dnf builddep install gnucash" really install depends on the version of gnucash supported by default on the chosen system. For example Fedora 27 by default still ships gnucas 2.6.21, so the builddep command will install build dependencies for that version. If you want to build gnucash 3.x on that system one has to manually install the new dependencies, as John mentioned for apt above. In theory it would be the other way around when your distro ships gnucash 3.x by default. In practice however it's very unlikely you can still "easily" build gnucash 2.6 on such systems. Most of these distros have dropped libwebkitgtk-1 due to security issues. So how do we proceed practically from here? I think a generic page for autotools based build and one for cmake based builds would be useful. We can even consider abandoning the autotools based page to save time. This should be accompanied with a page that explains how to set up the proper dependencies based on your platform. The Build instructions page itself would then become a very short recipe referring to these two or three pages. Zooming in on the generic build instructions, it may be worth starting with a preferred directory setup, a section (or a link to) how to clone the git repo and check out the proper branch. Geert _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel