Building LuxCoreRender - FAQ: Difference between revisions

From LuxCoreRender Wiki
Jump to navigation Jump to search
No edit summary
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Is it possible, in a develop & debug context, to set-up a local-only build chain? ==
== Is it possible to set-up a local-only, end-to-end, build chain? ==


Yes it is!
Yes it is, but for Linux only, at the moment, and starting with v2.11.
<p>Also, important caveat: this kind of build is solely intended for development and tests. Do not use in production</p>


Build dependencies:


Use local plain build or local CI build of LuxCoreDeps
* Step#1: Build dependencies locally


Inject local dependencies in LuxCore build:
Use [[Building_LuxCoreRender#Local_Plain_Build|local plain build]] or [[Building_LuxCoreRender#Local_Continuous_Integration | local CI build]] of LuxCoreDeps
<pre>python -m build-system.luxmake.deps --local <path/to/deps></pre>


Build a wheel for test:
 
* Step#2: Inject local dependencies in LuxCore build
<pre>python -m build-system.luxmake deps --local <path/to/deps> --release test</pre>
 
 
* Step#3: Build a testing wheel
<pre>make wheel-test</pre>
<pre>make wheel-test</pre>


Inject wheel for test in Blender:
 
Use BlendLuxHelper
 
* Step#4: Inject testing wheel in Blender:
 
Use [[Developing_and_debugging_BlendLuxCore | BlendLuxHelper]]
 
 
 
For a debugging with luxcoreui only, one can also replace steps #3 & #4 by:
 
* Step#3bis: Build luxcoreui:
<pre>make luxcoreui</pre>
 
== Can I use <code>git bisect</code>? ==
 
Yes, if you need to find a faulty commit, you can use <code>git bisect</code>.
 
In that case, please note the correct verb to build LuxCoreRender at each step is
<pre>make clear && make deps && make</pre>
 
Caveat: this method only works for version >= v2.10.0
 
Example for Linux (please adapt to other contexts):
 
<pre>
# Start git bisecting
git bisect start
 
# Define bounds
git bisect good samples-v2.10.0  # For instance
git bisect bad HEAD
 
# Build the app, test it and report status to git bisect
make clear && make deps && make  # Build at this stage
./out/install/Release/bin/luxcoreui mytestscene/render.cfg
git bisect <good|bad|skip>  # Depending on above test...
 
# Bisection loop
...
 
# At a certain point, the bisection stops and points at the faulty commit
# You can reset bisection
git bisect reset
</pre>

Latest revision as of 13:01, 14 March 2026

Is it possible to set-up a local-only, end-to-end, build chain?

Yes it is, but for Linux only, at the moment, and starting with v2.11.

Also, important caveat: this kind of build is solely intended for development and tests. Do not use in production


  • Step#1: Build dependencies locally

Use local plain build or local CI build of LuxCoreDeps


  • Step#2: Inject local dependencies in LuxCore build
python -m build-system.luxmake deps --local <path/to/deps> --release test


  • Step#3: Build a testing wheel
make wheel-test


  • Step#4: Inject testing wheel in Blender:

Use BlendLuxHelper


For a debugging with luxcoreui only, one can also replace steps #3 & #4 by:

  • Step#3bis: Build luxcoreui:
make luxcoreui

Can I use git bisect?

Yes, if you need to find a faulty commit, you can use git bisect.

In that case, please note the correct verb to build LuxCoreRender at each step is

make clear && make deps && make

Caveat: this method only works for version >= v2.10.0

Example for Linux (please adapt to other contexts):

# Start git bisecting
git bisect start

# Define bounds
git bisect good samples-v2.10.0  # For instance
git bisect bad HEAD

# Build the app, test it and report status to git bisect
make clear && make deps && make  # Build at this stage
./out/install/Release/bin/luxcoreui mytestscene/render.cfg
git bisect <good|bad|skip>  # Depending on above test...

# Bisection loop
...

# At a certain point, the bisection stops and points at the faulty commit
# You can reset bisection
git bisect reset