Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] Failing to emerge Thunderbird 60.3.0
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
krumpf
Apprentice
Apprentice


Joined: 15 Jul 2018
Posts: 175

PostPosted: Wed Nov 14, 2018 9:49 pm    Post subject: [Solved] Failing to emerge Thunderbird 60.3.0 Reply with quote

Hi, my system fails to emerge the latest Thunderbird update.

emerge -pqv thunderbird
Code:
[ebuild     U ] mail-client/thunderbird-60.3.0 [52.9.1] USE="clang%* dbus startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite -bindist -custom-cflags -custom-optimization -debug -hardened -jack% -lightning (-neon) -pulseaudio (-selinux) -wifi (-crypt%*) (-gtk2%) (-jemalloc%*) (-ldap%*) (-minimal%*) (-mozdom%) (-rust%) (-system-cairo%)" L10N="en-GB fr -ar -ast -be -bg -br -ca -cs -cy -da -de -el -es-AR -es-ES -et -eu -fi -fy -ga -gd -gl -he -hr -hsb -hu -hy -id -is -it -ja -ko -lt -nb -nl -nn -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -sq -sr -sv -tr -uk -vi -zh-CN -zh-TW (-bn-BD%) (-pa%) (-ta-LK%)"


emerge --info
Code:

Portage 2.3.51 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop, gcc-7.3.0, glibc-2.27-r6, 4.14.78-gentoo x86_64)
=================================================================
System uname: Linux-4.14.78-gentoo-x86_64-Intel-R-_Core-TM-_i5-3470_CPU_@_3.20GHz-with-gentoo-2.6
KiB Mem:    16416088 total,   2574536 free
KiB Swap:   19185660 total,  19185660 free
Timestamp of repository gentoo: Tue, 13 Nov 2018 07:30:01 +0000
Head commit of repository gentoo: 6e5071f98c2a46d2c95f8f33059c104fb8703f52
sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p5) 2.30.0
app-shells/bash:          4.4_p12::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.38.3::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r4::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.27-r6::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 24

c2p-overlay
    location: /var/lib/layman/c2p-overlay
    masters: gentoo
    priority: 50

jorgicio
    location: /var/lib/layman/jorgicio
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=ivybridge -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=ivybridge -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ http://gentoo.mirrors.ovh.net/gentoo-distfiles/ ftp://gentoo.mirrors.ovh.net/gentoo-distfiles/"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr clang cli consolekit crypt cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg flac fortran gdbm gif glamor gpm gstreamer gtk gtk3 iconv ipv6 jpeg lcms ldap libnotify libtirpc lmza mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg openal opengl openmp opus pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp spell ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vdpau vorbis wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="virtuoso hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="en-GB en-US fr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby23 ruby24" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Can't post the full build.log (it's around 7MB, too huge for pastebin), here are the last lines that look relevant
Code:
42:48.56 /usr/bin/ld.lld: error: undefined symbol: Hunspell::get_dict_encoding() const
42:48.56 >>> referenced by Unified_cpp_hunspell_glue0.cpp
42:48.56 >>>               ../../extensions/spellcheck/hunspell/glue/Unified_cpp_hunspell_glue0.o:(mozHunspell::SetDictionary(char16_t const*))
42:48.56
42:48.56 /usr/bin/ld.lld: error: undefined symbol: Hunspell::spell(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)
42:48.56 >>> referenced by Unified_cpp_hunspell_glue0.cpp
42:48.56 >>>               ../../extensions/spellcheck/hunspell/glue/Unified_cpp_hunspell_glue0.o:(mozHunspell::Check(char16_t const*, bool*))
42:48.56
42:48.56 /usr/bin/ld.lld: error: undefined symbol: Hunspell::suggest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
42:48.56 >>> referenced by Unified_cpp_hunspell_glue0.cpp
42:48.56 >>>               ../../extensions/spellcheck/hunspell/glue/Unified_cpp_hunspell_glue0.o:(mozHunspell::Suggest(char16_t const*, char16_t***, unsigned int*))
42:48.56 clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
42:48.56 gmake[4]: *** [/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/config/rules.mk:701: libxul.so] Error 1
42:48.56 gmake[4]: Leaving directory '/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/tbird/toolkit/library'
42:48.56 gmake[3]: *** [/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/config/recurse.mk:73: toolkit/library/target] Error 2
42:48.56 gmake[3]: Leaving directory '/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/tbird'
42:48.56 gmake[2]: *** [/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/config/recurse.mk:33: compile] Error 2
42:48.56 gmake[2]: Leaving directory '/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/tbird'
42:48.56 gmake[1]: *** [/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/config/rules.mk:434: default] Error 2
42:48.56 gmake[1]: Leaving directory '/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0/tbird'
42:48.56 gmake: *** [client.mk:168: build] Error 2
42:48.57 230 compiler warnings present.
 * ERROR: mail-client/thunderbird-60.3.0::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line 124:  Called src_compile
 *   environment, line 4987:  Called die
 * The specific snippet of code:
 *       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 ./mach build --verbose || die
 *
 * If you need support, post the output of `emerge --info '=mail-client/thunderbird-60.3.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=mail-client/thunderbird-60.3.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/mail-client/thunderbird-60.3.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/mail-client/thunderbird-60.3.0/temp/environment'.
 * Working directory: '/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0'
 * S: '/var/tmp/portage/mail-client/thunderbird-60.3.0/work/thunderbird-60.3.0'


Got no clue what's failing, & even less on how to fix. Dunno if it can help, but firefox 63 (which got similar dependencies) build without trouble
Thanks for help !


Last edited by krumpf on Sun Nov 18, 2018 9:37 pm; edited 1 time in total
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30897
Location: here

PostPosted: Thu Nov 15, 2018 6:43 am    Post subject: Reply with quote

Try to recompile app-text/hunspell package
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
krumpf
Apprentice
Apprentice


Joined: 15 Jul 2018
Posts: 175

PostPosted: Fri Nov 16, 2018 9:18 am    Post subject: Reply with quote

I've rebuild hunspell (made me figure I didn't have 'en' in make.conf's L10N line)
After that, I launched thunderbird compilation, and... failed again, very same error message.

I started to wonder if MAKEOPTS=-j4 could be the culprit, and thought trying with j1 only,
but today, after emerge --sync, I noticed new versions for hunspell, rust & cargo,
so gonna update those for now, then try thunderbird with -j4 again, then with -j1 if it fails.
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30897
Location: here

PostPosted: Fri Nov 16, 2018 9:54 am    Post subject: Reply with quote

I don't think that is a parallel make problem then -j4 is good
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
krumpf
Apprentice
Apprentice


Joined: 15 Jul 2018
Posts: 175

PostPosted: Fri Nov 16, 2018 4:58 pm    Post subject: Reply with quote

Dependencies upgrades (hunspell and rust, cargo was rebuilt too) are done, and yet, thunderbird fails to build :'(

Next step, guess I'll try the unstable mail-client/thunderbird-60.3.1 instead, maybe better luck
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30897
Location: here

PostPosted: Fri Nov 16, 2018 7:35 pm    Post subject: Reply with quote

You can post full build.log with wgetpaste?
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21607

PostPosted: Fri Nov 16, 2018 11:29 pm    Post subject: Reply with quote

What is the output of nm -Du /usr/lib/libhunspell.so | gawk '/ U .*string/ {print $2;}'? I suspect that your problem is an ABI mismatch: trying to use gcc to build hunspell, but clang to build thunderbird. If I'm right, you must use the same compiler for both packages.
Back to top
View user's profile Send private message
krumpf
Apprentice
Apprentice


Joined: 15 Jul 2018
Posts: 175

PostPosted: Sun Nov 18, 2018 11:14 am    Post subject: Reply with quote

Forgot I could use my gmail account to upload files ><
Here's the build.log ~7MB (edited to remove the console color codes)

@Hu, gcc is default compiler on my system, but I got USE=clang in my make.conf
Firefox, which I believe to use clang, builds with no problem
Here's the output you asked:
Code:
$ nm -Du /usr/lib/libhunspell.so | gawk '/ U .*string/ {print $2;}'
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm
_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_
_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm
_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev
_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev
_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_
_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE
_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE
_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE
_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE
_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21607

PostPosted: Sun Nov 18, 2018 5:01 pm    Post subject: Reply with quote

Your hunspell uses std::__cxx11::basic_string<template-parameters> for std::string. Your Mozilla build seeks std::__1::basic_string<template-parameters> for std::string. These are not the same, so the build fails. Fix your Mozilla build to use the __cxx11 namespace. This appears to be caused by using clang with -stdlib=libc++.
Code:
$ cat -n a.cpp
     1  #include <string>
     2  void a(std::string) {}
$ clang++ -stdlib=libc++ -O2 -c -o ac.o -std=gnu++11 a.cpp
$ clang++ -stdlib=libstdc++ -O2 -c -o ac2.o -std=gnu++11 a.cpp
$ g++-7.3.0 -O2 -c -o ag.o -std=gnu++11 a.cpp
$ nm a*.o | c++filt
ac.o:
0000000000000000 T a(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)

ac2.o:
0000000000000000 T a(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)

ag.o:
0000000000000000 T a(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
clang -stdlib=libc++ produces a different symbol, consistent with the Mozilla build and inconsistent with the rest of the system. clang -stdlib=libstd++ and gcc produce the same symbol. From this, it appears that clang's stdlib libc++ isn't standard. :)

The technical reason for the name mismatch is that clang's libc++ std::string is not ABI compatible with libstdc++ std::string, so mixing the two would cause errors at runtime. The link time error protects you from this.
Back to top
View user's profile Send private message
krumpf
Apprentice
Apprentice


Joined: 15 Jul 2018
Posts: 175

PostPosted: Sun Nov 18, 2018 9:36 pm    Post subject: Reply with quote

Nailed it !
I've rebuild clang without libcxx support, and thunderbird compilation ended without trouble


Thanks you guys, for your time & help :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming 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