Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 215443 - sys-fs/mdadm-2.6.4-r2 fails with both gcc-4.2.3 and gcc-4.3.0
Summary: sys-fs/mdadm-2.6.4-r2 fails with both gcc-4.2.3 and gcc-4.3.0
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-30 15:35 UTC by Duncan
Modified: 2009-09-02 12:16 UTC (History)
1 user (show)

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


Attachments
emerge --info (emerge.info,4.57 KB, text/plain)
2008-03-30 15:39 UTC, Duncan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan 2008-03-30 15:35:08 UTC
OK, this is a regression.  mdadm-2.6.4-r1 compiles fine with both gcc-4.2.3 and 4.3.0.  -r2 doesn't compile with either one, with the failure in the newly compiling mdassemble code.

Having read the bug requesting mdassemble, I've a suggestion too.  Make the mdassemble thing USE flag based as some of us either don't do mdraid until after boot or don't have an initrd/initramfs, assembling the root mdraid on the kernel command line directly, and thus don't need mdassamble, particularly when it's causing compile trouble.

I'll attach emerge --info.  Here's the errors (using gcc-4.2.3).  

In file included from /usr/include/sys/types.h:220,
                 from /usr/include/stdlib.h:320,
                 from dlink.c:6:
/usr/include/sys/select.h:112: error: conflicting types for 'select'
/usr/include/sys/select.h:112: error: previous declaration of 'select' was here
/usr/include/sys/select.h:125: error: conflicting types for 'pselect'
/usr/include/sys/select.h:125: error: previous declaration of 'pselect' was here
In file included from dlink.c:7:
/usr/include/string.h:270: error: conflicting types for 'strerror_r'
/usr/include/string.h:282: error: previous declaration of 'strerror_r' was here
In file included from /usr/include/sys/types.h:220,
                 from mdadm.h:40,
                 from util.c:30:
/usr/include/sys/select.h:112: error: conflicting types for 'select'
/usr/include/sys/select.h:112: error: previous declaration of 'select' was here
/usr/include/sys/select.h:125: error: conflicting types for 'pselect'
/usr/include/sys/select.h:125: error: previous declaration of 'pselect' was here
In file included from mdadm.h:49,
                 from util.c:30:
/usr/include/string.h:282: error: conflicting types for 'strerror_r'
/usr/include/string.h:270: error: previous declaration of 'strerror_r' was here
In file included from sha1.c:32:
/usr/include/string.h:270: error: conflicting types for 'strerror_r'
/usr/include/string.h:282: error: previous declaration of 'strerror_r' was here
In file included from /usr/include/sys/types.h:220,
                 from /usr/include/stdlib.h:320,
                 from pwgr.c:6:
/usr/include/sys/select.h:112: error: conflicting types for 'select'
/usr/include/sys/select.h:112: error: previous declaration of 'select' was here
/usr/include/sys/select.h:125: error: conflicting types for 'pselect'
/usr/include/sys/select.h:125: error: previous declaration of 'pselect' was here
make: *** [mdassemble] Error 1
make: *** Waiting for unfinished jobs....
 *
 * ERROR: sys-fs/mdadm-2.6.4-r2 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2397:  Called die
 * The specific snippet of code:
 *       emake CROSS_COMPILE=${CHOST}- CWFLAGS="-Wall" CXFLAGS="${CFLAGS}" all mdassemble || die "emake failed
Comment 1 Duncan 2008-03-30 15:39:47 UTC
Created attachment 147695 [details]
emerge --info

On the errors in the originating comment, yes, that's how they were spit out; it said the previous declaration was "here" but didn't say where "here" was.
Comment 2 Duncan 2008-03-30 15:49:06 UTC
Oops!  CFLAGS related, CFLAGS="-march=k8 -O2 -pipe" emerge -1 mdadm works (with both gcc-4.2.3 and 4.3.0).

So marking invalid.  I'll note which one it was when I figure it out, in case anyone else comes across the problem.
Comment 3 Duncan 2008-03-30 15:53:07 UTC
It was -combine.  Should have known to try removing that one first!  Sorry for the noise.

(It'd still be nice to have USE flag control over mdassemble, however.)

Duncan
Comment 4 Matt 2009-09-02 12:16:20 UTC
(In reply to comment #3)
> It was -combine.  Should have known to try removing that one first!  Sorry for
> the noise.
> 
> (It'd still be nice to have USE flag control over mdassemble, however.)
> 
> Duncan
> 

I today got a similar problem with net-fs/samba-client just in case someone uses -combine too and gets the following error:

>>> Compiling source in /var/tmp/portage/net-fs/samba-client-3.3.7/work/samba-3.3.7/source ...
In file included from /usr/include/sys/time.h:31,
                 from client/mtab.c:34:
/usr/include/sys/select.h:109: error: conflicting types for ‘select’
/usr/include/sys/select.h:109: note: previous declaration of ‘select’ was here
/usr/include/sys/select.h:121: error: conflicting types for ‘pselect’
/usr/include/sys/select.h:121: note: previous declaration of ‘pselect’ was here

thanks