Package Details: mozc 2.28.4880.102-1

Git Clone URL: https://aur.archlinux.org/mozc.git (read-only, click to copy)
Package Base: mozc
Description: The Open Source edition of Google Japanese Input
Upstream URL: https://github.com/google/mozc
Licenses: custom, BSD, LGPL, Apache
Conflicts: mozc-ut
Submitter: ponsfoot
Maintainer: Nocifer
Last Packager: Nocifer
Votes: 70
Popularity: 0.98
First Submitted: 2010-08-09 04:27 (UTC)
Last Updated: 2022-10-31 12:23 (UTC)

Pinned Comments

Nocifer commented on 2022-05-29 21:53 (UTC)

Due to the recent GCC 12.1 update, if you try to update a Mozc package that was built with an older GCC version you will need to yet again delete your Bazel cache (~/.cache/bazel/... by default) in order to prevent the following error (or some such):

ERROR: /build/mozc/src/mozc-git/src/storage/louds/BUILD.bazel:167:16: Compiling storage/louds/bit_stream.cc [for host] failed: undeclared inclusion(s) in rule '//storage/louds:bit_stream':
this rule is missing dependency declarations for the following files included by 'storage/louds/bit_stream.cc':
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include/stddef.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include/stdarg.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include/stdint.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include-fixed/limits.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include-fixed/syslimits.h'
INFO: Elapsed time: 5.362s, Critical Path: 1.28s
INFO: 36 processes: 13 internal, 23 linux-sandbox.
FAILED: Build did NOT complete successfully

It's more than likely that this error can also be prevented by removing one or more specific files within Bazel's cache instead of the whole lot of it, so in the future such toolchain updates may become much less painful; but for the time being, and unless otherwise noted, be aware that an updated toolchain will always mean that you need to delete Bazel's cache and suffer a full recompilation.

Latest Comments

1 2 3 4 5 6 .. 14 Next › Last »

Nocifer commented on 2022-09-11 00:50 (UTC)

@mitori Well, considering I just built the package fine on my system in a clean chroot, I think I'm gonna have to go with "it's probably on you". The log output you posted suggests that Bazel can't find GCC, so either you've forgotten to install the base-devel group of packages (which is an implicit dependency for all AUR packages) or you've somehow messed up your build environment (e.g. your $PATH).

mitori commented on 2022-09-10 13:30 (UTC)

Auto-Configuration Error: Cannot find gcc or CC; either correct your path or set the CC environment variable
ERROR: /home/archdeck/Downloads/mozc/src/mozc-git/src/server/BUILD.bazel:48:15: //server:mozc_server depends on @local_config_cc//:cc-compiler-k8 in repository @local_config_cc which failed to fetch. no such package '@local_config_cc//': 
Auto-Configuration Error: Cannot find gcc or CC; either correct your path or set the CC environment variable
ERROR: Analysis of target '//server:mozc_server' failed; build aborted: Analysis failed

I have tried building this package with makepkg on 3 arch-based systems and it doesn't work. I wonder if it's on me because I'm doing something wrong or is the package outdated and doesn't work with the latest bazel?

Nocifer commented on 2022-05-29 21:53 (UTC)

Due to the recent GCC 12.1 update, if you try to update a Mozc package that was built with an older GCC version you will need to yet again delete your Bazel cache (~/.cache/bazel/... by default) in order to prevent the following error (or some such):

ERROR: /build/mozc/src/mozc-git/src/storage/louds/BUILD.bazel:167:16: Compiling storage/louds/bit_stream.cc [for host] failed: undeclared inclusion(s) in rule '//storage/louds:bit_stream':
this rule is missing dependency declarations for the following files included by 'storage/louds/bit_stream.cc':
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include/stddef.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include/stdarg.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include/stdint.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include-fixed/limits.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/include-fixed/syslimits.h'
INFO: Elapsed time: 5.362s, Critical Path: 1.28s
INFO: 36 processes: 13 internal, 23 linux-sandbox.
FAILED: Build did NOT complete successfully

It's more than likely that this error can also be prevented by removing one or more specific files within Bazel's cache instead of the whole lot of it, so in the future such toolchain updates may become much less painful; but for the time being, and unless otherwise noted, be aware that an updated toolchain will always mean that you need to delete Bazel's cache and suffer a full recompilation.

renatoliveira commented on 2022-02-21 20:25 (UTC)

Cool, that really helped with the problem. I also had to delete the cache from pacman though. Then it worked.

Many thanks. :)

Nocifer commented on 2022-02-21 10:28 (UTC)

These errors are because the recently updated GCC 11.2 toolchain has some internal changes that make cached files from previous builds with older GCC versions no longer valid. Just delete your Bazel cache folder and it should work.

renatoliveira commented on 2022-02-21 10:21 (UTC)

Build fails during installation for me with the following error:

/home/renny/.cache/yay/mozc/src/mozc-git/src/dictionary/file/BUILD.bazel:131:16: Compiling dictionary/file/codec_factory.cc [for host] failed: undeclared inclusion(s) in rule '//dictionary/file:codec_factory':
this rule is missing dependency declarations for the following files included by 'dictionary/file/codec_factory.cc':
  '/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include/stdint.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include-fixed/limits.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include-fixed/syslimits.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include/stddef.h'
  '/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include/stdarg.h'
INFO: Elapsed time: 12.803s, Critical Path: 4.26s
INFO: 9 processes: 9 internal.
FAILED: Build did NOT complete successfully
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: mozc

I'm guessing some file directive could be edited to add the dependency declarations it is missing, but I'm not really a C or C++ expert, so I don't know what to do in this case: if it is an issue with the PKGBUILD or with the program's build script. If it is the later then I'm guessing it would be better to open an issue on GitHub instead? :)

Nocifer commented on 2021-11-02 10:57 (UTC) (edited on 2021-11-02 12:42 (UTC) by Nocifer)

@ruahcra Indeed; and when we're talking about an "old commit", we're really talking about a 3-year old version which still depends on deprecated stuff like gtk2 and python2 and a deprecated build procedure/system (for better or worse, upstream has switched out Ninja for Bazel since a few months ago).

Also, yeah, Mozc only releases new versions by commit (internally they're tagged as such and the version is incremented with almost each new commit, but there are no explicitly tagged releases) so it's up to the maintainer to keep up and update the package accordingly, just like with any other package really.

Regarding the UT dictionary, Mozc is the open source version of Google Japanese Input, which is a top-quality Japanese IME (along the lines of Google Keyboard et al). But Mozc being open source unfortunately means that it doesn't come with the extensive dictionaries/definitions that actually make Google Japanese Input what it is, because Google has chosen to keep them as closed source (possibly to hold an advantage over its competition). So what the UT dictionary does is bring the open source Mozc (closer) to the quality of its closed source cousin by patching the bundled dictionaries and expanding them.

There are some people that for whatever reason do not seem to care for the UT dictionary (or seemingly even for plain Mozc/IBus, seeing as even this vanilla package isn't part of the official Arch repos as IMHO it should) but as I said in the previous comment, I just now realized that since in my version of the packages Mozc has been split into its own base package, ibus-mozc-ut is actually nothing more but plain old ibus-mozc - the UT part only concerns the base Mozc package. So it could be made that there is only one version each of ibus-mozc, emacs-mozc, fcitx-mozc, fcitx5-mozc etc in the AUR, and two choices for the base Mozc part: mozc and mozc-ut, both of which the individual packages would be compatible with, and so the choice would be left to the user on whether to use UT or not. This way I think everybody would be happy.

ruahcra commented on 2021-11-02 10:18 (UTC) (edited on 2021-11-02 10:21 (UTC) by ruahcra)

So both packages build from the same upstream source, but apart from the additional dictionaries they include, the only difference is that this package is stuck on a old commit, where-as ibus-mozc-ut is using a more recent commit?

Also since mozc does not tag releases then it is up to the PKGBUILD maintainer to update the package at an appropriate commit in order to keep it up to date?

In that case I hope you are successful in getting ownership of this package! I will be moving to ibus-mozc-ut for the time being.