Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 779877 - app-i18n/mozc-2.26.4220* fails to build with >=dev-cpp/abseil-cpp-20210324
Summary: app-i18n/mozc-2.26.4220* fails to build with >=dev-cpp/abseil-cpp-20210324
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Arfrever Frehtes Taifersar Arahesis
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-03 12:35 UTC by ncaq
Modified: 2022-05-08 01:18 UTC (History)
7 users (show)

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


Attachments
emerge --info (emerge-info.txt,20.02 KB, text/plain)
2021-04-03 12:38 UTC, ncaq
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ncaq 2021-04-03 12:35:52 UTC
I can not emerge mozc when upgrade system.

I downgrade dev-cpp/abseil-cpp from 20210324.0 to 20200923.2 and I can emerge mozc.

Reproducible: Always

Steps to Reproduce:
1. sudo emerge --oneshot '=dev-cpp/abseil-cpp-20210324.0' '=app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429'

Actual Results:  
[444/524] /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -pthread -o gen_emoticon_rewriter_data_main -Wl,--start-group obj.host/rewriter/gen_emoticon_rewriter_data_main.gen_emoticon_rewriter_data.o obj.host/base/libbase.a obj.host/data_manager/libserialized_dictionary.a obj.host/base/libbase_core.a obj.host/base/libclock.a obj.host/base/libsingleton.a obj.host/base/libmutex.a obj.host/base/libflags.a obj.host/base/libhash.a obj.host/base/libserialized_string_array.a -Wl,--end-group  -labsl_civil_time -labsl_time -labsl_time_zone -labsl_str_format_internal -labsl_strings -labsl_strings_internal
FAILED: gen_emoticon_rewriter_data_main 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -pthread -o gen_emoticon_rewriter_data_main -Wl,--start-group obj.host/rewriter/gen_emoticon_rewriter_data_main.gen_emoticon_rewriter_data.o obj.host/base/libbase.a obj.host/data_manager/libserialized_dictionary.a obj.host/base/libbase_core.a obj.host/base/libclock.a obj.host/base/libsingleton.a obj.host/base/libmutex.a obj.host/base/libflags.a obj.host/base/libhash.a obj.host/base/libserialized_string_array.a -Wl,--end-group  -labsl_civil_time -labsl_time -labsl_time_zone -labsl_str_format_internal -labsl_strings -labsl_strings_internal
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: obj.host/rewriter/gen_emoticon_rewriter_data_main.gen_emoticon_rewriter_data.o: in function `absl::lts_20210324::container_internal::raw_hash_set<absl::lts_20210324::container_internal::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >::drop_deletes_without_resize()':
gen_emoticon_rewriter_data.cc:(.text._ZN4absl12lts_2021032418container_internal12raw_hash_setINS1_17FlatHashMapPolicyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESt4hashIS9_ESt8equal_toIS9_ESaISt4pairIKS9_iEEE27drop_deletes_without_resizeEv[_ZN4absl12lts_2021032418container_internal12raw_hash_setINS1_17FlatHashMapPolicyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESt4hashIS9_ESt8equal_toIS9_ESaISt4pairIKS9_iEEE27drop_deletes_without_resizeEv]+0x40): undefined reference to `absl::lts_20210324::container_internal::ConvertDeletedToEmptyAndFullToDeleted(signed char*, unsigned long)'
collect2: error: ld returned 1 exit status

~~~

ompiler clang --use_1byte_cost false
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src/build_mozc.py", line 876, in <module>
    main()
  File "/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src/build_mozc.py", line 863, in main
    BuildMain(cmd_opts, cmd_args)
  File "/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src/build_mozc.py", line 608, in BuildMain
    BuildWithNinja(options, targets)
  File "/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src/build_mozc.py", line 582, in BuildWithNinja
    RunOrDie([ninja, '-j32', '-l0', '-v', '-C', build_arg, target_name])
  File "/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src/build_tools/util.py", line 98, in RunOrDie
    raise RunOrDieError('\n'.join(['',
build_tools.util.RunOrDieError: 
==========
 ERROR: ninja -j32 -l0 -v -C out_linux/Release mozc_server
==========
 * ERROR: app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429::gentoo failed (compile phase):
 *   Building failed
 * 
 * Call stack:
 *     ebuild.sh, line 125:  Called src_compile
 *   environment, line 2336:  Called die
 * The specific snippet of code:
 *       execute "${PYTHON}" build_mozc.py build -c ${BUILD_TYPE} -v "${targets[@]}" || die "Building failed";
 * 
 * If you need support, post the output of `emerge --info '=app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/temp/environment'.
 * Working directory: '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src'
 * S: '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src'

>>> Failed to emerge app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429, Log file:

>>>  '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/temp/build.log'

 * Messages for package app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429:

 * ERROR: app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429::gentoo failed (compile phase):
 *   Building failed
 * 
 * Call stack:
 *     ebuild.sh, line 125:  Called src_compile
 *   environment, line 2336:  Called die
 * The specific snippet of code:
 *       execute "${PYTHON}" build_mozc.py build -c ${BUILD_TYPE} -v "${targets[@]}" || die "Building failed";
 * 
 * If you need support, post the output of `emerge --info '=app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/temp/environment'.
 * Working directory: '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src'
 * S: '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/work/mozc-2.26.4220_p20201212102434_p20201219202429/src'
 * 
 * The following package has failed to build, install, or execute postinst:
 * 
 *  (app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429:0/0::gentoo, ebuild scheduled for merge), Log file:
 *   '/var/tmp/portage/app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429/temp/build.log'
 *

Expected Results:  
emerge is success.
Comment 1 ncaq 2021-04-03 12:38:20 UTC
Created attachment 697020 [details]
emerge --info
Comment 2 ncaq 2021-04-03 12:40:51 UTC
~/Downloads 
2021-04-03T21:40:30 ❯ equ abseil-cpp                                                
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for dev-cpp/abseil-cpp-20210324.0:
 U I
 + + cxx17 : Build with -DCMAKE_CXX_STANDARD=17 (required by some revdeps) 
 - - test  : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

~/Downloads 
2021-04-03T21:40:37 ❯ equ '=app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429'
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for app-i18n/mozc-2.26.4220_p20201212102434_p20201219202429:
 U I
 - - debug    : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 + + emacs    : Add support for GNU Emacs
 - - fcitx4   : Enable support for app-i18n/fcitx 4
 + + gui      : Install graphical user interface tool (mozc_tool) 
 + + ibus     : Enable support for app-i18n/ibus
 + - renderer : Enable native candidate window 
 - - test     : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
Comment 3 ncaq 2021-04-03 12:41:46 UTC
I tried disable ccache.
Comment 4 Arfrever Frehtes Taifersar Arahesis 2021-04-03 18:16:48 UTC
https://github.com/abseil/abseil-cpp/commit/1b465af3bf865f588251470ea0dec60851a24041 includes:

> --- absl/container/internal/raw_hash_set.cc
> +++ absl/container/internal/raw_hash_set.cc
> @@ -43,6 +43,19 @@ bool ShouldInsertBackwards(size_t hash, ctrl_t* ctrl) {
>    return (H1(hash, ctrl) ^ RandomSeed()) % 13 > 6;
>  }
>  
> +void ConvertDeletedToEmptyAndFullToDeleted(
> +    ctrl_t* ctrl, size_t capacity) {
> +  assert(ctrl[capacity] == kSentinel);
> +  assert(IsValidCapacity(capacity));
> +  for (ctrl_t* pos = ctrl; pos != ctrl + capacity + 1; pos += Group::kWidth) {
> +    Group{pos}.ConvertSpecialToEmptyAndFullToDeleted(pos);
> +  }
> +  // Copy the cloned ctrl bytes.
> +  std::memcpy(ctrl + capacity + 1, ctrl, Group::kWidth);
> +  ctrl[capacity] = kSentinel;
> +}
> +
> +
>  }  // namespace container_internal
>  ABSL_NAMESPACE_END
>  }  // namespace absl
> --- absl/container/internal/raw_hash_set.h
> +++ absl/container/internal/raw_hash_set.h
> @@ -472,17 +472,7 @@ inline bool IsValidCapacity(size_t n) { return ((n + 1) & n) == 0 && n > 0; }
>  //   DELETED -> EMPTY
>  //   EMPTY -> EMPTY
>  //   FULL -> DELETED
> -inline void ConvertDeletedToEmptyAndFullToDeleted(
> -    ctrl_t* ctrl, size_t capacity) {
> -  assert(ctrl[capacity] == kSentinel);
> -  assert(IsValidCapacity(capacity));
> -  for (ctrl_t* pos = ctrl; pos != ctrl + capacity + 1; pos += Group::kWidth) {
> -    Group{pos}.ConvertSpecialToEmptyAndFullToDeleted(pos);
> -  }
> -  // Copy the cloned ctrl bytes.
> -  std::memcpy(ctrl + capacity + 1, ctrl, Group::kWidth);
> -  ctrl[capacity] = kSentinel;
> -}
> +void ConvertDeletedToEmptyAndFullToDeleted(ctrl_t* ctrl, size_t capacity);
>  
>  // Rounds up the capacity to the next power of 2 minus 1, with a minimum of 1.
>  inline size_t NormalizeCapacity(size_t n) {


Encoded form of absl::lts_20210324::container_internal::ConvertDeletedToEmptyAndFullToDeleted(signed char*, unsigned long) is _ZN4absl12lts_2021032418container_internal37ConvertDeletedToEmptyAndFullToDeletedEPam.
This function is now defined in libabsl_raw_hash_set.so, so we should add linking against that library.


Difference between symbols in libabsl_raw_hash_set.so:
> --- abseil-cpp-20200923.2 libabsl_raw_hash_set.so
> +++ abseil-cpp-20210324.0 libabsl_raw_hash_set.so
> @@ -1,7 +1,9 @@
>  w _ITM_deregisterTMCloneTable
>  w _ITM_registerTMCloneTable
> -T absl::lts_2020_09_23::container_internal::ShouldInsertBackwards(unsigned long, signed char*)
> -u absl::lts_2020_09_23::container_internal::RandomSeed()::counter
> +T absl::lts_20210324::container_internal::ShouldInsertBackwards(unsigned long, signed char*)
> +T absl::lts_20210324::container_internal::ConvertDeletedToEmptyAndFullToDeleted(signed char*, unsigned long)
> +u absl::lts_20210324::container_internal::RandomSeed()::counter
> +U __assert_fail@GLIBC_2.2.5
>  w __cxa_finalize@GLIBC_2.2.5
>  A __gentoo_check_ldflags__
>  w __gmon_start__
Comment 5 Georgy Yakovlev archtester gentoo-dev 2021-04-03 20:01:06 UTC
I've added sublots to abseil.

Please utilize subslot dep and thanks for letting me know.

In grpc I already have subslot dep, so that one should already be fine.
Comment 6 Larry the Git Cow gentoo-dev 2021-04-05 19:06:41 UTC
The bug has been referenced in the following commit(s):

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

commit c7090a1909f414b0b391e778a20d9d31efd75bbd
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
AuthorDate: 2021-04-04 01:00:00 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2021-04-05 19:06:34 +0000

    app-i18n/mozc: 2.26.4220: Depend on =dev-cpp/abseil-cpp-20200923*.
    
    Bug: https://bugs.gentoo.org/779877
    Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Comment 7 Pavel Volkov 2022-03-16 06:08:26 UTC
Currently on my system media-libs/tg_owt depends on:
>=dev-cpp/abseil-cpp-20211102.0:=[cxx17(+)]

and app-i18n/mozc depends on:
=dev-cpp/abseil-cpp-20200923*[cxx17(+)]

which prevents me from updating mozc to 2.26 while previous version (mozc 2.23) is already gone from tree
Comment 8 Alessandro Barbieri 2022-05-08 01:18:00 UTC
Upstream moved to abseil-cpp-20210324 in version 2.26.4660.102
https://github.com/google/mozc/commit/eba0e64efc6ead4fd36a95fa18fc35b5c5b2521d