Skip to content

rustbook fails to compile on Fedora 42 with all dependencies met #141012

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Borgerr opened this issue May 14, 2025 · 5 comments · Fixed by #141684
Closed

rustbook fails to compile on Fedora 42 with all dependencies met #141012

Borgerr opened this issue May 14, 2025 · 5 comments · Fixed by #141684
Labels
C-external-bug Category: issue that is caused by bugs in software beyond our control T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@Borgerr
Copy link
Contributor

Borgerr commented May 14, 2025

Summary

One dependency for building oniguruma related items are anything to do with libclang. This is currently insufficient for Fedora 42 x86 systems. C23, used by default in systems like fedora 42, currently breaks rustbook builds. (see more here) This ends up being problematic as a dependency of rustbook is mdbook-i18n-helpers, which does not compile well with this current setup.

Any previous version of mdbook-i18n-helpers, e.g. 3.6, 3.5, etc, does not compile, however, the latest activity on the head of their main branch does. Anything beyond this is speculative and should be discussed further below.

Command used

./x doc

Also mimicked by compiling strictly rustbook.

Expected behaviour

Documentation generation.

Actual behaviour

Unable to compile onigumura.

Bootstrap configuration (bootstrap.toml)

# See bootstrap.example.toml for documentation of available options
#
profile = "library"  # Includes one of the default files in src/bootstrap/defaults
change-id = 140732

Operating system

Fedora 42

HEAD

414482f

Build Log

My own build log is attached as a file ;)

build.log

@Borgerr Borgerr added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) C-bug Category: This is a bug. labels May 14, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label May 14, 2025
Borgerr added a commit to Borgerr/rust that referenced this issue May 14, 2025
@Borgerr
Copy link
Contributor Author

Borgerr commented May 14, 2025

My branch here doesn't pass tidy checks (so, shouldn't be taken seriously, unless git identifiers suddenly become accepted), but should work as a POC for this fix.

@jieyouxu
Copy link
Member

AFAICT, this is not actionable for the bootstrap team. Either we'd have to:

cc @ehuss

@jieyouxu jieyouxu added C-external-bug Category: issue that is caused by bugs in software beyond our control and removed C-bug Category: This is a bug. needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels May 14, 2025
@ehuss
Copy link
Contributor

ehuss commented May 14, 2025

Looks like @cuviper has asked for a new release: google/mdbook-i18n-helpers#267 (comment).

@cuviper
Copy link
Member

cuviper commented May 14, 2025

One dependency for building oniguruma related items are anything to do with libclang.

I don't know what clang has to do with this. The incompatible-pointer-types errors are new in GCC 15, having moved to C23 by default.

https://gcc.gnu.org/gcc-15/porting_to.html#c23-fn-decls-without-parameters

Oniguruma did fix this in 6.9.10, but onig_sys hasn't been updated in a long time (working on it here). But since the main repo is archived, I think it's better to wean ourselves anyway.

In the meantime, if you have oniguruma-devel installed, you can also get onig_sys to use that with env RUSTONIG_SYSTEM_LIBONIG=1.

(edit: I updated to the correct fix commit)

@ranger-ross
Copy link
Contributor

I ran into this today.

Another work around that does not requiring installing oniguruma-devel is setting:

export CFLAGS='-std=gnu17'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-external-bug Category: issue that is caused by bugs in software beyond our control T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants