You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/build_from_source.md
+22-7
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,23 @@ Infinity can only be compiled natively on Linux. If your operating system is not
14
14
15
15
## Prerequisites
16
16
17
-
A RAM of 16GB is advised to properly build the project. If your machine does not have that much memory capacity, ensure that there is a minimum of 6GB of RAM and limit the number of ninja parallel compilation jobs to one:
17
+
Build the whole project, especially the link stage, requires much RAM. The host may become unresponsive due to the very slow kernel oom killer. To lessen the chances of it happening, it is recommended to install [earlyoom](https://github.com/rfjakob/earlyoom). Furthermore, you need to tell cmake to limit the concurrent link process:
The `CMAKE_BUILD_TYPE` (cmake build type) can be one of:
28
+
29
+
-`Debug`: no inline, with symbol info, with address sanitize, normally ~10x slower than `RelWithDebInfo` and `Release`. This aims daily development.
30
+
-`RelWithDebInfo`: optimize with `-O2`, with symbol info. This aims performance analysis.
31
+
-`Release`: optimize with `-O3`, without symbol info. The built one executables are much smaller than `RelWithDebInfo`. This aims [project releases](https://github.com/infiniflow/infinity/releases).
32
+
33
+
Following procedures use `Debug`. Change it as you need.
0 commit comments