View previous topic :: View next topic |
Author |
Message |
rvalles Tux's lil' helper
Joined: 19 Feb 2003 Posts: 121
|
Posted: Sat Jun 17, 2017 6:30 pm Post subject: Chromium 60 build failure: pangocairo/freetype conflict |
|
|
For a few days now, world update's been failing at Chromium 60 (~amd64) like this:
Code: |
ynamic -Wl,-O1 -Wl,--as-needed -o "./chrome" -Wl,--start-group @"./chrome.rsp" -Wl,--end-group -ldl -lrt -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -lX11 -lX11-xcb -lxcb -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lXtst -lgmodule-2.0 -lgthread-2.0 -licui18n -licuuc -licudata -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lcups -lz -lpthread -lm -lcrypt -lexpat -lfontconfig -ldbus-1 -latomic -lresolv -lgio-2.0 -lharfbuzz-icu -lharfbuzz -lpng16 -ljpeg -lwebp -lwebpdemux -lwebpmux -ldrm -lXss -lre2 -lXrandr -lpci -lavcodec -lavformat -lavutil -lopus -lasound -latk-1.0 -lminizip -lsnappy -lFLAC -lopenh264 -lgtk-3 -lgdk-3 -lcairo-gobject -lgdk_pixbuf-2.0 -lxslt -lxml2
FAILED: chrome
python "../../build/toolchain/gcc_link_wrapper.py" --output="./chrome" -- x86_64-pc-linux-gnu-g++ -pie -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed -m64 -pthread -Wl,-O1 -Wl,--gc-sections -Wl,-rpath-link=. -Wl,--disable-new-dtags -Wl,--export-dynamic -Wl,-O1 -Wl,--as-needed -o "./chrome" -Wl,--start-group @"./chrome.rsp" -Wl,--end-group -ldl -lrt -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -lX11 -lX11-xcb -lxcb -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lXtst -lgmodule-2.0 -lgthread-2.0 -licui18n -licuuc -licudata -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lcups -lz -lpthread -lm -lcrypt -lexpat -lfontconfig -ldbus-1 -latomic -lresolv -lgio-2.0 -lharfbuzz-icu -lharfbuzz -lpng16 -ljpeg -lwebp -lwebpdemux -lwebpmux -ldrm -lXss -lre2 -lXrandr -lpci -lavcodec -lavformat -lavutil -lopus -lasound -latk-1.0 -lminizip -lsnappy -lFLAC -lopenh264 -lgtk-3 -lgdk-3 -lcairo-gobject -lgdk_pixbuf-2.0 -lxslt -lxml2
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libfreetype.so.6, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../lib64/libpangocairo-1.0.so, may conflict with libfreetype.so.6
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_info+0x10b000): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_info+0x10d3c4): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1977): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1bb0): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1e19): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1e31): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1e91): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1ea9): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1fb1): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x1fc9): relocation truncated to fit: R_X86_64_32 against `.debug_info'
obj/third_party/WebKit/Source/core/css/libcss_1.a(ElementRuleCollector.o):(.debug_loc+0x2114): additional relocation overflows omitted from the output
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
* ERROR: www-client/chromium-60.0.3112.32::gentoo failed (compile phase):
* ninja -v -j8 -l0 -C out/Release chrome chromedriver chrome_sandbox failed
*
* Call stack:
* ebuild.sh, line 115: Called src_compile
* environment, line 5229: Called eninja '-C' 'out/Release' 'chrome' 'chromedriver' 'chrome_sandbox'
* environment, line 1813: Called die
* The specific snippet of code:
* "$@" || die "${nonfatal_args[@]}" "${*} failed"
|
So far I've tried disabling debugging and rebuilding freetype and pango, didn't help.
edit: disabled smileys. Why would smileys get parsed inside a code block? Sigh.
[Moderator edit: changed [quote] tags to [code] tags to preserve output layout. -Hu] |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Sat Jun 17, 2017 7:04 pm Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict |
|
|
rvalles wrote: | -pie -fPIC |
Your problem is that some static libs on your system are built without -pie/-fPIC, but the new code is built with it.
It might help to use gcc-7.1[pie], 'though that might mean to recompile your whole system, and there is no guarantee that it works after this.
Quote: | Why would smileys get parsed inside a code block? |
You didn't use a "code" block but a "quote" block |
|
Back to top |
|
|
rvalles Tux's lil' helper
Joined: 19 Feb 2003 Posts: 121
|
Posted: Sat Jun 17, 2017 7:35 pm Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict |
|
|
mv wrote: | rvalles wrote: | -pie -fPIC |
Your problem is that some static libs on your system are built without -pie/-fPIC, but the new code is built with it.
|
Sure, but what changed/when? Chromium has been somehow fine until now. This install is been kept up to date and has been through some 3 years now.
I'm using profile default/linux/amd64/13.0/systemd, and simple CFLAGS/CXXFLAGS "-O2 -march=haswell -pipe", no LDFLAGS.
It seems odd this popular port would require non-standard flags.
Quote: | You didn't use a "code" block but a "quote" block |
Nice catch. |
|
Back to top |
|
|
gmt n00b
Joined: 15 Feb 2013 Posts: 11 Location: meatspace
|
Posted: Tue Jul 11, 2017 5:47 pm Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict |
|
|
mv wrote: | rvalles wrote: | -pie -fPIC |
Your problem is that some static libs on your system are built without -pie/-fPIC, but the new code is built with it.
It might help to use gcc-7.1[pie], 'though that might mean to recompile your whole system, and there is no guarantee that it works after this.
Quote: | Why would smileys get parsed inside a code block? |
You didn't use a "code" block but a "quote" block |
May I ask, how you've made this deduction? I have the exact same disease as OP and would like to discover some sort of medicine or palliative. _________________ -gmt |
|
Back to top |
|
|
gmt n00b
Joined: 15 Feb 2013 Posts: 11 Location: meatspace
|
Posted: Tue Jul 11, 2017 5:59 pm Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict |
|
|
rvalles wrote: | For a few days now, world update's been failing at Chromium 60 (~amd64) like this:
<snip>
Code: |
<snip>
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libfreetype.so.6, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../lib64/libpangocairo-1.0.so, may conflict with libfreetype.so.6
|
|
I suspect freetype is a red herring here; if I add "freetype" to gn_system_libraries in the ebuild, that warning goes away.
(OT aside: what a silly error message... and how does it come to pass that ld is able to tell that some library "may conflict" ... but then successfully link it nevertheless? Actually maybe I know the answer, but still, what a cluster!#%!^%* gcc error reporting can be!)
I think this must be an incompatibility -- or stated strictly, a non-equivalence -- between the vendored freetype and the system freetype which gcc has decided will probably create a duplicate set of singleton "statics" due to having the same soname. Or something like that.
AFAICS the major freetype "problems" (strictly, they appear to be chromium problems pertaining to its use of freetype) that caused Google to vendor it in the first place are fixed so maybe the time is right for a system-libfreetype useflag. Anyhow obviously before I run off to save the world from vendoring I should probably get the thing to link and see if it actually works or not _________________ -gmt |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Tue Jul 11, 2017 6:48 pm Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict |
|
|
gmt wrote: | May I ask, how you've made this deduction? |
Because relocation errors mean just this: Some code prepared with pic/pie is attempted to link together with code without pic/pie. |
|
Back to top |
|
|
gmt n00b
Joined: 15 Feb 2013 Posts: 11 Location: meatspace
|
Posted: Wed Jul 12, 2017 7:13 pm Post subject: zeroing in on this shiz |
|
|
I tried a bunch of stuff that didn't work but here's what did -- can't say for sure, yet, which of these things made the difference:
- I un-applied the "notmpfs" portage.env keyword I use to move things from /var/tmp/portage on tmpfs to /var/tmp/notmpfs/portage on btrfs. The corresponding /etc/portage/env/notmpfs simply changes PORTAGE_TMPDIR. FTR I have a fairly large tmpfs (30GB) at /var/tmp/portage.
- I applied the "nodebug" portage.env keyword I use to turn off debug symbol generation. The corresponding /etc/portage/env/nodebug looks like this:
Code: | GMT_NO_DEBUG="gmt_no_debug"
FEATURES="${FEATURES} -splitdebug -compressdebug -installsources"
|
Which triggers this in /etc/portage/bashrc:
Code: | gmt_strip_gdb_flags() {
local rslt=() flag flagz=( $* )
for flag in "${flagz[@]}"; do
case "${flag}" in
-g*) continue;;
*) rslt+=("${flag}"); continue;;
esac
done
echo "${rslt[*]}"
}
if [[ ${GMT_NO_DEBUG} == gmt_no_debug ]]; then
GMT_NO_DEBUG=didit
CFLAGS="$(gmt_strip_gdb_flags "${CFLAGS}")"
CXXFLAGS="$(gmt_strip_gdb_flags "${CXXFLAGS}")"
FCFLAGS="$(gmt_strip_gdb_flags "${FCFLAGS}")"
fi
|
I turned off the custom-cflags use-flag
_________________ -gmt |
|
Back to top |
|
|
fkeaz n00b
Joined: 02 Jun 2007 Posts: 3
|
Posted: Wed Jul 19, 2017 7:02 pm Post subject: |
|
|
I got around this by rolling back gcc to pre 5.x gcc
Code: | # gcc-config -l
[1] x86_64-pc-linux-gnu-4.8.3
[2] x86_64-pc-linux-gnu-4.8.4
[3] x86_64-pc-linux-gnu-4.9.4 *
[4] x86_64-pc-linux-gnu-5.4.0 |
Code: | 1500490459: ::: completed emerge (1 of 8) www-client/chromium-59.0.3071.104 to /
|
|
|
Back to top |
|
|
crowbert Tux's lil' helper
Joined: 28 Apr 2003 Posts: 140
|
Posted: Fri Jul 28, 2017 2:50 pm Post subject: Solution! |
|
|
I have been suffering the same problem starting with chromium-60, but only on one of two systems, both new installs in the last six months or so. The problem is that on one system I had -ggdb in my CFLAGS. The ebuild for chromium modifies the flags, but doesn't strip out that option. Removing it allows chromium to build. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|