Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 619602 - sys-fs/cryfs-0.9.7 : /.../format.h:2236:24: error: expected unqualified-id before numeric constant
Summary: sys-fs/cryfs-0.9.7 : /.../format.h:2236:24: error: expected unqualified-id be...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: adebeus
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-24 20:21 UTC by Toralf Förster
Modified: 2017-10-11 19:15 UTC (History)
9 users (show)

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


Attachments
emerge-info.txt (emerge-info.txt,5.70 KB, text/plain)
2017-05-24 20:21 UTC, Toralf Förster
Details
config.log.tbz2 (config.log.tbz2,4.84 KB, application/x-bzip)
2017-05-24 20:21 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,335.41 KB, text/plain)
2017-05-24 20:21 UTC, Toralf Förster
Details
environment (environment,150.96 KB, text/plain)
2017-05-24 20:21 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,31.67 KB, application/x-bzip)
2017-05-24 20:21 UTC, Toralf Förster
Details
sys-fs:cryfs-0.9.7:20170524-201611.log (sys-fs:cryfs-0.9.7:20170524-201611.log,60.67 KB, text/plain)
2017-05-24 20:21 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,38.27 KB, application/x-bzip)
2017-05-24 20:21 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
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(-)