Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 619602

Summary: sys-fs/cryfs-0.9.7 : /.../format.h:2236:24: error: expected unqualified-id before numeric constant
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: adebeus
Status: RESOLVED FIXED    
Severity: normal CC: asturm, b.buschinski, bjh-gentoobt, cyril.baletaud, jarausch, kinbot, klaus818, proxy-maint, zeekec
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=631196
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge-info.txt
config.log.tbz2
emerge-history.txt
environment
etc.portage.tbz2
sys-fs:cryfs-0.9.7:20170524-201611.log
temp.tbz2

Description Toralf Förster gentoo-dev 2017-05-24 20:21:29 UTC
                 from /var/tmp/portage/sys-fs/cryfs-0.9.7/work/src/cpp-utils/crypto/symmetric/ciphers.cpp:1:
/var/tmp/portage/sys-fs/cryfs-0.9.7/work/vendor/spdlog/spdlog/fmt/bundled/format.h: In member function ‘void fmt::internal::ArgFormatterBase<Impl, Char>::visit_char(int)’:
/var/tmp/portage/sys-fs/cryfs-0.9.7/work/vendor/spdlog/spdlog/fmt/bundled/format.h:2236:24: error: expected unqualified-id before numeric constant
         const unsigned CHAR_WIDTH = 1;
                        ^
make[2]: *** [src/cpp-utils/CMakeFiles/cpp-utils.dir/build.make:63: src/cpp-utils/CMakeFiles/cpp-utils.dir/crypto/symmetric/ciphers.cpp.o] Error 1

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: desktop-gcc5_20170517-212644

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-5.4.0 *

Available Python interpreters, in order of preference:
  [1]   python3.4
  [2]   python3.6 (fallback)
  [3]   python2.7 (fallback)
  [4]   pypy3 (fallback)
Available Ruby profiles:
  [1]   ruby21 (with Rubygems)
  [2]   ruby22 (with Rubygems) *
java-config:
The following VMs are available for generation-2:
Comment 1 Toralf Förster gentoo-dev 2017-05-24 20:21:31 UTC
Created attachment 474112 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2017-05-24 20:21:36 UTC
Created attachment 474114 [details]
config.log.tbz2
Comment 3 Toralf Förster gentoo-dev 2017-05-24 20:21:40 UTC
Created attachment 474116 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2017-05-24 20:21:43 UTC
Created attachment 474118 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2017-05-24 20:21:46 UTC
Created attachment 474120 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2017-05-24 20:21:49 UTC
Created attachment 474122 [details]
sys-fs:cryfs-0.9.7:20170524-201611.log
Comment 7 Toralf Förster gentoo-dev 2017-05-24 20:21:52 UTC
Created attachment 474124 [details]
temp.tbz2
Comment 8 Helmut Jarausch 2017-06-13 15:36:21 UTC
I have the same problem here.
Looking at the preprocessed files one sees that

const unsigned CHAR_WIDTH = 1;

gets expanded into

const unsigned 8 = 1;

So, some header file seems to define CHAR_WIDTH as a numeric constant.
Probably, one has to rename this variable to something which is not a macro name.

In general, it's not a good idea to use all-caps names.
Comment 9 Jerzy Kołosowski 2017-08-29 13:54:11 UTC
Fixed by update spdlog by this commit: https://github.com/cryfs/cryfs/commit/f1c6fa044f44e33c0c9e6eab78877d47ac4c87be 
I download commit as patch ( https://github.com/cryfs/cryfs/commit/f1c6fa044f44e33c0c9e6eab78877d47ac4c87be.patch ) to /etc/portage/patches/sys-fs/cryfs-0.9.7
Comment 10 Andreas Sturmlechner gentoo-dev 2017-09-17 11:46:15 UTC
It is sad that cryfs is bundling an outdated version of dev-libs/spdlog when we have 0.14.0 in tree...
Comment 11 Andreas Sturmlechner gentoo-dev 2017-10-09 19:09:11 UTC
We can't have this package continue to be broken like this. kde-plasma/plasma-vault-5.11.0 is going to depend on cryfs, and this bug will be a major blocker very soon (tomorrow).

If it can't be unbundled right now, could you at least look into packaging a current snapshot of cryfs that comes with a fixed version of spdlog?
Comment 12 Larry the Git Cow gentoo-dev 2017-10-11 19:15:25 UTC
The bug has been closed via the following commit(s):

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

commit 3f3cbd0450b9aeb2ebfc1c5719545ca70b88780c
Author:     Johannes Huber <johu@gentoo.org>
AuthorDate: 2017-10-11 18:07:03 +0000
Commit:     Johannes Huber <johu@gentoo.org>
CommitDate: 2017-10-11 19:15:13 +0000

    sys-fs/cryfs: Fix build
    
    Adds upstream patch to update internal copy of spdlog.
    
    Reported-by: Toralf Förster <toralf@gentoo.org>
    Thanks-to: Jerzy Kołosowski <jerzy@kolosowscy.pl>
    Closes: https://bugs.gentoo.org/619602
    Package-Manager: Portage-2.3.11, Repoman-2.3.3

 sys-fs/cryfs/Manifest           | 1 +
 sys-fs/cryfs/cryfs-0.9.7.ebuild | 9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)