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
This is called a "clone" of the LinuxCNC repository.
60
60
The advantage is that this local clone supports the communication about changes you may decide to perform on the source tree.
61
61
62
-
GitHub is an infrastructure on its own and explained in depth elsewhere. Just to get you motivated if you do not know it already.offers to perform a clone for you and have that instance made publicly available.
62
+
GitHub is an infrastructure on its own and explained in depth elsewhere.
63
+
Just to get you motivated if you do not know it already.offers to perform a clone for you and have that instance made publicly available.
63
64
GitHub refers to such an additional instance of another repository as a "fork".
64
65
You can easily (and at no cost) create a fork of the LinuxCNC git repository at GitHub, and use that to track and publish your changes.
65
66
After creating your own GitHub fork of LinuxCNC, clone it to your development machine and proceed with your hacking as usual.
@@ -72,12 +73,13 @@ GitHub makes this sharing very easy: After you polish your changes and push them
That will probably fail! That doesn't make you a bad person,
@@ -87,12 +89,14 @@ Especially the section on <<Satisfying-Build-Dependencies,Satisfying Build Depen
87
89
If you are running on a realtime-capable system (such as an install from the LinuxCNC Live/Install Image,
88
90
see the <<sub:realtime,Realtime>> section below), one extra build step is needed at this time:
89
91
90
-
-----
92
+
[source,console]
93
+
----
91
94
$ sudo make setuid
92
-
-----
95
+
----
93
96
94
97
After you have successfully built LinuxCNC it is time to run the tests:
95
98
99
+
[source,console]
96
100
-----
97
101
$ source ../scripts/rip-environment
98
102
$ runtests
@@ -165,10 +169,11 @@ The `src/configure` script configures how the source code will be compiled.
165
169
It takes many optional arguments.
166
170
List all arguments to `src/configure` by running this:
167
171
168
-
-----
172
+
[source,console]
173
+
----
169
174
$ cd linuxcnc-source-dir/src
170
175
$ ./configure --help
171
-
-----
176
+
----
172
177
173
178
The most commonly used arguments are:
174
179
@@ -212,10 +217,11 @@ Building just a specific target::
212
217
If you want to build just a specific part of LinuxCNC, you can name the thing you want to build on the `make` command line.
213
218
For example, if you are working on a component named `froboz`, you can build its executable by running:
214
219
+
215
-
-----
220
+
[source,console]
221
+
----
216
222
$ cd linuxcnc-source-dir/src
217
223
$ make ../bin/froboz
218
-
-----
224
+
----
219
225
220
226
=== Building Debian Packages
221
227
@@ -249,6 +255,7 @@ that are detailed below:
249
255
250
256
Build tools have been gathered as a virtual package named `build-essential`. To install it, run:
251
257
258
+
[source,console]
252
259
----
253
260
$ sudo apt-get install build-essential
254
261
----
@@ -257,6 +264,7 @@ Once those prerequisites are met, building the Debian packages consists of two s
257
264
258
265
The first step is generating the Debian package scripts and meta-data from the git repo by running this:
259
266
267
+
[source,console]
260
268
----
261
269
$ cd linuxcnc-dev
262
270
$ ./debian/configure
@@ -274,6 +282,7 @@ to minimize latencies.
274
282
275
283
Once the Debian package scripts and meta-data are configured, build the package by running `dpkg-buildpackage`:
276
284
285
+
[source,console]
277
286
----
278
287
$ dpkg-buildpackage -b -uc
279
288
----
@@ -338,6 +347,7 @@ You can use this meta-data to easily list the required packages missing from you
338
347
First, go to the source tree of LinuxCNC and initiate its default self-configuration,
339
348
if not already performed:
340
349
350
+
[source,console]
341
351
-----
342
352
$ cd linuxcnc-dev
343
353
$ ./debian/configure
@@ -350,6 +360,7 @@ the build-dependencies for those to-be-created packages.
350
360
The most straightforward way to get all build-dependencies installed is to just
351
361
execute (from the same directory):
352
362
363
+
[source,console]
353
364
----
354
365
sudo apt-get build-dep .
355
366
----
@@ -369,9 +380,10 @@ what's missing.
369
380
370
381
First, install the `dpkg-checkbuilddeps` program by running:
371
382
372
-
-----
383
+
[source,console]
384
+
----
373
385
$ sudo apt-get install dpkg-dev
374
-
-----
386
+
----
375
387
376
388
This generates the file `debian/control` in a user-readable yaml-format
377
389
which lists the build-dependencies close to the top.
@@ -388,9 +400,10 @@ If you are new to Linux and git version management, a clean start may be prefera
388
400
The `dpkg-checkbuilddeps` (also from the dpkg-dev package that is installed as part of the build-essential dependencies) program
389
401
can be asked to do its job (note that it needs to run from the `linuxcnc-source-dir` directory, *not* from `linuxcnc-source-dir/debian`):
390
402
391
-
-----
403
+
[source,console]
404
+
----
392
405
$ dpkg-checkbuilddeps
393
-
-----
406
+
----
394
407
395
408
It will emit a list of packages that are required to build LinuxCNC on your system but are not installed, yet.
396
409
You can now install missing build-dependencies
@@ -425,6 +438,7 @@ Set it to
425
438
You should not set this option to gain some extra confidence in your build to perform as expected unless you are running into mere technical difficulties with the test-specific software dependencies.
426
439
427
440
An environment variable can be set together with the execution of the command, e.g.
0 commit comments