GNU Radio plugin issue with conda

Hi

I need to get gnu radio plugins on the windows and following following conda recipe guidelines.

I am facing problem with conda-build command with following errors showing packages are incopatible. Could you help me understand what package combination I should update in meta.yaml or if it has to do with something else ?

(env_limsdr) C:\Work\LimSDR_Proj\LimeSuiteNG-develop\LimeSuiteNG\plugins\gr-limesuiteng>conda-build .conda\recipe\ -m .conda\build_config.yaml
WARNING: No numpy version specified in conda_build_config.yaml.  Falling back to default numpy value of 1.26
Adding in variants from internal_defaults
Adding in variants from C:\Work\LimSDR_Proj\LimeSuiteNG-develop\LimeSuiteNG\plugins\gr-limesuiteng\.conda\recipe\conda_build_config.yaml
Adding in variants from C:\Work\LimSDR_Proj\LimeSuiteNG-develop\LimeSuiteNG\plugins\gr-limesuiteng\.conda\build_config.yaml
WARNING: Number of parsed outputs does not match detected raw metadata blocks. Identified output block may be wrong! If you are using Jinja conditionals to include or exclude outputs, consider using `skip: true  # [condition]` instead.
Attempting to finalize metadata for gnuradio-limesuiteng
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... done
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... failed
WARNING: failed to get package records, retrying.  exception was: Unsatisfiable dependencies for platform win-64: {MatchSpec("boost=1.84")}
Encountered problems while solving:
  - unsupported request
  - unsupported request
  - unsupported request
  - unsupported request

Could not solve for environment specs
The following packages are incompatible
β”œβ”€ boost =1.84 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ gnuradio-core =3.10.11.0 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ limesuiteng =* * does not exist (perhaps a typo or a missing channel);
└─ volk =3.1.2 * does not exist (perhaps a typo or a missing channel).
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... failed
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... failed
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... failed
ERROR: Failed to get package records, max retries exceeded.

Leaving build/test directories:
  Work:
 C:\Users\VishalPooja\radioconda\envs\env_limsdr\conda-bld\work
  Test:
 C:\Users\VishalPooja\radioconda\envs\env_limsdr\conda-bld\test_tmp
Leaving build/test environments:
  Test:
source activate  C:\Users\VishalPooja\radioconda\envs\env_limsdr\conda-bld\_test_env
  Build:
source activate  C:\Users\VishalPooja\radioconda\envs\env_limsdr\conda-bld\_build_env


Traceback (most recent call last):
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 895, in get_install_actions
    _actions = _install_actions(prefix, index, specs, subdir=subdir)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 1298, in install_actions
    txn = solver.solve_for_transaction(prune=False, ignore_pinned=False)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 156, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(
                               ~~~~~~~~~~~~~~~~~~~^
        update_modifier,
        ^^^^^^^^^^^^^^^^
    ...<5 lines>...
        should_retry_solve,
   )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 225, in solve_for_diff
    final_precs = self.solve_final_state(
        update_modifier,
    ...<4 lines>...
        should_retry_solve,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 181, in solve_final_state
    out_state = self._solving_loop(in_state, out_state, index)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\common\io.py", line 85, in decorated
    return f(*args, **kwds)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 308, in _solving_loop
    solved, outcome = self._solve_attempt(in_state, out_state, index, attempt=attempt)
                      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 365, in _solve_attempt
    new_conflicts = self._maybe_raise_for_problems(outcome, index, out_state, old_conflicts)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 773, in _maybe_raise_for_problems
    self._maybe_raise_for_conda_build(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        {**parsed_problems["conflicts"], **parsed_problems["not_found"]},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        message=self._prepare_problems_message(unsolvable, index.db, out_state),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 863, in _maybe_raise_for_conda_build
    raise exc
conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {MatchSpec("boost=1.84"}
Encountered problems while solving:
  - unsupported request
  - unsupported request
  - unsupported request
  - unsupported request

Could not solve for environment specs
The following packages are incompatible
β”œβ”€ boost =1.84 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ gnuradio-core =3.10.11.0 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ limesuiteng =* * does not exist (perhaps a typo or a missing channel);
└─ volk =3.1.2 * does not exist (perhaps a typo or a missing channel).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 895, in get_install_actions
    _actions = _install_actions(prefix, index, specs, subdir=subdir)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 1298, in install_actions
    txn = solver.solve_for_transaction(prune=False, ignore_pinned=False)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 156, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(
                               ~~~~~~~~~~~~~~~~~~~^
        update_modifier,
        ^^^^^^^^^^^^^^^^
    ...<5 lines>...
        should_retry_solve,
        ^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 225, in solve_for_diff
    final_precs = self.solve_final_state(
        update_modifier,
    ...<4 lines>...
        should_retry_solve,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 181, in solve_final_state
    out_state = self._solving_loop(in_state, out_state, index)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\common\io.py", line 85, in decorated
    return f(*args, **kwds)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 308, in _solving_loop
    solved, outcome = self._solve_attempt(in_state, out_state, index, attempt=attempt)
                      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 365, in _solve_attempt
    new_conflicts = self._maybe_raise_for_problems(outcome, index, out_state, old_conflicts)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 773, in _maybe_raise_for_problems
    self._maybe_raise_for_conda_build(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        {**parsed_problems["conflicts"], **parsed_problems["not_found"]},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        message=self._prepare_problems_message(unsolvable, index.db, out_state),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 863, in _maybe_raise_for_conda_build
    raise exc
conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {MatchSpec("boost=1.84"}
Encountered problems while solving:
  - unsupported request
  - unsupported request
  - unsupported request
  - unsupported request

Could not solve for environment specs
The following packages are incompatible
β”œβ”€ boost =1.84 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ gnuradio-core =3.10.11.0 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ limesuiteng =* * does not exist (perhaps a typo or a missing channel);
└─ volk =3.1.2 * does not exist (perhaps a typo or a missing channel).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 895, in get_install_actions
    _actions = _install_actions(prefix, index, specs, subdir=subdir)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 1298, in install_actions
    txn = solver.solve_for_transaction(prune=False, ignore_pinned=False)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 156, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(
                               ~~~~~~~~~~~~~~~~~~~^
        update_modifier,
        ^^^^^^^^^^^^^^^^
    ...<5 lines>...
        should_retry_solve,
        ^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 225, in solve_for_diff
    final_precs = self.solve_final_state(
        update_modifier,
    ...<4 lines>...
        should_retry_solve,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 181, in solve_final_state
    out_state = self._solving_loop(in_state, out_state, index)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\common\io.py", line 85, in decorated
    return f(*args, **kwds)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 308, in _solving_loop
    solved, outcome = self._solve_attempt(in_state, out_state, index, attempt=attempt)
                      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 365, in _solve_attempt
    new_conflicts = self._maybe_raise_for_problems(outcome, index, out_state, old_conflicts)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 773, in _maybe_raise_for_problems
    self._maybe_raise_for_conda_build(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        {**parsed_problems["conflicts"], **parsed_problems["not_found"]},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        message=self._prepare_problems_message(unsolvable, index.db, out_state),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 863, in _maybe_raise_for_conda_build
    raise exc
conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {MatchSpec("boost=1.84"}
Encountered problems while solving:
  - unsupported request
  - unsupported request
  - unsupported request
  - unsupported request

Could not solve for environment specs
The following packages are incompatible
β”œβ”€ boost =1.84 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ gnuradio-core =3.10.11.0 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ limesuiteng =* * does not exist (perhaps a typo or a missing channel);
└─ volk =3.1.2 * does not exist (perhaps a typo or a missing channel).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Scripts\conda-build-script.py", line 10, in <module>
    sys.exit(execute())
             ~~~~~~~^^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\cli\main_build.py", line 622, in execute
    api.build(
    ~~~~~~~~~^
        parsed.recipe,
        ^^^^^^^^^^^^^^
    ...<8 lines>...
        cache_dir=parsed.cache_dir,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\api.py", line 211, in build
    return build_tree(
        recipes,
    ...<7 lines>...
        variants=variants,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\build.py", line 3669, in build_tree
    packages_from_this = build(
        metadata,
    ...<5 lines>...
        notest=notest,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\build.py", line 2350, in build
    output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)])
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\render.py", line 1000, in expand_outputs
    for output_dict, m in deepcopy(_m).get_output_metadata_set(
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        permit_unsatisfiable_variants=False
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ):
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\metadata.py", line 2781, in get_output_metadata_set
    conda_packages = finalize_outputs_pass(
        ref_metadata,
    ...<3 lines>...
        bypass_env_check=bypass_env_check,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\metadata.py", line 1077, in finalize_outputs_pass
    fm = finalize_metadata(
        om,
        parent_metadata=parent_metadata,
        permit_unsatisfiable_variants=permit_unsatisfiable_variants,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\render.py", line 722, in finalize_metadata
    build_unsat, host_unsat = add_upstream_pins(
                              ~~~~~~~~~~~~~~~~~^
        m, permit_unsatisfiable_variants, exclude_pattern, extra_specs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\render.py", line 507, in add_upstream_pins
    host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(
                                                       ~~~~~~~~~~~~~~~~~~~~~~~~^
        m, "host", permit_unsatisfiable_variants, exclude_pattern, extra_specs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\render.py", line 453, in _read_upstream_pin_files
    deps, precs, unsat = get_env_dependencies(
                         ~~~~~~~~~~~~~~~~~~~~^
        m,
        ^^
    ...<4 lines>...
        extra_specs=extra_specs,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\render.py", line 162, in get_env_dependencies
    precs = environ.get_package_records(
        tmpdir,
    ...<11 lines>...
        channel_urls=tuple(m.config.channel_urls),
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 944, in get_install_actions
    precs = get_package_records(
        prefix,
    ...<12 lines>...
        channel_urls=tuple(channel_urls),
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 944, in get_install_actions
    precs = get_package_records(
        prefix,
    ...<12 lines>...
        channel_urls=tuple(channel_urls),
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 944, in get_install_actions
    precs = get_package_records(
        prefix,
    ...<12 lines>...
        channel_urls=tuple(channel_urls),
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 895, in get_install_actions
    _actions = _install_actions(prefix, index, specs, subdir=subdir)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_build\environ.py", line 1298, in install_actions
    txn = solver.solve_for_transaction(prune=False, ignore_pinned=False)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 156, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(
                               ~~~~~~~~~~~~~~~~~~~^
        update_modifier,
        ^^^^^^^^^^^^^^^^
    ...<5 lines>...
        should_retry_solve,
        ^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\core\solve.py", line 225, in solve_for_diff
    final_precs = self.solve_final_state(
        update_modifier,
    ...<4 lines>...
        should_retry_solve,
    )
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 181, in solve_final_state
    out_state = self._solving_loop(in_state, out_state, index)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda\common\io.py", line 85, in decorated
    return f(*args, **kwds)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 308, in _solving_loop
    solved, outcome = self._solve_attempt(in_state, out_state, index, attempt=attempt)
                      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 365, in _solve_attempt
    new_conflicts = self._maybe_raise_for_problems(outcome, index, out_state, old_conflicts)
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 773, in _maybe_raise_for_problems
    self._maybe_raise_for_conda_build(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        {**parsed_problems["conflicts"], **parsed_problems["not_found"]},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        message=self._prepare_problems_message(unsolvable, index.db, out_state),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\env_limsdr\Lib\site-packages\conda_libmamba_solver\solver.py", line 863, in _maybe_raise_for_conda_build
    raise exc
conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {MatchSpec("boost=1.84"}
Encountered problems while solving:
  - unsupported request
  - unsupported request
  - unsupported request
  - unsupported request

Could not solve for environment specs
The following packages are incompatible
β”œβ”€ boost =1.84 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ gnuradio-core =3.10.11.0 * does not exist (perhaps a typo or a missing channel);
β”œβ”€ limesuiteng =* * does not exist (perhaps a typo or a missing channel);
└─ volk =3.1.2 * does not exist (perhaps a typo or a missing channel).

@Zack, could you have Arnoldas take a look please.

Hello,

At first glance, it seems like your package version specifications in meta.yaml file are incorrect:

Have you modified them? If so make sure that all versions of dependencies in requirements section are specified like this:

- boost =1.84

and not like this:

- boost=1.84

1 Like

This also looks like conda-build tool is unable to search and pull packages from the public channels, cannot find any packages in the local channel and is expecting the dependency to be built in the same session:

Try running the build with same command as previously, but append the -c conda-forge flag:

conda-build .conda\recipe\ -m .conda\build_config.yaml -c conda-forge

@ricardas bringing this into your radar as well. Any inputs?

I’m not familiar with conda system, so can’t advise much in this case.

GNURadio plugins setup on Windows is quite tricky, because GNURadio and the plugin, have to be built using the same: GNURadio, C++ compiler, PyBind, Python versions.
For Windows conda seems to be the only viable solution to ensure the components versioning and dependencies are satisfied.
The provided limesuiteng Conda scripts should be enough to build and install everything into right places. Everything else depends on the Conda system’s handling.

Assuming the GNURadio has been installed using CondaRadio installer:

β€œThis repository holds cross-platform installers for a collection of open source software radio packages bundled with the conda package manager,”

It mentions that the installer comes bundled with it’s own conda package manager. I suspect that can bring problems, if the Windows has it’s own conda manager installed. So you would end up with two Conda package managers that know nothing about each other and contain different configurations and packages. Perhaps that is the case?: So that when you call β€˜conda-build’ it’s unsure which of the conda systems is actually being used?

It is likely a conda environment configuration problem. I was not able to reproduce the build error even after performing a clean install of radioconda. Tested the build with the latest conda version and the build was still successful. What I would recommend is to:

  1. Do a complete re-install of the radioconda environment (make sure to remove conda cache components as installer does not do that. Google will help with cache locations).
  2. Make sure that no other conda installations exists (maybe conda was installed using Miniforge or miniconda installers in past and was not removed)

Thanks for the response.

I followed this part - It does work for most part but towards end getting some build errors -

- Build files have been written to: C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_17704240172d
[1/9] Creating directories for 'args-populate'
[1/9] No download step for 'args-populate'
[2/9] No update step for 'args-populate'
[3/9] No patch step for 'args-populate'
[5/9] No configure step for 'args-populate'
[6/9] No build step for 'args-populate'
[7/9] No install step for 'args-populate'
[8/9] No test step for 'args-populate'
[9/9] Completed 'args-populate'
-- Populating cpp-feather-ini-parser
-- Configuring done (0.2s)
-- Generating done (0.1s)
-- Build files have been written to: C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_17704240172d
ninja: error: Stat(C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_1770424017220/work/buildcondas
CMake Error at C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_1770424017220/_build_env/Library/:
  Build step for cpp-feather-ini-parser failed: 1
Call Stack (most recent call first):
  C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_1770424017220/_build_env/Library/share/cmake-4)
  C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_1770424017220/_build_env/Library/share/cmake-4)
  C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_1770424017220/_build_env/Library/share/cmake-4)
  C:/Users/VishalPooja/radioconda/envs/lim_sdr_env/conda-bld/limesuiteng_1770424017220/_build_env/Library/share/cmake-4)
  external/CMakeLists.txt:119 (fetchcontent_populate)


-- Configuring incomplete, errors occurred!

(%BUILD_PREFIX%) %SRC_DIR%\buildconda>if errorlevel 1 exit 1
Traceback (most recent call last):
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\build.py", line 2529, in build
    windows.build(
    ~~~~~~~~~~~~~^
        m, build_file, stats=build_stats, provision_only=provision_only
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\windows.py", line 402, in build
    check_call_env(
    ~~~~~~~~~~~~~~^
        cmd, cwd=m.config.work_dir, stats=stats, rewrite_stdout_env=rewrite_env
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\utils.py", line 410, in check_cav
    return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs)
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\utils.py", line 386, in _func_den
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['cmd.exe', '/d', '/c', 'conda_build.bat']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Scripts\conda-build-script.py", line 10, in <module>
    sys.exit(execute())
             ~~~~~~~^^
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\cli\main_build.py", line 622, ine
    api.build(
    ~~~~~~~~~^
        parsed.recipe,
        ^^^^^^^^^^^^^^
    ...<8 lines>...
        cache_dir=parsed.cache_dir,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\api.py", line 211, in build
    return build_tree(
        recipes,
    ...<7 lines>...
        variants=variants,
    )
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\build.py", line 3675, in build_te
    packages_from_this = build(
        metadata,
    ...<5 lines>...
        notest=notest,
    )
  File "C:\Users\VishalPooja\radioconda\envs\lim_sdr_env\Lib\site-packages\conda_build\build.py", line 2533, in build
    raise BuildScriptException(str(exc), caused_by=exc) from exc
conda_build.exceptions.BuildScriptException: Command '['cmd.exe', '/d', '/c', 'conda_build.bat']' returned non-zero exi.

I have a question - do I have to do the build from the source as per following

Or I can jump to the recipe build steps instead ?

Another problem I don;t see β€œninja” being installed when I checked conda list - above error as well highlights the same. Any suggestion to get this sorted.

Thank you!

No, the recipe and build from source are two different ways of building the software. Mixing the build steps from two different install guides will only create more confusion. I would suggest going with the Build from source on Windows method (the one you linked) as it is significantly faster to build and saves more time if a build error is encountered and re-build is required (as is the case now :slight_smile:).

To my knowledge, if ninja was truly missing in conda, you wouldn’t even be able to start the cmake configuration procedure (Unless you have a separate installation outside of conda environment, which would complicate the build even more). It would immediately throw error. As for the build it self, it looks like you encountered a build error for an external module. It looks like cmake was not able to fetch the module content from the extracted archive. I would simply suggest re-runing the entire build from the begging:

  1. Start the conda prompt (It is important to start it with Administrator privileges).
  2. Activate your environment.
  3. Enter the project root directory (LimeSuiteNG)
  4. If the build folder is present (from previous builds), delete it to remove any cached files.
  5. Run the conda_deps.bat --v 3.10.11.0 script to install all of the required build packages for LimeSuiteNG and LimeSuiteNG GNU Radio plugin. Follow the script output, it requires your input.
  6. Now close the conda prompt, re-open it again and re-activate the same conda environment. Once the environment is activated, you should see an output of script that set up the compiler environment.
  7. Create the build folder and run the cmake configuration command.
  8. Run cmake --build .
  9. Run cmake –-install .

Note: The only external component (package that is not part of the conda environment) should be the MSVC compiler, which is part of Visual Studio Build Tools package. Other build components like ninja, cmake, python and etc. must be removed from path or completely uninstalled to avoid any unexpected complications. These packages must be part of the conda environment.