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