Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 858755 - games-fps/quakeforge-0.7.2_p20210722 fails to compile with -flto
Summary: games-fps/quakeforge-0.7.2_p20210722 fails to compile with -flto
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: lto
  Show dependency tree
 
Reported: 2022-07-18 06:58 UTC by Agostino Sarubbo
Modified: 2022-07-19 01:01 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,607.07 KB, text/plain)
2022-07-18 06:58 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2022-07-18 06:58:12 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: games-fps/quakeforge-0.7.2_p20210722 fails to compile with -fno-common.
Discovered on: amd64 (internal ref: lto_tinderbox)

NOTE:
This machine uses lto with CFLAGS=-flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing
To reproduce this issue you may want to set CFLAGS="${CFLAGS} -fno-common" or compile it with gcc-10 that enables -fno-common by default.
Comment 1 Agostino Sarubbo gentoo-dev 2022-07-18 06:58:14 UTC
Created attachment 792128 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2022-07-18 06:58:17 UTC
Error(s) that match a know pattern:


(.text+0x0): multiple definition of `R_CullBox'; libs/ui/.libs/inputline.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `R_CullBox'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `R_CullSphere'; libs/ui/.libs/inputline.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `R_CullSphere'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `VectorNormalize'; libs/ui/.libs/inputline.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `VectorNormalize'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `crossf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `dotf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `loadvec3f'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `magnitude3f'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `magnitudef'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `normalf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `qconjf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `qexpf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `qmulf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `qrotf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `qvmulf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `storevec3f'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `vabsf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `vceilf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `vfloorf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `vqmulf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `vsqrtf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
(.text+0x0): multiple definition of `vtruncf'; libs/util/.libs/cexpr-type.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
Comment 3 Larry the Git Cow gentoo-dev 2022-07-19 01:01:39 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18074a63bbe978e0aea255e395287188fd16432e

commit 18074a63bbe978e0aea255e395287188fd16432e
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2022-07-19 00:53:47 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2022-07-19 01:00:41 +0000

    games-fps/quakeforge: filter-lto
    
    This is already all sort of fragile and tempting to last-rite,
    probably not worth trying to figure lto out.
    
    Closes: https://bugs.gentoo.org/858755
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 games-fps/quakeforge/quakeforge-0.7.2_p20210722.ebuild | 6 ++++--
 games-fps/quakeforge/quakeforge-9999.ebuild            | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)