Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 675236

Summary: www-client/firefox-60.4.0: missing dependency on dev-lang/rust in the ebuild
Product: Gentoo Linux Reporter: segmentation fault <segmentation-fault>
Component: Current packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED INVALID    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description segmentation fault 2019-01-11 22:10:44 UTC
Bear on me as I am writing this from memory - I already installed firefox-60.4.0 and there is no build.log available now. But it's very easy to reproduce:

emerge -C dev-lang/rust
emerge -1av =www-client/firefox-60.4.0

dev-lang/rust will NOT appear in the needed dependencies and the build process will stop pretty early saying that "rustc is needed" or something similar.

This is not the expected behaviour. The expected behaviour is that the ebuild will take care of the dependencies.

Writing from Windows right now, so there is no system info to post - in case you need it, please find it on my other bug reports, e.g.: https://bugs.gentoo.org/675116
Comment 1 Georgy Yakovlev archtester gentoo-dev 2019-01-11 22:43:53 UTC
Hi, 
it properly depends on virtual/rust (and cargo, which is provided by rust package) because users may have rust-bin installed.

portage does not check if you have virtual/rust's dependencies satisfied at the time of firefox build because you removed rust, not virtual/rust, and broke depgraph for rust and cargo in your example. don't do that.

portage assumes you have valid rust implementation if you have virtual/rust installed.
Comment 2 Georgy Yakovlev archtester gentoo-dev 2019-01-11 22:54:33 UTC
I was wrong about portage, it tries to make sure rust is installed


and the dependency is set in a eclass, not in ebuild

check eclass/mozconfig-v6.60.eclass in the repo.



ya@ws .../gentoo/www-client/firefox:<master> $ sudo emerge -C rust
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 dev-lang/rust
    selected: 1.31.1 
   protected: none 
     omitted: none 

All selected packages: =dev-lang/rust-1.31.1

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) dev-lang/rust-1.31.1...

 * GNU info directory index is up-to-date.

ya@ws .../gentoo/www-client/firefox:<master> $ emerge =firefox-60.4.0 -pv

These are the packages that would be merged, in order:

Calculating dependencies                           ... done!
[ebuild  N     ] dev-lang/rust-1.31.1:stable/1.31::gentoo  USE="system-llvm -clippy -debug -doc -jemalloc -libressl -rls -rustfmt -wasm" CPU_FLAGS_X86="sse2" LLVM_TARGETS="NVPTX (X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -PowerPC -Sparc -SystemZ -XCore" 0 KiB

[ebuild     UD ] www-client/firefox-60.4.0::gentoo [64.0.2::gentoo] USE="custom-cflags custom-optimization dbus hardened hwaccel screenshot startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-libvpx -bindist -clang -debug -eme-free -geckodriver (-gmp-autoupdate) -jack (-neon) -pulseaudio (-selinux) -system-sqlite -test -wifi (-lto%*)" L10N="-ach -af -an -ar -as -ast -az -bg -bn-BD -bn-IN -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-GB -en-ZA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mai -mk -ml -mr -ms -nb -nl -nn -or -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -uz -vi -xh -zh-CN -zh-TW" 262,252 KiB
Comment 3 segmentation fault 2019-01-11 23:59:32 UTC
Well, I did not have neither virtual/rust, nor dev-lang/rust at the time I wanted to upgrade. I had an old firefox version (48 I think). Strange, but anyway, I just wanted to make sure that rust was not somehow forgotten, as I did not see it being mentioned in the ebuild. Thank you very much.
Comment 4 Georgy Yakovlev archtester gentoo-dev 2019-01-12 01:12:13 UTC
np, thanks for trying to be vigilant. deps in eclasses are easy to miss, it's not obvious at a first glance.

firefox is a VERY popular package, if there was a problem we'd have dozen of bugs withing couple of hours.