Skip to content

Replace relative link with absolute URL - #2622

Open
iyanmv wants to merge 1 commit into
open-quantum-safe:mainfrom
iyanmv:fix-gen-docs
Open

iyanmv wants to merge 1 commit into
open-quantum-safe:mainfrom
iyanmv:fix-gen-docs

Conversation

@iyanmv

@iyanmv iyanmv commented Oct 9, 2026

Copy link
Copy Markdown
Member

Small change to fix a build problem when generating the docs with ninja gen_docs with recent versions of Doxygen.

  • Does this PR change the input/output behaviour of a cryptographic algorithm (i.e., does it change known answer test values)? (If so, a version bump will be required from x.y.z to x.(y+1).0.)
  • Does this PR change the list of algorithms available -- either adding, removing, or renaming? Does this PR otherwise change an API? (If so, PRs in fully supported downstream projects dependent on these, i.e., oqs-provider will also need to be ready for review and merge by the time this is merged. Also, make sure to update the list of algorithms in the continuous benchmarking files: .github/workflows/kem-bench.yml and sig-bench.yml)

Running ninja gen_docs started to fail with recent versions of Doxygen
with the following error:

Generating code for/build/liboqs-git/src/liboqs/README.md:96: error: unable to resolve reference to 'algorithms' for \ref command

There is a mention to "relative path directory" in the changelog but did
not try to understand why this doesn't work now.

Simply replacing the relative path with an absolute URL like it is done
in the rest of the document solves the issue for me.

Signed-off-by: Iyán Méndez Veiga <me@iyanmv.com>

@baentsch baentsch left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides noting CI failures, is this really the best solution for a doxygen problem? This seems to break forks and network-disconnected copies/deployments.

@iyanmv

iyanmv commented Oct 10, 2026

Copy link
Copy Markdown
Member Author

If this change breaks anything, then the README was already broken because the exact same link is used above:

The table below summarizes every algorithm family currently integrated into liboqs. For per-variant detail (including NIST level, constant-time status, formal verification, and available optimizations), see [ALGORITHMS.md](https://github.com/open-quantum-safe/liboqs/blob/main/ALGORITHMS.md); for upstream sources and advisories, see the per-algorithm pages under [docs/algorithms](https://github.com/open-quantum-safe/liboqs/tree/main/docs/algorithms).

This was just a quick fix to restore a broken pipeline compiling from the latest commit.

I can try to understand why doxygen doesn't like anymore that relative link.

@iyanmv

iyanmv commented Oct 10, 2026

Copy link
Copy Markdown
Member Author

Okay, so it seems like it is a bug in upstream that was already fixed with doxygen/doxygen@053beab

However, I would still keep this small change because I have just double checked and the current relative link is broken anyways. If you check the generated html files, that link doesn't work because docs/algorithms is not included in the output docs. So it is currently broken for both online and offline deployments.

@owaldron

Copy link
Copy Markdown
Contributor

+1 on this fix, since the relative link is a live issue on doxygen 1.18.0.

An alternative that keeps the link relative (so it works on forks, etc.) would be to add docs/algorithms as a doxygen input. That would also generate HTML pages for each algorithm, which I think is a useful feature on its own, but it's more involved and probably better as a follow-up. Problems to solve include:

  • Doxygen errors in the docs/algorithms markdown (a quick check found doxygen has several problem with these files as-is). This would need fixing in doxyfy.py's doxygen-only copy or a similar mechanism
  • An index page named algorithms that groups the algorithm pages, so the outline isn't flooded with BIKE, FrodoKEM, Kyber, etc. Doxygen resolves the relative link to this page, so README wouldn't need to change

This branch has not been deployed

No deployments
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.

3 participants