New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 750831 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 724628



Sign in to add a comment

mesa does not build with libc++ on amd64-generic board

Project Member Reported by manojgupta@chromium.org, Jul 31 2017

Issue description

https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/chromiumos-sdk/builds/2415/

mesa-17.1.1-r2: In file included from codegen/nv50_ir.cpp:23:
mesa-17.1.1-r2: In file included from ./codegen/nv50_ir.h:33:
mesa-17.1.1-r2: ./codegen/unordered_set.h:7:10: fatal error: 'tr1/unordered_set' fileIn file included from  not found
mesa-17.1.1-r2: codegen/nv50_ir_emit_nv50.cpp:23:
mesa-17.1.1-r2: In file included from ./codegen/nv50_ir.h:33:
mesa-17.1.1-r2: ./codegen/unordered_set.h:7:10: fatal error#include <tr1/unordered_set>: 'tr1/unordered_set'
mesa-17.1.1-r2:  file not found
mesa-17.1.1-r2:          ^~~~~~~~~~~~~~~~~~~
mesa-17.1.1-r2: #include <tr1/unordered_set>
mesa-17.1.1-r2:          ^~~~~~~~~~~~~~~~~~~

The fix should be simple, pass -std=c++11 or -std=gnu++11 to the compiler.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/805387adae23d2b74e7660db88b99bf919e4fa49

commit 805387adae23d2b74e7660db88b99bf919e4fa49
Author: Manoj Gupta <manojgupta@google.com>
Date: Tue Aug 01 09:39:56 2017

mesa: Pass -std=gnu++11 to c++ compiler  when building.

Mesa fails to build with libc++ on amd64-generic board with
following error:
mesa-17.1.1-r2: In file included from codegen/nv50_ir.cpp:23:
mesa-17.1.1-r2: In file included from ./codegen/nv50_ir.h:33:
mesa-17.1.1-r2: ./codegen/unordered_set.h:7:10: fatal error:
'tr1/unordered_set' fileIn file included from  not found
mesa-17.1.1-r2: codegen/nv50_ir_emit_nv50.cpp:23:
mesa-17.1.1-r2: In file included from ./codegen/nv50_ir.h:33:
mesa-17.1.1-r2: ./codegen/unordered_set.h:7:10: fatal error
mesa-17.1.1-r2:  file not found
mesa-17.1.1-r2:          ^~~~~~~~~~~~~~~~~~~
mesa-17.1.1-r2: #include <tr1/unordered_set>
mesa-17.1.1-r2:          ^~~~~~~~~~~~~~~~~~~

The files tr1/* are removed in c++11 standard (made part of std library)
and libc++ does not include them. Mesa code already checks for c++11
and includes the correct header files instead when std=c++11
(or gnu++11) is passed. So, should be a NFC for mesa.

BUG= chromium:750831 
TEST=emerge-{amd64-generic, caroline} mesa works with/without libc++.

Change-Id: I500e4863c65817b40236b1932ec3c114d59193fa
Reviewed-on: https://chromium-review.googlesource.com/589190
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/805387adae23d2b74e7660db88b99bf919e4fa49/media-libs/mesa/mesa-9999.ebuild
[modify] https://crrev.com/805387adae23d2b74e7660db88b99bf919e4fa49/media-libs/mesa/mesa-17.1.1.ebuild
[rename] https://crrev.com/805387adae23d2b74e7660db88b99bf919e4fa49/media-libs/mesa/mesa-17.1.1-r2.ebuild

Status: Verified (was: Untriaged)

Sign in to add a comment