Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] mesa build fails: Permission denied: 'rustfmt'
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
tkzv
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2014
Posts: 98

PostPosted: Thu Apr 17, 2025 10:03 am    Post subject: [solved] mesa build fails: Permission denied: 'rustfmt' Reply with quote

I wanted to update media-libs/mesa for the new video card (new Nvidia instead of r600 Radeon). The build keeps failing with an error like
Code:
[1750/2325] /var/tmp/portage/media-libs/mesa-25.0.4/temp/python3.12/bin/python3 ../mesa-25.0.4/src/nouveau/headers/lib_rs_gen.py --out-rs src/nouveau/headers/lib.rs src/nouveau/headers/nvh_classes_cl902d.rs src/nouveau/headers/nvh_classes_cl902d_mthd.rs src/nouveau/headers/nvh_classes_cl9039.rs src/nouveau/headers/nvh_classes_cl9039_mthd.rs src/nouveau/headers/nvh_classes_cl906f.rs src/nouveau/headers/nvh_classes_cl906f_mthd.rs src/nouveau/headers/nvh_classes_cl9097.rs src/nouveau/headers/nvh_classes_cl9097_mthd.rs src/nouveau/headers/nvh_classes_cl9097_tex.rs src/nouveau/headers/nvh_classes_cl90b5.rs src/nouveau/headers/nvh_classes_cl90b5_mthd.rs src/nouveau/headers/nvh_classes_cl90c0.rs src/nouveau/headers/nvh_classes_cl90c0_mthd.rs src/nouveau/headers/nvh_classes_cla040.rs src/nouveau/headers/nvh_classes_cla040_mthd.rs src/nouveau/headers/nvh_classes_cla0b5.rs src/nouveau/headers/nvh_classes_cla0b5_mthd.rs src/nouveau/headers/nvh_classes_cla097.rs src/nouveau/headers/nvh_classes_cla097_mthd.rs src/nouveau/headers/nvh_classes_cla097_tex.rs src/nouveau/headers/nvh_classes_cla097_sph.rs src/nouveau/headers/nvh_classes_cla140.rs src/nouveau/headers/nvh_classes_cla140_mthd.rs src/nouveau/headers/nvh_classes_cla297.rs src/nouveau/headers/nvh_classes_cla297_mthd.rs src/nouveau/headers/nvh_classes_cla297_tex.rs src/nouveau/headers/nvh_classes_clb097.rs src/nouveau/headers/nvh_classes_clb097_mthd.rs src/nouveau/headers/nvh_classes_clb097_tex.rs src/nouveau/headers/nvh_classes_clb0c0.rs src/nouveau/headers/nvh_classes_clb0c0_mthd.rs src/nouveau/headers/nvh_classes_clb0c0_qmd.rs src/nouveau/headers/nvh_classes_clb197.rs src/nouveau/headers/nvh_classes_clb197_mthd.rs src/nouveau/headers/nvh_classes_clb197_tex.rs src/nouveau/headers/nvh_classes_clb1c0.rs src/nouveau/headers/nvh_classes_clb1c0_mthd.rs src/nouveau/headers/nvh_classes_clb1c0_qmd.rs src/nouveau/headers/nvh_classes_clc097.rs src/nouveau/headers/nvh_classes_clc097_mthd.rs src/nouveau/headers/nvh_classes_clc097_tex.rs src/nouveau/headers/nvh_classes_clc1b5.rs src/nouveau/headers/nvh_classes_clc1b5_mthd.rs src/nouveau/headers/nvh_classes_cla0c0.rs src/nouveau/headers/nvh_classes_cla0c0_mthd.rs src/nouveau/headers/nvh_classes_cla0c0_qmd.rs src/nouveau/headers/nvh_classes_clc0c0.rs src/nouveau/headers/nvh_classes_clc0c0_mthd.rs src/nouveau/headers/nvh_classes_clc0c0_qmd.rs src/nouveau/headers/nvh_classes_clc397.rs src/nouveau/headers/nvh_classes_clc397_mthd.rs src/nouveau/headers/nvh_classes_clc397_tex.rs src/nouveau/headers/nvh_classes_clc3c0.rs src/nouveau/headers/nvh_classes_clc3c0_mthd.rs src/nouveau/headers/nvh_classes_clc3c0_qmd.rs src/nouveau/headers/nvh_classes_clc597.rs src/nouveau/headers/nvh_classes_clc597_mthd.rs src/nouveau/headers/nvh_classes_clc597_tex.rs src/nouveau/headers/nvh_classes_clc5c0.rs src/nouveau/headers/nvh_classes_clc5c0_mthd.rs src/nouveau/headers/nvh_classes_clc5c0_qmd.rs src/nouveau/headers/nvh_classes_clc697.rs src/nouveau/headers/nvh_classes_clc697_mthd.rs src/nouveau/headers/nvh_classes_clc697_tex.rs src/nouveau/headers/nvh_classes_clc6c0.rs src/nouveau/headers/nvh_classes_clc6c0_mthd.rs src/nouveau/headers/nvh_classes_clc6c0_qmd.rs src/nouveau/headers/nvh_classes_clc797.rs src/nouveau/headers/nvh_classes_clc797_mthd.rs src/nouveau/headers/nvh_classes_clc797_tex.rs src/nouveau/headers/nvh_classes_clc797_sph.rs src/nouveau/headers/nvh_classes_clc7c0.rs src/nouveau/headers/nvh_classes_clc7c0_mthd.rs src/nouveau/headers/nvh_classes_clc7c0_qmd.rs src/nouveau/headers/nvh_hwref_gm107_mmu.rs src/nouveau/headers/nvh_hwref_gp100_mmu.rs src/nouveau/headers/nvh_hwref_gh100_mmu.rs src/nouveau/headers/nvh_hwref_tu102_mmu.rs
FAILED: src/nouveau/headers/lib.rs
/var/tmp/portage/media-libs/mesa-25.0.4/temp/python3.12/bin/python3 ../mesa-25.0.4/src/nouveau/headers/lib_rs_gen.py --out-rs src/nouveau/headers/lib.rs src/nouveau/headers/nvh_classes_cl902d.rs src/nouveau/headers/nvh_classes_cl902d_mthd.rs src/nouveau/headers/nvh_classes_cl9039.rs src/nouveau/headers/nvh_classes_cl9039_mthd.rs src/nouveau/headers/nvh_classes_cl906f.rs src/nouveau/headers/nvh_classes_cl906f_mthd.rs src/nouveau/headers/nvh_classes_cl9097.rs src/nouveau/headers/nvh_classes_cl9097_mthd.rs src/nouveau/headers/nvh_classes_cl9097_tex.rs src/nouveau/headers/nvh_classes_cl90b5.rs src/nouveau/headers/nvh_classes_cl90b5_mthd.rs src/nouveau/headers/nvh_classes_cl90c0.rs src/nouveau/headers/nvh_classes_cl90c0_mthd.rs src/nouveau/headers/nvh_classes_cla040.rs src/nouveau/headers/nvh_classes_cla040_mthd.rs src/nouveau/headers/nvh_classes_cla0b5.rs src/nouveau/headers/nvh_classes_cla0b5_mthd.rs src/nouveau/headers/nvh_classes_cla097.rs src/nouveau/headers/nvh_classes_cla097_mthd.rs src/nouveau/headers/nvh_classes_cla097_tex.rs src/nouveau/headers/nvh_classes_cla097_sph.rs src/nouveau/headers/nvh_classes_cla140.rs src/nouveau/headers/nvh_classes_cla140_mthd.rs src/nouveau/headers/nvh_classes_cla297.rs src/nouveau/headers/nvh_classes_cla297_mthd.rs src/nouveau/headers/nvh_classes_cla297_tex.rs src/nouveau/headers/nvh_classes_clb097.rs src/nouveau/headers/nvh_classes_clb097_mthd.rs src/nouveau/headers/nvh_classes_clb097_tex.rs src/nouveau/headers/nvh_classes_clb0c0.rs src/nouveau/headers/nvh_classes_clb0c0_mthd.rs src/nouveau/headers/nvh_classes_clb0c0_qmd.rs src/nouveau/headers/nvh_classes_clb197.rs src/nouveau/headers/nvh_classes_clb197_mthd.rs src/nouveau/headers/nvh_classes_clb197_tex.rs src/nouveau/headers/nvh_classes_clb1c0.rs src/nouveau/headers/nvh_classes_clb1c0_mthd.rs src/nouveau/headers/nvh_classes_clb1c0_qmd.rs src/nouveau/headers/nvh_classes_clc097.rs src/nouveau/headers/nvh_classes_clc097_mthd.rs src/nouveau/headers/nvh_classes_clc097_tex.rs src/nouveau/headers/nvh_classes_clc1b5.rs src/nouveau/headers/nvh_classes_clc1b5_mthd.rs src/nouveau/headers/nvh_classes_cla0c0.rs src/nouveau/headers/nvh_classes_cla0c0_mthd.rs src/nouveau/headers/nvh_classes_cla0c0_qmd.rs src/nouveau/headers/nvh_classes_clc0c0.rs src/nouveau/headers/nvh_classes_clc0c0_mthd.rs src/nouveau/headers/nvh_classes_clc0c0_qmd.rs src/nouveau/headers/nvh_classes_clc397.rs src/nouveau/headers/nvh_classes_clc397_mthd.rs src/nouveau/headers/nvh_classes_clc397_tex.rs src/nouveau/headers/nvh_classes_clc3c0.rs src/nouveau/headers/nvh_classes_clc3c0_mthd.rs src/nouveau/headers/nvh_classes_clc3c0_qmd.rs src/nouveau/headers/nvh_classes_clc597.rs src/nouveau/headers/nvh_classes_clc597_mthd.rs src/nouveau/headers/nvh_classes_clc597_tex.rs src/nouveau/headers/nvh_classes_clc5c0.rs src/nouveau/headers/nvh_classes_clc5c0_mthd.rs src/nouveau/headers/nvh_classes_clc5c0_qmd.rs src/nouveau/headers/nvh_classes_clc697.rs src/nouveau/headers/nvh_classes_clc697_mthd.rs src/nouveau/headers/nvh_classes_clc697_tex.rs src/nouveau/headers/nvh_classes_clc6c0.rs src/nouveau/headers/nvh_classes_clc6c0_mthd.rs src/nouveau/headers/nvh_classes_clc6c0_qmd.rs src/nouveau/headers/nvh_classes_clc797.rs src/nouveau/headers/nvh_classes_clc797_mthd.rs src/nouveau/headers/nvh_classes_clc797_tex.rs src/nouveau/headers/nvh_classes_clc797_sph.rs src/nouveau/headers/nvh_classes_clc7c0.rs src/nouveau/headers/nvh_classes_clc7c0_mthd.rs src/nouveau/headers/nvh_classes_clc7c0_qmd.rs src/nouveau/headers/nvh_hwref_gm107_mmu.rs src/nouveau/headers/nvh_hwref_gp100_mmu.rs src/nouveau/headers/nvh_hwref_gh100_mmu.rs src/nouveau/headers/nvh_hwref_tu102_mmu.rs


Traceback (most recent call last):
  File "/var/tmp/portage/media-libs/mesa-25.0.4/work/mesa-25.0.4-abi_x86_32.x86/../mesa-25.0.4/src/nouveau/headers/lib_rs_gen.py", line 113, in main
    subprocess.run(['rustfmt', args.out_rs], check=True)
  File "/usr/lib/python3.12/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'rustfmt'


I tried several versions of Rust and media-libs/mesa, the error remains. How do I compile it?

Build log for media-libs/mesa-25.0.4 and dev-lang/rust-1.84.1-r1: https://envs.sh/3r2.log

ANSWER: rebuild dev-lang/rust with USE='rustfmt'


Last edited by tkzv on Thu Apr 17, 2025 6:16 pm; edited 1 time in total
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 2157

PostPosted: Thu Apr 17, 2025 12:27 pm    Post subject: Reply with quote

You may have a broken symlink. Try using eselect rust update to ensure the latest version is selected.
Also, look at what ls -l $(which rustfmt) says.

Edit: In addition, ensure that dev-lang/rust-1.84.1-r1 has the rustfmt USE enabled
Back to top
View user's profile Send private message
tkzv
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2014
Posts: 98

PostPosted: Thu Apr 17, 2025 6:14 pm    Post subject: Reply with quote

grknight wrote:
You may have a broken symlink. Try using eselect rust update to ensure the latest version is selected.
Also, look at what ls -l $(which rustfmt) says.

Edit: In addition, ensure that dev-lang/rust-1.84.1-r1 has the rustfmt USE enabled


Thanks a lot! rustfmt was absent, USE flag was not set, and mesa ebuilds do not check the flag presence.

After I rebuilt Rust with this flag, everything compiled.

https://bugs.gentoo.org/953963
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 55242
Location: 56N 3W

PostPosted: Thu Apr 17, 2025 7:40 pm    Post subject: Reply with quote

tkzv,

Please file a bug for
Quote:
mesa ebuilds do not check the flag presence

_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
tkzv
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2014
Posts: 98

PostPosted: Thu Apr 17, 2025 9:37 pm    Post subject: Reply with quote

NeddySeagoon wrote:
tkzv,

Please file a bug for
Quote:
mesa ebuilds do not check the flag presence


I already did: https://bugs.gentoo.org/953963

Although, it's debatable, if the use of rustfmt is required at all. They may decide to remove it instead.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum