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

Bug 932670

Summary: dev-qt/qtmultimedia-5.15.13 configure script sends "g++" to distcc causing incorrect architecture object files to be returned
Product: Gentoo Linux Reporter: Ben <blc+gentoo>
Component: Current packagesAssignee: Qt Bug Alias <qt>
Status: UNCONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Ben 2024-05-24 23:16:38 UTC
During the configure phase dev-qt/qtmultimedia runs configure and fails to detect alsa despite it being on the system.  The config.log reports this:

> g++ -c -pipe -O2 -w -fPIC  -I/store/tmp/portage/dev-qt/qtmultimedia-5.15.13/wo
rk/qtmultimedia-everywhere-src-5.15.13/config.tests/alsa -I. -I/usr/lib/qt5/mksp
ecs/linux-g++ -o alsatest.o /store/tmp/portage/dev-qt/qtmultimedia-5.15.13/work/
qtmultimedia-everywhere-src-5.15.13/config.tests/alsa/alsatest.cpp
> g++ -Wl,-O1 -o alsa alsatest.o   -lasound   
> /usr/lib/gcc/i686-pc-linux-gnu/11/../../../../i686-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `alsatest.o' is incompatible with i386 output
> collect2: error: ld returned 1 exit status
> distcc[5186] ERROR: compile (null) on localhost failed
> make: *** [Makefile:67: alsa] Error 1
 => source failed verification.
test config.qtmultimedia_multimedia.libraries.alsa FAILED


Reproducible: Always

Steps to Reproduce:
1. Use distcc on qtmultimedia
2. have all dissimilar helper distccd machines in /etc/distcc/hosts .  If you have some that are the same as the host, then it may not error if it luckily hits the correct architecture helper.
3. run build
Actual Results:  
configure will send the command "g++" to the helper - If distcc hits a dissimilar architecture, g++ will end up returning an unusable object file as that's the default for that machine which may be incompatible with the machine needing help.

Expected Results:  
configure should use full tuple for the compiler invocation, in my case, i686-pc-linux-gnu-g++ instead of simply g++

Workaround is disable distcc.  I don't know if this is the only instance of using the compiler without the whole tuple, but will be trying to see what happens if I have nothing in /etc/distcc/hosts until after configure ...