Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Chromium 60 build failure: pangocairo/freetype conflict
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
rvalles
Tux's lil' helper
Tux's lil' helper


Joined: 19 Feb 2003
Posts: 121

PostPosted: Sat Jun 17, 2017 6:30 pm    Post subject: Chromium 60 build failure: pangocairo/freetype conflict Reply with quote

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
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sat Jun 17, 2017 7:04 pm    Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict Reply with quote

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
View user's profile Send private message
rvalles
Tux's lil' helper
Tux's lil' helper


Joined: 19 Feb 2003
Posts: 121

PostPosted: Sat Jun 17, 2017 7:35 pm    Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict Reply with quote

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
View user's profile Send private message
gmt
n00b
n00b


Joined: 15 Feb 2013
Posts: 11
Location: meatspace

PostPosted: Tue Jul 11, 2017 5:47 pm    Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict Reply with quote

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
View user's profile Send private message
gmt
n00b
n00b


Joined: 15 Feb 2013
Posts: 11
Location: meatspace

PostPosted: Tue Jul 11, 2017 5:59 pm    Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict Reply with quote

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
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Jul 11, 2017 6:48 pm    Post subject: Re: Chromium 60 build failure: pangocairo/freetype conflict Reply with quote

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
View user's profile Send private message
gmt
n00b
n00b


Joined: 15 Feb 2013
Posts: 11
Location: meatspace

PostPosted: Wed Jul 12, 2017 7:13 pm    Post subject: zeroing in on this shiz Reply with quote

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
View user's profile Send private message
fkeaz
n00b
n00b


Joined: 02 Jun 2007
Posts: 3

PostPosted: Wed Jul 19, 2017 7:02 pm    Post subject: Reply with quote

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
View user's profile Send private message
crowbert
Tux's lil' helper
Tux's lil' helper


Joined: 28 Apr 2003
Posts: 140

PostPosted: Fri Jul 28, 2017 2:50 pm    Post subject: Solution! Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
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