He/בניה בלינוקס
שפות | English | עִברִית |
---|
Contents
כללי
עמוד זה והעמודים המקושרים מכילים הוראות כלליות לבניית גנוקאש מקוד המקור על גבי הפצות לינוקס רבות.
בניית גנוקאש מקוד המקור על גבי לינוקס
הפצות לינוקס עשויות להבדל זו מזו במספר פרטים מסויימים כגון:
- מנהל החבילה המשמש להתקנת התכנה;
- שמות הספריות וקבצי הכותרות להדור ספריות קוד;
- המיקומים בהם מותקנות ספריות ותוכניות בדרך כלל.
ההוראות בעמוד זה משתמשות בפקודות שורה המשותפות להפצות דביאן/אובונטו רבות (אך לא בהכרח כולן). להפצות אחרות, לברור המידע הנדרש, נא לעיין בתיעוד היעודי להפצה המסוימת. לרשימת מנהלי חבילות להפצות נפוצות ודוגמאות לפקודות שלהם, עיינו בעמוד מנהל החבילה.
להפצות לינוקס רבות קיים ממשק מנהל תוכנה גרפי שתומך גם בהתקנת תכנה. אלו משמשים גם להתקנת כלי הבנייה והתלויות (ספריות וכותרות פיתוח) הדרושות לבניית גנוקאש. במידה ואינכם מכירים את תחביר הפקודה של מנהל החבילת ההפצה, נא עיינו בדפי man שלהם. לרשימת ממשקי קצה במערכות לינוקס מסוימות, נא עיינו בעמוד מנהל החבילה.
הערכות לבנית גונקאש על גבי לינוקס
על מנת לבנות את גנוקאש על מערכת לינוקס יש להשלים תחילה את השלבים הבאים. הוראות מפורטות לכל שלב ניתן למצוא בעמודים המקושרים.
בנית והתקנת תלויות גנוקאש
הדרך הקלה להתקין את מרבית התלויות בגנוקאש היא להשתמש באפשרות מנהל החבילות בנית תכונות תלויות, לצורך כך נדרשות הרשאות 'שורש':
apt-get build-dep gnucash # מבוסס דביאן yum-builddep gnucash # מבוסס רדהאט dnf builddep gnucash # פדורה (עדכני) zypper source-install -d gnucash # אופנסוס
ניתן לעשות את אותו הדבר גם עבור gnucash-docs.
הערה התלויות שיותקנו הן בגרסת ההפצות שבמערכת. אם זה לא מענף 5. X, עשויות לצוץ כמה בעיות שאותן עדיין יהיה צורך לפתור. |
בדרך כלל מומלץ להסיר התקנה של גרסאות גנוקאש קודמות שהתקנו באותו המיקום אליו מתוכננת התקנת הבניה החשדה. פעולה זו תסיר את כל הקבצים שאינם בשימוש, שהותקנו בעבר על ידי קבצי וספריות גנוקאש ושעשויים לגרום להפרעה. ראו #הסרת התקנת גנוקאש.
שיטות העבודה המומלצות עם CMake מחייבות שימוש מחיצת בנייה נפרדת. ניתן למקם את המחיצה:
- במחיצת המקור ברמה העליונה,
- באותה רמה במחיצת האב כמו מחיצת המקור ברמה העליונה (gnucash-4. <x>) או
- בכל מיקום מתאים אחר במחיצת הבית.
הערה |
מיקומים בהם ניתן להתקין את גנוקאש
הנתיב שיבחר יאוחסן כ־${PREFIX} בסביבת הבניה.
מיקום התקנה לריבוי משתמשים ומערכת רוחבית
התקנה רוחבית שתשמש את כל המערכת וכל המשתמשים דורשת הרשאות שורש (root) (כלומר שימוש בפקודה sudo או su להענקת הרשאות). בדרך כלל, בהתקנה מקומית במערכות לינוקס, התכנה מותקנת בנתיב /usr/local כמחיצת הבסיס, ראו היררכיית מערכת הקבצים של לינוקס. תכנה ממאגר הפצת התכנה תותקן בדרך כלל במיקום זה, כך שהיא לא תושפע משינויים / עדכונים בתכנת המערכת שבדרך כלל ממוקמת בנתיב /usr במחיצת הבסיס. תכנות הנבנות על גבי מערכת לינוקס ימוקמו במחיצה /opt וחבילות המותקנות במיקום זה חייבות לכלול מחיצה עם שם החבילה (או שם ספק רשום). (חלק מההפצות עשויות להתנהג שונות מהאמור לעיל - אם כך קורה, נא לעיין בתיעוד ההפצה).
מיקום | הערה |
---|---|
/usr | לרוב משמש תכנות המותקנות ממאגרי תכנות הפצה. לעולם אין להשתמש להתקנת תכנות המותקנות על ידי משתמש במחיצות שלהלן /usr/bin, /usr/etc, /usr/lib, /usr/share. כרוב לוודאי שקבצים במיקומים אלה יוחלפו במהלך עדכוני המערכת. |
/usr/local | Used by system administrator (you on single user systems) to install packages. It can be used to install GnuCash from a build /usr/local has bin, etc, lib and share subdirectories. GnuCash components are installed into these sub-directories.
|
/opt | Preferred location for user built software available to the system. Requires installation under a directory with the packagename e.g. /opt/gnucash which will contain directories /opt/gnucash/bin, /opt/gnucash/etc, /opt/gnucash/lib and /opt/gnucash/share.
|
התקנה במחיצת הבית עבור משתמש יחיד
התקנה במחיצת ה'בית' (/home) נחוצה למשתמשים:
- ללא הרשאות מנהל ו־
- לא יכולות לגרום למנהל המערכת להתקין תוכנה עבורם.
The Linux File System Hierarchy does not specify any standard structures for users home directories. The Free Desktop Software Foundation maintains the XDG standard however this does not specify a location for local installation of software. Previously we have suggested installing GnuCash under the users .local hidden directory, /home/<user>/.local. This however conflicts with the use of /home/<user>/.local/share/gnucash to store user preference and customization data as the build also creates a gnucash directory in this location. For clarity we will use and recommend /home/<user>/opt in the following to parallel the /opt system location. This is the location recommended for inexperienced users with no or litle software building and installation experience on Linux systems. More experienced users may use any directory they like under their home directory.
Substitute <user> in the above and the following with the user's username on the computer on which GnuCash being installed. On most Linux systems the environmental variable HOME is defined as /home/<user> and can be used in commands in the terminal by prefixing it with $, i.e. using $HOME in a command will substitute /home/<user> into the command.
Location | Comment |
---|---|
$HOME/.local | Recommended location to install stable releases of gnucash as a single user application. |
$HOME/opt | Recommended location to install gnucash for tests while developing. |
The cmake command syntax is cmake -D<install-target> <build-options> <build-source>. For further information see Cmake Build Directory Structure Options and Addressing.
- <install-target> is the location to which you wish to install gnucash on your system (this is actually a build option but has been specified separately for clarity). The format is CMAKE_INSTALL_PREFIX=<value> where <value> is a path specification to an install location. Common locations are:
- /usr/local - this location is commonly used for installing locally built versions of applications that should be available to all users on the system. Some distributions may install the version of their software to this location instead of to /usr. If using this location, precede make install with sudo for admin privileges.
- /opt - this location is frequently used for user built software. (see comment for /usr/local regarding use of this location).
- $HOME/opt/gnucash - in your home directory. Requires adding $HOME/opt/gnucash/bin to $PATH environment variable. Use export PATH=$PATH:$HOME/opt/gnucash/bin at a shell prompt to set PATH for that shell. To make the changes to PATH permanent, you can add this command to the file .profile or the file .bashrc in your home directory (Note Other distributions may use different files for this purpose. Consult recommendations for your Linux distribution). $HOME is usually defined by default as /home/<user> where <user> is the logged in user name. If not enter
export HOME=/home/<user>
in the shell or add this command to /home/<user>/.profile (or .bashrc) to make it permanent.
- <build-options> are 0 or more CMake option choices, blank separated, of the form -D <option> =<value> where <option> is one of the Gnucash Build Options for CMake. Currently the default GnuCash build includes all optional features except the Python bindings. Other options enable features like debugging information etc.
- <build-source> is either an absolute reference to the top level gnucash-4.<x> directory or a relative reference to it from the build directory, where ever that is located. For the case illustrated below, <build-source> = ../gnucash-4.<x>;
Open a shell and change directory to the directory into which you extracted the GnuCash sources (gnucash-4.x) or cloned the github repository (gnucash), i.e. the parent directory of gnucash-4.<x> or gnucash.
בניה באמצעות Cmake ו- Make
mkdir build-gnucash-4.<x> # create the build directory - Note: Named to identify the source since it is not necessarily within the source directory. cd build-gnucash-4.<x> # change into the build directory cmake -DCMAKE_INSTALL_PREFIX=$HOME/opt ../gnucash-4.<x> # As shown this will install in the opt directory in /home/<user>. make # builds the program and associated libraries make install # prefix with sudo if you do install to /usr/local or /opt as admin privileges are required.
בניה באמצעות CMake ו- Ninja
mkdir build-gnucash-4.<x> # create the build directory - Note: Named to identify the source since it is not within the source directory. cd build-gnucash-4.<x> # change into the build directory cmake -GNinja -DCMAKE_INSTALL_PREFIX=$HOME/opt ../gnucash-4.<x> # As shown this will install in the opt directory in /home/<user>. ninja # builds the program and associated libraries ninja install # prefix with sudo if you do install to /usr/local or /opt as admin privileges are required.
Both ninja and make support a number of targets supplied as an argument to the command. Some of the more useful are:
Target | Description |
---|---|
all | build all libraries and the program |
install | install the program and libraries |
install/strip | remove debugging information - useful for release |
install/local | install in /usr/local (requires admin privileges - prefix with sudo) |
check | build and run the unit tests |
clean | remove all files produced by the build (compiled object |
help | list all build targets |
הערה מידע על סוגיות בנייה עדכניות להפצות לינוקס זמין ב#סוגיות ספציפיות להפצה. |
מיקום התצור
For information on directories where configuration information for GnuCash is located for Linux, Windows and macOS follow the link in the heading.
הרצת גנוקאש
התקנה במחיצת /home/<user>/opt
על מנת להריץ את גנוקאש, יש להזין במסוף את הפקודה (נא לזכור להחליף את <user> בשם המשתמש המתאים:
/home/<user>/opt/bin/gnucash
לחילופין, ניתן להריץ את אחת מהפקודות הללו:
$HOME/opt/bin/gnucash # HOME מוגדר לרוב כמשתמנה בסביבת עבודת לינוקס.
~/opt/bin/gnucash # "~" מתרגם ל- /home/<user> במערכות לינוקס. הערה, לא ניידת בכל המערכות ולא תמיד ניתנת להרחבה
אפשר גם להגדיר כינוי לנתיב ההפעלה של גנוקאש להפחתת נטל ההקלדה, למשל:
alias gnucash="$HOME/opt/bin/gnucash"
Another alternative is to add the directory containing the GnuCash executable to the PATH environment variable. Edit "/home/<user>/.profile" with a text editor and add one of the following:
PATH=$PATH:$HOME/opt/bin # your home directory will be searched after the system directories
PATH=$HOME/opt/bin:$PATH # this will search your home directory before the system directories
Note: The right hand side in the above does not need to be quoted and "~" is not used because it may not expand correctly Another alternative is to use your system's menu editor to add a launcher for gnucash. This typically involves entering or selecting the path to the executable and providing a path to a suitable icon for display. The GnuCash icon is found at $HOME/opt/share/icons/hicolor/<nn>x<nn>/apps/gnucash-icon.png. Here <nn> is a 2 digit number giving the icon size (<nn> ={16,22,24,32,48,64,96,128,256}. There is also a scalable icon image in a scalable directory in addition to the <nn>x<nn> labelled directories.
התקנה במחיצת /usr/local
/usr/local/bin is normally included in the PATH environment variable on most Linux systems. Type
echo $PATH
You can type the following at a shell prompt to execute GnuCash
gnucash
A menu launcher can besetup using your system's menu editor. Here you will only have to enter "gnucash" and not the full path. In this case the icon can be found at /usr/local/share/icons/hicolor/<nn>x<nn>/apps/gnucash-icon.png with <nn> = {16, 22, 24, 32, 48, 64, 96, 128, 256} as above.
התקנה במחיצת /opt
In this case /opt is not normally included in the PATH environment variable. Often software installed here may be installed within a self named parent directory, e.g.
- /opt/gnucash
with subdirectories:
- /opt/gnucash/bin
- /opt/gnucash/lib
- /opt/gnucash/etc
- /opt/gnucash/share
into which the program components are stored. As described above in the $HOME/.local installation the program can be executed using the full path to the executable in a shell by typing:
/opt/gnucash/bin/gnucash
Again one can add the path to the executable to the PATH environment variable by adding:
PATH=$PATH:/opt/gnucash/bin # search system paths first then /opt/gnucash/bin
PATH=/opt/gnucash/bin:$PATH # search /opt/gnucash/bin before system paths
and then simply type gnucash
at the prompt.
You may also setup a menu launcher using the menu editing process for the executable and an add icon as described above. Here the icons will be located in /opt/gnucash/share/icons/hicolor/<nn>x<nn>/apps/gnucash-icon.png
הסרת התקנת גנוקאש
If you built GnuCash and you have retained the source directory and the build directory on your system, use the first set of instructions in Uninstall Gnucash Linux. The other sections list other methods for removing GnuCash depending upon how it was originally installed.
סוגיות בהפצות מסויימות
אובונטו
פוקל פוסה 20.04 LTS
The version of gnucash in this Ubuntu release's universe repository is 3.8, so the "apt-get build-dep gnucash" pulls in build dependencies for this gnucash 3.8 release. If you are installing gnucash 4.2, you need to install an extra build dependency otherwise you'll get this error during the build:Could not find a package configuration file provided by "boost_program_options" (requested version 1.71.0) with any of the following names:
boost_program_optionsConfig.cmake
boost_program_options-config.cmake
apt-get install libboost-program-options1.71-dev
ביוניק ביבר 18.04
In Oct 2018 Issues with building GnuCash v3.2/3.3 on Ubuntu 18.04 associated with a bug in the libwebkit2gtk-4.0-37 version. At the time the fix was downgrading the version of libwebkit to an earlier version as follows:sudo apt install libwebkit2gtk-4.0-dev=2.20.1-1 libwebkit2gtk-4.0-37=2.20.1-1 gir1.2-webkit2-4.0=2.20.1-1 libjavascriptcoregtk-4.0-dev=2.20.1-1 gir1.2-javascriptcoregtk-4.0=2.20.1-1 libjavascriptcoregtk-4.0-18=2.20.1-1