Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

docs: add clear installation guide for Windows and Raspberry Pi#135

Open
Hongwei-Z wants to merge 1 commit into
open-quantum-safe:mainopen-quantum-safe/liboqs-python:mainfrom
Hongwei-Z:docs-improve-windows-rpi-installHongwei-Z/liboqs-python:docs-improve-windows-rpi-installCopy head branch name to clipboard
Open

docs: add clear installation guide for Windows and Raspberry Pi#135
Hongwei-Z wants to merge 1 commit into
open-quantum-safe:mainopen-quantum-safe/liboqs-python:mainfrom
Hongwei-Z:docs-improve-windows-rpi-installHongwei-Z/liboqs-python:docs-improve-windows-rpi-installCopy head branch name to clipboard

Conversation

@Hongwei-Z

Copy link
Copy Markdown

Motivation

While working with liboqs-python, I noticed that setting up the underlying C library (liboqs) on Windows can be quite challenging for newcomers. The current documentation leaves some room for ambiguity, and following it often leads to environment configuration issues and build errors.

After multiple rounds of trial and error, I have summarized a highly concise, beginner-friendly guide that ensures a smooth and straightforward installation on Windows.

Furthermore, as Post-Quantum Cryptography (PQC) research increasingly intersects with IoT and edge computing, many researchers need to deploy these libraries on resource-constrained hardware. To support the research community, I have also contributed an installation guide for Raspberry Pi (ARM) devices.

Key Changes

  • INSTALL-Windows.md: A streamlined, step-by-step guide to compiling the C library and setting up the Python wrapper on Windows, designed to bypass common pitfalls.
  • INSTALL-RaspberryPi.md: A hardware-specific guide tailored for researchers, detailing dependencies and build steps optimized for Raspberry Pi environments.
  • README.md: Added direct index links to these new guides in the Installation section.

I hope these additions reduce the friction for new developers and researchers adopting this excellent library. Let me know if any adjustments are needed!

@dstebila

Copy link
Copy Markdown
Member

Thanks for the contribution, @Hongwei-Z. I am thinking it might be better to fold a shortened version of this into the main README, both so that it's more prominent, and so that it doesn't need to repeat material present in the main README.

What do you think about adding the following as a subsections of "Installation -- Configure, build, and install liboqs"?


Platform-specific notes

The instructions above apply to all platforms; the notes below cover
prerequisites that are easy to miss on Windows and on Debian-based Linux
(including Raspberry Pi).

Windows. If you do not already have a C++ compiler and CMake, install the
Build Tools for Visual Studio
(scroll to "All Downloads" → "Tools for Visual Studio"). In the installer,
select the Desktop development with C++ workload, which provides the MSVC
compiler, the Windows SDK, and CMake. Then run the CMake commands from a
Developer Command Prompt for VS so the compiler is on your PATH. Remember
the -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE flag and the PATH setting for
oqs.dll described above.

Debian-based Linux (including Raspberry Pi). Install the build
prerequisites with

sudo apt update
sudo apt install -y build-essential cmake ninja-build libssl-dev git python3-pip python3-venv

After cmake --build ... --target install, run sudo ldconfig so the newly
installed shared library is found at runtime (an alternative to setting
LD_LIBRARY_PATH as described above).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.