Bug 2231905 - mozc is incompatible with abseil-cpp 20230802.0 due to use of removed internals for CLI flags
Summary: mozc is incompatible with abseil-cpp 20230802.0 due to use of removed interna...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: mozc
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Akira TAGOH
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2229015 2231908
TreeView+ depends on / blocked
 
Reported: 2023-08-14 15:11 UTC by Ben Beasley
Modified: 2023-09-18 00:16 UTC (History)
5 users (show)

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:
Clone Of:
Environment:
Last Closed: 2023-09-08 13:04:44 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github google mozc issues 790 0 None open Non-public Abseil API is used for CLI parsing 2023-08-14 15:37:58 UTC
Red Hat Issue Tracker FC-941 0 None None None 2023-08-17 13:05:02 UTC

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.


Note You need to log in before you can comment on or make changes to this bug.