Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 2231905

Summary: mozc is incompatible with abseil-cpp 20230802.0 due to use of removed internals for CLI flags
Product: [Fedora] Fedora Reporter: Ben Beasley <code>
Component: mozcAssignee: Akira TAGOH <tagoh>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 39CC: i18n-bugs, robinlee.sysu, tagoh, tfujiwar, yanqiyu01
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mozc-2.29.5111.102-3.fc40 mozc-2.29.5111.102-3.fc39 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-08 13:04:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2229015, 2231908    

Description Ben Beasley 2023-08-14 15:11:46 UTC
Description of problem:

I am working on updating abseil-cpp[1] to the latest LTS release, 20230802.0[2], in F40/Rawhide and, unless the timeline slips too much, in F39/Branched.

An impact check in COPR[3] shows that mozc is not compatible because it uses internal symbols from the absl::flags_internal that are no longer present in the 20230802.0[4].

Version-Release number of selected component (if applicable):

2.29.5111.102-2


How reproducible:

Steps to Reproduce:

1. fedpkg co abseil-cpp
2. cd abseil-cpp
3. git remote add music https://src.fedoraproject.org/forks/music/rpms/abseil-cpp.git
4. git fetch --all
5. git checkout music/v20230802.0
6. fedpkg --release rawhide mockbuild
7. cd ..
8. fedpkg co mozc
9. cd mozc
10. mock -r fedora-rawhide-x86_64 --clean
11. mock -r fedora-rawhide-x86_64 -i ../abseil-cpp/results_abseil-cpp/20230802.0/1.fc40/{abseil-cpp-20230802.0-1.fc40.x86_64.rpm,abseil-cpp-testing-20230802.0-1.fc40.x86_64.rpm,abseil-cpp-devel-20230802.0-1.fc40.x86_64.rpm}
12. fedpkg mockbuild --no-clean


Actual results:

[52/142] g++ -MMD -MF obj/base/base_core.init_mozc.o.d -DOS_LINUX -DMOZC_BUILD -
DCHANNEL_DEV -DENABLE_GTK_RENDERER '-DMOZC_SERVER_DIR="/usr/libexec/mozc"' '-DMO
ZC_DOCUMENT_DIR="/usr/lib/mozc/documents"' -DNDEBUG -DQT_NO_DEBUG -DMOZC_NO_LOGG
ING -DIGNORE_HELP_FLAG -DIGNORE_INVALID_FLAG -I../../third_party/abseil-cpp -I/b
uilddir/build/BUILD/mozc-2.29.5111.102 -Igen -fmessage-length=0 -fno-strict-alia
sing -funsigned-char -pipe -pthread -O2 -flto=auto -ffat-lto-objects -fexception
s -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-s
ecurity -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -spe
cs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unw
ind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno
-omit-leaf-frame-pointer -Wall -Wno-char-subscripts -Wno-sign-compare -Wno-depre
cated-declarations -Wwrite-strings -fPIC -fno-exceptions -O2 -O2 -flto=auto -ffa
t-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-s
ecurity -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -spe
cs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unw
ind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno
-omit-leaf-frame-pointer -Wno-deprecated -std=c++17  -c ../../base/init_mozc.cc 
-o obj/base/base_core.init_mozc.o
FAILED: obj/base/base_core.init_mozc.o
g++ -MMD -MF obj/base/base_core.init_mozc.o.d -DOS_LINUX -DMOZC_BUILD -DCHANNEL_
DEV -DENABLE_GTK_RENDERER '-DMOZC_SERVER_DIR="/usr/libexec/mozc"' '-DMOZC_DOCUME
NT_DIR="/usr/lib/mozc/documents"' -DNDEBUG -DQT_NO_DEBUG -DMOZC_NO_LOGGING -DIGN
ORE_HELP_FLAG -DIGNORE_INVALID_FLAG -I../../third_party/abseil-cpp -I/builddir/b
uild/BUILD/mozc-2.29.5111.102 -Igen -fmessage-length=0 -fno-strict-aliasing -fun
signed-char -pipe -pthread -O2 -flto=auto -ffat-lto-objects -fexceptions -g -gre
cord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -
Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/l
ib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-table
s -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-lea
f-frame-pointer -Wall -Wno-char-subscripts -Wno-sign-compare -Wno-deprecated-dec
larations -Wwrite-strings -fPIC -fno-exceptions -O2 -O2 -flto=auto -ffat-lto-obj
ects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -
Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/l
ib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-table
s -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-lea
f-frame-pointer -Wno-deprecated -std=c++17  -c ../../base/init_mozc.cc -o obj/ba
se/base_core.init_mozc.o
../../base/init_mozc.cc: In function ‘void mozc::{anonymous}::ParseCommandLineFl
ags(int, char**)’:
../../base/init_mozc.cc:90:29: error: ‘absl::lts_20230802::flags_internal::ArgvListAction’ has not been declared
   90 |       absl::flags_internal::ArgvListAction::kRemoveParsedArgs,
      |                             ^~~~~~~~~~~~~~


Expected results:

Build succeeds, as it does with abseil-cpp-20230125.3-2.fc39.


Additional info:

The package fcitx5-mozc is also affected; since it is a fork, whatever works here should work there.

I am happy to help with this as much as I reasonably can, including working with mozc upstream if necessary. However, it’s not immediately obvious to me how usage of these internal APIs should be replaced.

[1] https://src.fedoraproject.org/rpms/abseil-cpp/pull-request/14

[2] https://github.com/abseil/abseil-cpp/releases/tag/20230802.0

[3] https://copr.fedorainfracloud.org/coprs/music/abseil-cpp/packages/

[4] https://github.com/google/mozc/blob/f14a3f49cb56adb4386cb264133a01b32929dfb7/src/base/init_mozc.cc#L90-L94

Comment 1 Ben Beasley 2023-08-14 15:37:58 UTC
I opened a discussion with upstream at https://github.com/google/mozc/issues/790.

Comment 2 Fedora Release Engineering 2023-08-16 08:06:46 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.

Comment 3 Akira TAGOH 2023-08-17 13:14:51 UTC
Fixed in git but not yet pushed the build to koji. please feel free to build it when you are going to update packages around abseil.

Comment 4 Fedora Update System 2023-09-06 13:49:01 UTC
FEDORA-2023-48a12fa02e has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-48a12fa02e

Comment 5 Fedora Update System 2023-09-06 13:49:11 UTC
FEDORA-2023-b5fb7bba8c has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-b5fb7bba8c

Comment 6 Fedora Update System 2023-09-07 02:24:19 UTC
FEDORA-2023-b5fb7bba8c has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-b5fb7bba8c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-b5fb7bba8c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2023-09-08 13:04:44 UTC
FEDORA-2023-48a12fa02e has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2023-09-17 02:03:41 UTC
FEDORA-2023-b5fb7bba8c has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-b5fb7bba8c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-b5fb7bba8c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2023-09-18 00:16:22 UTC
FEDORA-2023-b5fb7bba8c has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.