| |
@@ -446,7 +446,6 @@
|
| |
# For each solvable object generated from input module, run the solver.
|
| |
# For reasons why there might be multiple solvable objects, please read the
|
| |
# `add_modules(...)` inline comments.
|
| |
- solver = self.pool.Solver()
|
| |
alternatives = collections.OrderedDict()
|
| |
for src in solvables:
|
| |
# Create the solv Job to represent the solving task.
|
| |
@@ -526,6 +525,7 @@
|
| |
for j in jobs:
|
| |
log.debug(" - %s", j)
|
| |
# Solve the deps and log the dependency issues.
|
| |
+ solver = self.pool.Solver()
|
| |
problems = solver.solve(jobs)
|
| |
if problems:
|
| |
problem_str = self._detect_transitive_stream_collision(problems)
|
| |
For so far unknown reason (reported upstream), the new libsolv-0.7.4
needs new Solver instance for each
solver.solve()
call, otherwisethe previous
solve()
call influences the previoussolve()
call.It is not clear for now whether we used the API correctly and the
new libsolv contains a regression, or whether we used the API wrong
and it worked by accident. In both cases, this should be safer way
of running solver.