Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 54788 - xine-lib-1_rc4 will not emerge using distcc (when gcc versions do not match)
Summary: xine-lib-1_rc4 will not emerge using distcc (when gcc versions do not match)
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Alexander Gabert (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-22 12:13 UTC by Lenny Gottesman
Modified: 2004-09-23 18:31 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The config.log file that is referenced by the failed build process (config.log,14.15 KB, text/plain)
2004-06-22 12:17 UTC, Lenny Gottesman
Details
config.log for the rc5 build failure (config-rc5.log,14.52 KB, text/plain)
2004-06-24 12:59 UTC, Lenny Gottesman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lenny Gottesman 2004-06-22 12:13:40 UTC
xine-lib-1_rc4 will not emerge using distcc.  It emerges for me when I disable distcc.  

Reproducible: Always
Steps to Reproduce:
1. emerge xine-lib

Actual Results:  
Calculating dependencies ...done!
>>> emerge (1 of 1) media-libs/xine-lib-1_rc4 to /
>>> md5 src_uri ;-) xine-lib-1-rc4.tar.gz
>>> Unpacking source...
>>> Unpacking xine-lib-1-rc4.tar.gz to /var/tmp/portage/xine-lib-1_rc4/work
 * Applying protect-CFLAGS.patch-1_rc4...                                      
                                        [ ok ]
 * Applying xine-lib-2.6.patch...                                              
                                        [ ok ]
 * Applying xine-lib-gcc34.patch...                                            
                                        [ ok ]
 * Patching ${S}/ltmain.sh...
 *   Applying portage-1.4.1.patch...
 *   Applying max_cmd_len-1.5.0.patch...
>>> Source unpacked.
x86
avi
x86
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i686-pc-linux-gnu-strip... no
checking for strip... strip
checking for style of include used by make... GNU
checking for i686-pc-linux-gnu-gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... configure: error: cannot compute suffix
of object files: cannot compile
See `config.log' for more details.

!!! ERROR: media-libs/xine-lib-1_rc4 failed.
!!! Function econf, Line 365, Exitcode 1
!!! econf failed


Expected Results:  
A successful emerge.

Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0,
2.6.6-epia)
=================================================================
System uname: 2.6.6-epia i686 VIA Nehemiah
Gentoo Base System version 1.4.16
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distcc sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apache2 apm arts avi berkdb cle266 crypt divx4linux encode gdbm gif
imlib jpeg kde libg++ libwww lirc mad mikmod motif mpeg ncurses oggvorbis opengl
pam pcmcia perl png qt quicktime readline samba sdl slang ssl svga truetype x86
xml2 xmms xv xvid zlib"



Here is 'emerge info xine-lib' for the successful emerge:
Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0,
2.6.6-epia)
=================================================================
System uname: 2.6.6-epia i686 VIA Nehemiah
Gentoo Base System version 1.4.16
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apache2 apm arts avi berkdb cle266 crypt divx4linux encode gdbm gif
imlib jpeg kde libg++ libwww lirc mad mikmod motif mpeg ncurses oggvorbis opengl
pam pcmcia perl png qt quicktime readline samba sdl slang ssl svga truetype x86
xml2 xmms xv xvid zlib"
Comment 1 Lenny Gottesman 2004-06-22 12:17:42 UTC
Created attachment 33887 [details]
The config.log file that is referenced by the failed build process
Comment 2 Lenny Gottesman 2004-06-22 12:20:08 UTC
I just thought of one more thing I could include.  This is the log from distccd on the machine that was running distccd:

distccd[22663] (dcc_check_client) connection from 192.168.0.128:35793
distccd[22663] compile from conftest.c to conftest.o
distccd[22663] (dcc_r_file_timed) 123 bytes received in 0.000155s, rate 775kB/s
distccd[22663] (dcc_collect_child) cc times: user 0.000000s, system 0.010000s, 159 minflt, 511 majflt
distccd[22663] gcc conftest.c on localhost failed
distccd[22663] job complete
Comment 3 SpanKY gentoo-dev 2004-06-23 05:38:17 UTC
not a distcc bug:
configure:2702: gcc -c -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -fno-stack-protector -mno-sse2  conftest
.c >&5
cc1: error: unrecognized option `-fno-stack-protector'
distcc[16815] ERROR: compile on 192.168.0.131/5 failed
Comment 4 Martin Holzer (RETIRED) gentoo-dev 2004-06-23 05:45:53 UTC
could you paste
emerge info from 192.168.0.131
Comment 5 SpanKY gentoo-dev 2004-06-23 05:47:24 UTC
this should be fixed in the latest flag-o-matic eclass

make sure all your boxes running distcc are up-to-date with `emerge sync`
Comment 6 Lenny Gottesman 2004-06-23 06:20:35 UTC
192.168.0.131 is running distccd under debian sarge, so it turns out there is no emerge info to be had from that machine.  ;)

Is this "flag-o-matic" a gentoo patch, or is it something upstream that I can expect APT to pick up?  Or do debian and gentoo simply not play nicely together?

Hopefully they can be convinced to work together.  0.131 is a much more powerful system than the little EPIA media center I'm putting gentoo on.  :)  

Anyhow, thanks for the quick response.
Comment 7 SpanKY gentoo-dev 2004-06-23 06:35:14 UTC
flag-o-matic is a Gentoo thing so as long as all your Gentoo boxes have done
`emerge sync` recently, you should be ok
Comment 8 Lenny Gottesman 2004-06-24 10:49:19 UTC
Did an emerge sync and tried again with distcc, and got the same error.  Is the fix you mentioned in ~x86 or something?  Because I am only using x86.  To be specific, media-libs/xine-lib-1_rc4-r1 failed.  

I see an rc5 was released today (6/24), and after attempting to compile that one with distcc, I get the same failure, so I'll go ahead and reopen this bug.

Please let me know if there is any more information I can give you.

# ACCEPT_KEYWORDS="~x86" emerge info xine-lib
Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.6-epia)
=================================================================
System uname: 2.6.6-epia i686 VIA Nehemiah
Gentoo Base System version 1.4.16
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distcc sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apache2 apm arts avi cle266 crypt divx4linux encode gdbm gif imlib jpeg kde libg++ libwww lirc mad mikmod motif mpeg mysql ncurses oggvorbis opengl pam pcmcia perl png qt quicktime readline samba sdl slang ssl svga truetype x86 xml2 xmms xv xvid zlib"



Error: 
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

!!! ERROR: media-libs/xine-lib-1_rc5 failed.
!!! Function econf, Line 365, Exitcode 1
!!! econf failed





distccd log file from 192.168.0.131:
distccd[24924] (dcc_check_client) connection from 192.168.0.128:35747
distccd[24924] compile from conftest.c to conftest.o
distccd[24924] (dcc_r_file_timed) 143 bytes received in 0.000162s, rate 862kB/s
distccd[24924] (dcc_collect_child) cc times: user 0.000000s, system 0.010000s, 159 minflt, 511 majflt
distccd[24924] gcc conftest.c on localhost failed
distccd[24924] job complete
Comment 9 SpanKY gentoo-dev 2004-06-24 12:46:40 UTC
the info that matters is what is in config.log so please post your new one
Comment 10 SpanKY gentoo-dev 2004-06-24 12:58:22 UTC
this isnt a xine-lib bug ... it's a flag-o-matic/hardened issue
Comment 11 Lenny Gottesman 2004-06-24 12:59:18 UTC
Created attachment 34081 [details]
config.log for the rc5 build failure

Here is the config.log from the failure using rc5.  Thank you for looking into
this, and of course let me know if you need more information.
Comment 12 solar (RETIRED) gentoo-dev 2004-06-24 13:25:25 UTC
I was asked to comment on this bug...

It's my understanding that *all* distcc hosts need to be running more or less the exact same version of gcc. Add support for ssp to your deb host and it will go away. I think newer deb pkgs include support for it. If they don't then talk to Steve Kemp about getting it added, as he was the guy pushing for it a while 
ago I think over at deb.

Of course as a work around you can always do MAKEOPTS="-j1" and probably will have to on any pkg that does a filter-flags -fstack-protector

Random Idea...
I'm not sure if lisa/spanky/other can do it but an ideal thing would be to have a list of distcc hosts that support gentoo aware flags and a list of the less than ideal hosts. Maybe something like so..

GENTOO_DISTCC_HOSTS="box1, box2, box3...."
UNCOOL_DISTCC_HOSTS="box33, box44, box55 ..."

Then in the flag-o-matic function we could export an enviromental variable when we are filtering said flag.. 

( [ "$FILTERING_SSP" -eq 1 ] && [ "$UNCOOL_DISTCC_HOSTS" != "" ] ) && export-only-good-hosts-and-update-makeopts
Comment 13 Lisa Seelye (RETIRED) gentoo-dev 2004-06-24 14:05:36 UTC
Solar I'm not quite sure that is doable.  The user should just have to keep the hosts in one place, /etc/distcc/hosts.
Comment 14 SpanKY gentoo-dev 2004-06-24 14:08:53 UTC
well another question here is, do we really need to append -fno-stack-protector ?
why isnt removing '-fstack-protector' from the user's CFLAGS enough ?
Comment 15 solar (RETIRED) gentoo-dev 2004-06-24 14:53:00 UTC
Re comment #14

I know it was apart of the basic design for the USE=hardened concept for 
gcc to ensure that all cases where it's filtered a gentoo gcc host would
do the right thing. The same sort of -fOPT -> -fno-OPT logic was used
for filtering PIC but that proved to be flawed on some non-x86 arches
where people have been blindy filtering PIC for all arches.

But we have to ask pappy/peter/tseng/swtaylor for the in depth details 
on why we rewrite it as such if anybody is thinking about or wanting to
change this behavior.
Comment 16 SpanKY gentoo-dev 2004-06-27 19:40:10 UTC
pappy: ideas ?
Comment 17 Alexander Gabert (RETIRED) gentoo-dev 2004-09-23 18:31:48 UTC
building multimedia apps with hardened gcc is not supported due to massive amount of assembler reworking.

either talk the upstream into making their stuff PIC aware (preferably using a configure option like --no-asm) or stop trying to compile it with hardened-gcc.

you can ask your friendly Gentoo developers to finally find a way for transparently managing the "defusal" of hardened gcc PIE and SSP for specific packages- either using an ENV variable other than CFLAGS, a gcc-config switch or something in portage.

Whatever works for you :-)

Have a nice day, WONTFIX