New issue
Advanced search Search tips

Issue 769528 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 724628



Sign in to add a comment

puffin does not build with libc++

Project Member Reported by manojgupta@chromium.org, Sep 27 2017

Issue description

Puffin seems to be a new package.
Building this with libc++ fails because of a missing include.

puffin-0.0.1-r2: armv7a-cros-linux-gnueabi-clang++ -MMD -MF platform/puffin/src/libpuffin.bit_writer.o.d -DUSE_BRILLO=1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/include -Iplatform/puffin/libpuffin.gen/include -Igen/include -I/build/whirlwind/tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform2 -I/build/whirlwind/tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform -I/build/whirlwind/usr/include -Igen -Wextra -Wall -Wno-psabi -Wunused -Wno-unused-parameter -ggdb3 -fstack-protector-strong -Wformat=2 -fvisibility=internal -Wa,--noexecstack -Werror --sysroot=/build/whirlwind -DUSE_RTTI_FOR_TYPE_TAGS -Wno-c++11-extensions -Wno-unused-local-typedefs -DBASE_VER=395517 -pthread -I/build/whirlwind/usr/include/chromeos -I/build/whirlwind/usr/include/base-395517 -I/build/whirlwind/usr/include/glib-2.0 -I/build/whirlwind/usr/lib/glib-2.0/include -I/build/whirlwind/usr/include/nss -I/build/whirlwind/usr/include/nspr -I/build/whirlwind/usr/include/dbus-1.0 -I/build/whirlwind/usr/lib/dbus-1.0/include -fPIE -Wnon-virtual-dtor -std=gnu++11 -DNDEBUG -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O2 -O2 -O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -clang-syntax -clang-syntax -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC  -c ../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/bit_writer.cc -o platform/puffin/src/libpuffin.bit_writer.o
puffin-0.0.1-r2: In file included from ../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/bit_writer.cc:5:
puffin-0.0.1-r2: ../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/bit_writer.h:41:18: error: no template named 'function' in namespace 'std'
puffin-0.0.1-r2:       const std::function<bool(uint8_t* buffer, size_t count)>& read_fn) = 0;
puffin-0.0.1-r2:             ~~~~~^
puffin-0.0.1-r2: ../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/bit_writer.h:80:30: error: no template named 'function' in namespace 'std'
puffin-0.0.1-r2:                   const std::function<bool(uint8_t* buffer, size_t count)>&
puffin-0.0.1-r2:                         ~~~~~^
puffin-0.0.1-r2: ../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/bit_writer.cc:33:23: error: out-of-line definition of 'WriteBytes' does not match any declaration in 'puffin::BufferBitWriter'
puffin-0.0.1-r2: bool BufferBitWriter::WriteBytes(
puffin-0.0.1-r2:                       ^~~~~~~~~~
puffin-0.0.1-r2: 3 errors generated.
 
Are you working on a fix patch or you want me to fix it?
Already sent for review :).
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/puffin/+/8bbd2d588a07fa8cb7f99de4257a8855520fdd88

commit 8bbd2d588a07fa8cb7f99de4257a8855520fdd88
Author: Manoj Gupta <manojgupta@google.com>
Date: Thu Sep 28 04:13:01 2017

puffin: Fix build with libc++.

Some puffin source file use std::function. To use this,
<functional> header file must be included.

Fixes following errors:

puffin-0.0.1-r2: In file included from
../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/bit_writer.cc:5:
puffin-0.0.1-r2:
../../../../../../../tmp/portage/dev-util/puffin-0.0.1-r2/work/puffin-0.0.1/platform/puffin/src/bit_writer.h:41:18: error: no
template named 'function' in namespace 'std'
puffin-0.0.1-r2:       const std::function<bool(uint8_t* buffer, size_t count)>& read_fn) = 0;
puffin-0.0.1-r2:             ~~~~~^

BUG= chromium:769528 
TEST=puffin builds with libc++.

Change-Id: Ia8ce9b4fcd0d50daf97562831f8520aae3ad8969
Reviewed-on: https://chromium-review.googlesource.com/688165
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>

[modify] https://crrev.com/8bbd2d588a07fa8cb7f99de4257a8855520fdd88/src/include/puffin/common.h

Status: Verified (was: Untriaged)

Sign in to add a comment