Bug 192685 - www/chromium 36.0.1985.143 fails to build on 10-stable
Summary: www/chromium 36.0.1985.143 fails to build on 10-stable
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-chromium (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-15 15:58 UTC by Robert Cina
Modified: 2014-09-02 06:19 UTC (History)
6 users (show)

See Also:


Attachments
chromium build_output (52.22 KB, text/plain)
2014-08-15 15:58 UTC, Robert Cina
no flags Details
fix conflicting typedef in GL/glext.h and GLES2/gl2.h (2.90 KB, patch)
2014-08-24 11:46 UTC, Carlos J Puga Medina
no flags Details | Diff
Patch for chromium 36.0.1985.143 (2.51 KB, patch)
2014-08-24 14:48 UTC, oleg.nauman
no flags Details | Diff
Updated patch for www/chromium (2.52 KB, patch)
2014-08-24 18:33 UTC, oleg.nauman
no flags Details | Diff
patches reworked (1.28 KB, patch)
2014-08-24 19:45 UTC, Carlos J Puga Medina
no flags Details | Diff
fix conflicting typedefs (3.21 KB, patch)
2014-08-26 13:13 UTC, Carlos J Puga Medina
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Cina 2014-08-15 15:58:52 UTC
Created attachment 145828 [details]
chromium build_output

The www/chromium 36.0.1985.143  port fails to build on my 10-stable system.

rob@polyfree:~ %  uname -a
FreeBSD polyfree.my.domain 10.0-STABLE FreeBSD 10.0-STABLE #10 r269518: Mon Aug  4 13:05:02 EDT 2014     root@polyfree.my.domain:/usr/obj/usr/src/sys/GENERIC  amd64

I have attached the output from the compilation of chromium on my system.
 
The chromium build fails with the following errors on my machine:

In file included from ../../third_party/WebKit/Source/core/html/HTMLFormControlElement.h:28:
In file included from ../../third_party/WebKit/Source/core/html/LabelableElement.h:34:
In file included from ../../third_party/WebKit/Source/core/html/HTMLElement.h:26:
In file included from ../../third_party/WebKit/Source/core/dom/Element.h:32:
In file included from ../../third_party/WebKit/Source/core/dom/Document.h:31:
In file included from ../../third_party/WebKit/Source/bindings/v8/ExceptionStatePlaceholder.h:34:
In file included from ../../third_party/WebKit/Source/bindings/v8/ExceptionState.h:34:
../../third_party/WebKit/Source/bindings/v8/ScopedPersistent.h:61:60: error: no type named 'WeakCallbackData' in namespace 'v8'
    void setWeak(P* parameters, void (*callback)(const v8::WeakCallbackData<T, P>&))
                                                       ~~~~^
../../third_party/WebKit/Source/bindings/v8/ScopedPersistent.h:61:76: error: expected ')'
    void setWeak(P* parameters, void (*callback)(const v8::WeakCallbackData<T, P>&))
                                                                           ^
../../third_party/WebKit/Source/bindings/v8/ScopedPersistent.h:61:49: note: to match this '('
    void setWeak(P* parameters, void (*callback)(const v8::WeakCallbackData<T, P>&))
                                                ^
In file included from ../../third_party/WebKit/Source/core/html/FormAssociatedElement.cpp:30:
In file included from ../../third_party/WebKit/Source/core/html/HTMLFormControlElement.h:28:
In file included from ../../third_party/WebKit/Source/core/html/LabelableElement.h:34:
In file included from ../../third_party/WebKit/Source/core/html/HTMLElement.h:26:
In file included from ../../third_party/WebKit/Source/core/dom/Element.h:32:
In file included from ../../third_party/WebKit/Source/core/dom/Document.h:32:
In file included from ../../third_party/WebKit/Source/bindings/v8/ScriptValue.h:34:
In file included from ../../third_party/WebKit/Source/bindings/v8/ScriptState.h:9:
In file included from ../../third_party/WebKit/Source/bindings/v8/V8PerContextData.h:36:
In file included from ../../third_party/WebKit/Source/bindings/v8/V8PersistentValueMap.h:35:
../../v8/include/v8-util.h:87:11: error: unknown type name 'PersistentValueMap'
  typedef PersistentValueMap<K, V, DefaultPersistentValueMapTraits<K, V> >
          ^
../../v8/include/v8-util.h:87:29: error: expected member name or ';' after declaration specifiers
  typedef PersistentValueMap<K, V, DefaultPersistentValueMapTraits<K, V> >
  ~~~~~~~~~~~~~~~~~~~~~~~~~~^
../../v8/include/v8-util.h:92:7: error: unknown type name 'MapType'
      MapType* map, const K& key, Local<V> value) {
      ^
../../v8/include/v8-util.h:95:10: error: unknown type name 'MapType'
  static MapType* MapFromWeakCallbackData(
         ^
../../v8/include/v8-util.h:96:17: error: unknown type name 'WeakCallbackData'
          const WeakCallbackData<V, WeakCallbackDataType>& data) {
                ^
../../v8/include/v8-util.h:96:33: error: expected ')'
          const WeakCallbackData<V, WeakCallbackDataType>& data) {
                                ^
../../v8/include/v8-util.h:95:42: note: to match this '('
  static MapType* MapFromWeakCallbackData(
                                         ^
../../v8/include/v8-util.h:100:13: error: unknown type name 'WeakCallbackData'
      const WeakCallbackData<V, WeakCallbackDataType>& data) {
            ^
../../v8/include/v8-util.h:100:29: error: expected ')'
      const WeakCallbackData<V, WeakCallbackDataType>& data) {
                            ^
../../v8/include/v8-util.h:99:35: note: to match this '('
  static K KeyFromWeakCallbackData(
                                  ^
../../v8/include/v8-util.h:104:41: error: unknown type name 'UniquePersistent'
  static void Dispose(Isolate* isolate, UniquePersistent<V> value, K key) { }
                                        ^
../../v8/include/v8-util.h:104:57: error: expected ')'
  static void Dispose(Isolate* isolate, UniquePersistent<V> value, K key) { }
                                                        ^
../../v8/include/v8-util.h:104:22: note: to match this '('
  static void Dispose(Isolate* isolate, UniquePersistent<V> value, K key) { }
                     ^
../../v8/include/v8-util.h:156:7: error: unknown type name 'ReturnValue'
      ReturnValue<Value> returnValue) {
      ^
../../v8/include/v8-util.h:156:18: error: expected ')'
      ReturnValue<Value> returnValue) {
                 ^
../../v8/include/v8-util.h:155:22: note: to match this '('
  bool SetReturnValue(const K& key,
                     ^
../../v8/include/v8-util.h:175:3: error: unknown type name 'UniquePersistent'
  UniquePersistent<V> Set(const K& key, Local<V> value) {
  ^
../../v8/include/v8-util.h:175:19: error: expected member name or ';' after declaration specifiers
  UniquePersistent<V> Set(const K& key, Local<V> value) {
  ~~~~~~~~~~~~~~~~^
../../v8/include/v8-util.h:262:3: error: unknown type name 'PersistentValueReference'
  PersistentValueReference GetReference(const K& key) {
  ^
../../v8/include/v8-util.h:270:3: error: unknown type name 'UniquePersistent'
  UniquePersistent<V> Set(const K& key, UniquePersistent<V> value,
  ^
../../v8/include/v8-util.h:270:19: error: expected member name or ';' after declaration specifiers
  UniquePersistent<V> Set(const K& key, UniquePersistent<V> value,
  ~~~~~~~~~~~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Comment 1 John Marino freebsd_committer freebsd_triage 2014-08-15 16:05:00 UTC
over to maintainer group
Comment 2 Juergen Lock freebsd_committer freebsd_triage 2014-08-16 11:42:33 UTC
I guess chromium is just fragile when built outside poudriere/tb...  I had another failure on 10.0-R/amd64 that was fixed by building it in poudriere, and to confirm I made a stable/10 jail (r270029) and it built just fine in there as well.

My 10.0-R failure outside poudriere for the record:

[...]
gen/ui/gl/gl_bindings_autogen_gl.h:71:91: error: unknown type name 'GLeglImageOE
S'
typedef void (GL_BINDING_CALL *glEGLImageTargetRenderbufferStorageOESProc)(GLenu
m target, GLeglImageOES image);
                                                                                
          ^
gen/ui/gl/gl_bindings_autogen_gl.h:543:62: error: unknown type name 'GLeglImageO
ES'
  virtual void glEGLImageTargetTexture2DOESFn(GLenum target, GLeglImageOES image
) = 0;
                                                             ^
gen/ui/gl/gl_bindings_autogen_gl.h:544:72: error: unknown type name 'GLeglImageO
ES'
  virtual void glEGLImageTargetRenderbufferStorageOESFn(GLenum target, GLeglImag
eOES image) = 0;
                                                                       ^
4 errors generated.
[5222/13765] CXX obj/gpu/command_buffe...ommand_buffer_service.buffer_manager.o
FAILED: c++ -MMD -MF obj/gpu/command_buffer/service/command_buffer_service.buffe
r_manager.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=206824 -DTOOLKIT_VIEWS=1 -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' -DGL_GLEXT_PROTOTYPES -DUSE_SYSTEM_PROTOBUF -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DSK_ENABLE_INST_COUNT=0 -DSK_SUPPORT_GPU=1 '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' -DSK_ENABLE_LEGACY_API_ALIASING=1 -DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1 -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT -DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1 -DSK_SUPPORT_LEGACY_GETTOPDEVICE -DSK_SUPPORT_LEGACY_N32_NAME -DSK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE -DSK_SUPPORT_LEGACY_GETTOTALCLIP -DSK_USE_POSIX_THREADS -DSK_DEFERRED_CANVAS_USES_FACTORIES=1 -DU_USING_ICU_NAMESPACE=0 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen/shim_headers/libpng/target -Igen/shim_headers/zlib/target -Igen/shim_headers/icuuc/target -Igen/shim_headers/icui18n/target -Igen/shim_headers/re2/target -Igen/shim_headers/libevent/target -I../.. -I../../third_party/khronos -I../../gpu -I/usr/local/include -I../../skia/config -Igen/protoc_out -I../../net/third_party/nss/ssl -I../../third_party/skia/src/core -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -Igen/ui/gl -I../../third_party/mesa/src/include -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -Wno-absolute-value -fcolor-diagnostics -pthread -I/usr/local/include/glib-2.0 -I/usr/local/include -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr -Wno-header-guard -I/usr/local/include -D_THREAD_SAFE -pthread -I/usr/local/include -I/usr/local/include -m64 -march=x86-64 -O2 -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -fno-stack-protector -Wno-unknown-warning-option -fno-strict-aliasing -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../gpu/command_buffer/service/buffer_manager.cc -o obj/gpu/command_buffer/service/command_buffer_service.buffer_manager.o
In file included from ../../gpu/command_buffer/service/buffer_manager.cc:5:
In file included from ../../gpu/command_buffer/service/buffer_manager.h:14:
In file included from ../../gpu/command_buffer/service/gl_utils.h:12:
In file included from ../../ui/gl/gl_bindings.h:230:
gen/ui/gl/gl_bindings_autogen_gl.h:70:81: error: unknown type name 'GLeglImageOES'
typedef void (GL_BINDING_CALL *glEGLImageTargetTexture2DOESProc)(GLenum target, GLeglImageOES image);
                                                                                ^
gen/ui/gl/gl_bindings_autogen_gl.h:71:91: error: unknown type name 'GLeglImageOES'
typedef void (GL_BINDING_CALL *glEGLImageTargetRenderbufferStorageOESProc)(GLenum target, GLeglImageOES image);
                                                                                          ^gen/ui/gl/gl_bindings_autogen_gl.h:543:62: error: unknown type name 'GLeglImageOES'
  virtual void glEGLImageTargetTexture2DOESFn(GLenum target, GLeglImageOES image) = 0;
                                                             ^
gen/ui/gl/gl_bindings_autogen_gl.h:544:72: error: unknown type name 'GLeglImageOES'
  virtual void glEGLImageTargetRenderbufferStorageOESFn(GLenum target, GLeglImageOES image) = 0;
                                                                       ^
In file included from ../../gpu/command_buffer/service/buffer_manager.cc:10:
In file included from ../../gpu/command_buffer/service/context_state.h:16:
../../gpu/command_buffer/service/vertex_attrib_manager.h:204:29: error: use of undeclared identifier 'GL_FIXED'
      if (attrib->type() == GL_FIXED) {
                            ^
../../gpu/command_buffer/service/vertex_attrib_manager.h:207:19: error: use of undeclared identifier 'GL_FIXED'
      if (type == GL_FIXED) {
                  ^
6 errors generated.
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/home/nox/svn/ports/www/chromium
*** Error code 1

Stop.
make: stopped in /usr/home/nox/svn/ports/www/chromium
Comment 3 oleg.nauman 2014-08-17 08:53:26 UTC
I have another chromium build failure ( 10.0-STABLE, i386 ). IT possible that it is triggered by WITH_NEW_XORG=YES defined in make.conf:

[5619/13757] CXX obj/gpu/command_buffer/service/command_buffer_service.buffer_manager.o
FAILED: c++ -MMD -MF obj/gpu/command_buffer/service/command_buffer_service.buffer_manager.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=206824 -DTOOLKIT_VIEWS=1 -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' -DGL_GLEXT_PROTOTYPES -DUSE_SYSTEM_PROTOBUF -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DSK_ENABLE_INST_COUNT=0 -DSK_SUPPORT_GPU=1 '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' -DSK_ENABLE_LEGACY_API_ALIASING=1 -DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1 -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT -DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1 -DSK_SUPPORT_LEGACY_GETTOPDEVICE -DSK_SUPPORT_LEGACY_N32_NAME -DSK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE -DSK_SUPPORT_LEGACY_GETTOTALCLIP -DSK_USE_POSIX_THREADS -DSK_DEFERRED_CANVAS_USES_FACTORIES=1 -DU_USING_ICU_NAMESPACE=0 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen/shim_headers/libpng/target -Igen/shim_headers/zlib/target -Igen/shim_headers/icuuc/target -Igen/shim_headers/icui18n/target -Igen/shim_headers/re2/target -Igen/shim_headers/libevent/target -I../.. -I../../third_party/khronos -I../../gpu -I/usr/local/include -I../../skia/config -Igen/protoc_out -I../../net/third_party/nss/ssl -I../../third_party/skia/src/core -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -Igen/ui/gl -I../../third_party/mesa/src/include -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -Wno-absolute-value -momit-leaf-frame-pointer -fcolor-diagnostics -pthread -I/usr/local/include/glib-2.0 -I/usr/local/include -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr -Wno-header-guard -I/usr/local/include -D_THREAD_SAFE -pthread -I/usr/local/include -I/usr/local/include -msse2 -mmmx -m32 -O2 -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -march=core2 -fno-stack-protector -Wno-unknown-warning-option -fno-strict-aliasing -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../gpu/command_buffer/service/buffer_manager.cc -o obj/gpu/command_buffer/service/command_buffer_service.buffer_manager.o
In file included from ../../gpu/command_buffer/service/buffer_manager.cc:10:
In file included from ../../gpu/command_buffer/service/context_state.h:14:
In file included from ../../gpu/command_buffer/service/query_manager.h:16:
In file included from ../../gpu/command_buffer/service/feature_info.h:14:
In file included from ../../gpu/command_buffer/service/gles2_cmd_validation.h:13:
../../gpu/command_buffer/common/gles2_cmd_format.h:41:26: error: typedef redefinition with different types ('khronos_intptr_t' (aka 'long') vs 'ptrdiff_t' (aka 'int'))
typedef khronos_intptr_t GLintptr;
                         ^
/usr/local/include/GL/glext.h:6152:19: note: previous definition is here
typedef ptrdiff_t GLintptr;
                  ^
In file included from ../../gpu/command_buffer/service/buffer_manager.cc:10:
In file included from ../../gpu/command_buffer/service/context_state.h:14:
In file included from ../../gpu/command_buffer/service/query_manager.h:16:
In file included from ../../gpu/command_buffer/service/feature_info.h:14:
In file included from ../../gpu/command_buffer/service/gles2_cmd_validation.h:13:
../../gpu/command_buffer/common/gles2_cmd_format.h:42:26: error: typedef redefinition with different types ('khronos_ssize_t' (aka 'long') vs 'ptrdiff_t' (aka 'int'))
typedef khronos_ssize_t  GLsizeiptr;
                         ^
/usr/local/include/GL/glext.h:6153:19: note: previous definition is here
typedef ptrdiff_t GLsizeiptr;
                  ^
2 errors generated.
[5619/13757] CXX obj/gpu/command_buffer/service/command_buffer_service.command_buffer_service.o
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/chromium
*** Error code 1

Stop.
make: stopped in /usr/ports/www/chromium
Comment 4 Carlos J Puga Medina 2014-08-17 15:28:59 UTC
Regarding typedef redefinition errors:

../../gpu/command_buffer/common/gles2_cmd_format.h:41:26: error: typedef redefinition with different types ('khronos_intptr_t' (aka 'long') vs 'ptrdiff_t' (aka 'int'))
typedef khronos_intptr_t GLintptr;
                         ^
/usr/local/include/GL/glext.h:6152:19: note: previous definition is here
typedef ptrdiff_t GLintptr;
                  ^
Needs to be fixed before FreeBSD-10.1 (clang 3.4).

Please, can you try to build chromium with USE_GCC=4.7+ and report back?
Comment 5 oleg.nauman 2014-08-17 15:47:25 UTC
(In reply to Carlos Jacobo Puga Medina from comment #4)
> Regarding typedef redefinition errors:
> 
> ../../gpu/command_buffer/common/gles2_cmd_format.h:41:26: error: typedef
> redefinition with different types ('khronos_intptr_t' (aka 'long') vs
> 'ptrdiff_t' (aka 'int'))
> typedef khronos_intptr_t GLintptr;
>                          ^
> /usr/local/include/GL/glext.h:6152:19: note: previous definition is here
> typedef ptrdiff_t GLintptr;
>                   ^
> Needs to be fixed before FreeBSD-10.1 (clang 3.4).
> 
> Please, can you try to build chromium with USE_GCC=4.7+ and report back?

 It fails:

[2/13757] CXX obj/third_party/smhasher/src/cityhash.City.o
FAILED: g++47 -MMD -MF obj/third_party/smhasher/src/cityhash.City.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=206824 -DTOOLKIT_VIEWS=1 -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' -DUSE_NSS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0  -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-exceptions -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -Wno-absolute-value -momit-leaf-frame-pointer -fcolor-diagnostics -Wno-format -msse2 -mmmx -m32 -O2 -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -march=core2 -fno-stack-protector -Wno-unknown-warning-option -Wl,-rpath=/usr/local/lib/gcc47 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc47 -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -Wno-deprecated  -c ../../third_party/smhasher/src/City.cpp -o obj/third_party/smhasher/src/cityhash.City.o
g++47: error: unrecognized command line option '-Wheader-hygiene'
g++47: error: unrecognized command line option '-Wstring-conversion'
g++47: error: unrecognized command line option '-fcolor-diagnostics'
[2/13757] ACTION Caching bytecode of Jinja templates
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

I think due to fact that :

GYP_DEFINES="clang_use_chrome_plugins=0  linux_breakpad=0  linux_use_heapchecker=0  linux_strip_binary=1  test_isolation_mode=noop  disable_nacl=1  enable_one_click_signin=1  enable_openmax=1  enable_webrtc=1  werror=  no_gc_sections=1  os_ver=1000713  prefix_dir=/usr/local  python_ver=2.7  use_allocator=none  use_cups=1  linux_link_gsettings=1  linux_link_libpci=1  linux_link_libspeechd=1  libspeechd_h_prefix=speech-dispatcher/  usb_ids_path=/usr/local/share/usbids/usb.ids  want_separate_host_toolset=0  use_system_bzip2=1  use_system_flac=1  use_system_harfbuzz=1  use_system_icu=1  use_system_jsoncpp=1  use_system_libevent=1  use_system_libexif=1  use_system_libjpeg=1  use_system_libpng=1  use_system_libusb=1  use_system_libwebp=1  use_system_libxml=1  use_system_libxslt=1  use_system_minizip=1  use_system_nspr=1  use_system_openssl=1  use_system_protobuf=1  use_system_re2=1  use_system_snappy=1  use_system_speex=1  use_system_xdg_utils=1  use_system_yasm=1  use_system_zlib=1 flapper_version_h_file='/disk2/usr/obj/ports/usr/ports/www/chromium/work/chromium-36.0.1985.143/flapper_version.h' google_api_key=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8  google_default_client_id=996322985003.apps.googleusercontent.com  google_default_client_secret=IR1za9-1VK0zZ0f_O8MVFicn ffmpeg_branding=Chrome proprietary_codecs=1 use_gconf=1 use_pulseaudio=0 clang=1

still defines 'clang' to 1

I saw

.if ${CHOSEN_COMPILER_TYPE} == gcc

conditional in Makefile but it is not working or so
Comment 6 Carlos J Puga Medina 2014-08-17 15:54:10 UTC
Use the following patch to build chromium with GCC:

--- Makefile.orig	2014-08-17 17:50:49.000000000 +0200
+++ Makefile	2014-08-17 17:52:32.000000000 +0200
@@ -60,6 +60,7 @@
 		perl5 shebangfix ninja tar:xz python:2,build execinfo
 CPE_VENDOR=	google
 CPE_PRODUCT=	chrome
+USE_GCC=	4.7
 USE_PERL5=	build
 USE_XORG=	scrnsaverproto x11 xproto xscrnsaver xtst
 USE_GNOME=	glib20 gtk20 dconf libxslt
@@ -192,6 +193,10 @@
 
 .include <bsd.port.pre.mk>
 
+CHOSEN_COMPILER_TYPE=	gcc
+COMPILER_TYPE=	gcc
+COMPILER_VERSION=	47
+
 .if ${CHOSEN_COMPILER_TYPE} == gcc
 GYP_DEFINES+=	gcc_version=${CXX:S/g++//}
 CFLAGS+=	-Wno-unknown-warning
Comment 7 oleg.nauman 2014-08-17 20:06:24 UTC
Compilation was successful but linkage fails. 
Just first 20 lines of log because it is too big ( 450 K ):

[1/1] LINK chrome
FAILED: g++47 -Wl,-rpath,/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc47 -L/usr/local/lib/gcc47 -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -Wl,--disable-new-dtags -Wl,--no-keep-memory -L. -L/usr/local/lib -L/usr/local/lib/nss -m32 -Wl,-O1 -Wl,--as-needed -o chrome -Wl,--start-group obj/chrome/app/chrome_initial.chrome_exe_main_aura.o obj/content/public/common/chrome_initial.content_switches.o obj/chrome/app/chrome_initial.chrome_main.o obj/chrome/app/chrome_initial.chrome_main_delegate.o obj/chrome/libcommon.a obj/chrome/libbrowser.a obj/ppapi/libppapi_host.a obj/printing/libprinting.a obj/chrome/libservice.a obj/chrome/libdebugger.a obj/chrome/libplugin.a obj/chrome/librenderer.a obj/chrome/libutility.a obj/content/libcontent_gpu.a obj/content/libcontent_ppapi_plugin.a obj/content/libcontent_worker.a obj/content/libcontent_app_both.a obj/chrome/libinstaller_util.a obj/components/libstartup_metric_utils.a obj/chrome/libcommon_net.a obj/base/libbase.a obj/base/libbase_static.a obj/base/allocator/liballocator_extension_thunks.a obj/third_party/modp_b64/libmodp_b64.a obj/base/third_party/dynamic_annotations/libdynamic_annotations.a obj/base/libsymbolize.a obj/base/libxdg_mime.a obj/crypto/libcrcrypto.a obj/net/third_party/nss/libcrssl.a obj/net/libnet.a obj/base/libbase_i18n.a obj/sdch/libsdch.a obj/url/liburl_lib.a obj/build/linux/libgio.a obj/gpu/libgpu_ipc.a obj/gpu/libcommand_buffer_common.a obj/gpu/command_buffer/libgles2_utils.a obj/ipc/libipc.a obj/chrome/libmetrics_proto.a obj/base/libbase_prefs.a obj/chrome/libcommon_constants.a obj/components/libbookmarks_core_common.a obj/components/libnacl_switches.a obj/components/libcloud_devices_common.a obj/components/libjson_schema.a obj/components/libmetrics.a obj/components/libcomponent_metrics_proto.a obj/components/libpolicy_component_common.a obj/google_apis/libgoogle_apis.a obj/third_party/libxml/libxml.a obj/components/libcloud_policy_proto.a obj/components/libpolicy.a obj/components/libcloud_policy_proto_generated_compile.a obj/components/libtranslate_core_common.a obj/components/libvariations.a obj/third_party/mt19937ar/libmt19937ar.a obj/content/libcontent_common.a obj/components/libtracing.a obj/skia/libskia_library.a obj/skia/libskia_opts.a obj/skia/libskia_opts_ssse3.a obj/third_party/sfntly/libsfntly.a obj/skia/libskia_chrome.a obj/skia/libskia_chrome_opts.a obj/third_party/libjingle/libjingle.a obj/third_party/libjingle/libjingle_p2p_constants.a obj/ui/accessibility/libaccessibility.a obj/ui/gfx/libgfx.a obj/ui/gfx/libgfx_geometry.a obj/ui/gfx/libgfx_x11.a obj/ui/accessibility/libax_gen.a obj/tools/json_schema_compiler/libapi_gen_util.a obj/ui/base/libui_base.a obj/ui/events/libevents_base.a obj/ui/events/libdom4_keycode_converter.a obj/ui/events/libevents.a obj/ui/events/libgesture_detection.a obj/ui/shell_dialogs/libshell_dialogs.a obj/ui/aura/libaura.a obj/gpu/libcommand_buffer_client.a obj/gpu/libcommand_buffer_service.a obj/gpu/libdisk_cache_proto.a obj/third_party/smhasher/libcityhash.a obj/ui/gl/libgl_wrapper.a obj/third_party/angle/src/libtranslator.a obj/third_party/angle/src/libpreprocessor.a obj/gpu/libgles2_cmd_helper.a obj/gpu/libgpu_config.a obj/build/linux/libpci.a obj/third_party/libXNVCtrl/libXNVCtrl.a obj/ui/compositor/libcompositor.a obj/cc/libcc.a obj/media/libmedia.a obj/third_party/opus/libopus.a obj/media/libshared_memory_support.a obj/media/libshared_memory_support_sse.a obj/third_party/ffmpeg/libffmpeg.a obj/third_party/libvpx/libvpx.a obj/third_party/libvpx/libvpx_asm_offsets_vp8.a obj/third_party/libvpx/libvpx_intrinsics_mmx.a obj/third_party/libvpx/libvpx_intrinsics_sse2.a obj/third_party/libvpx/libvpx_intrinsics_ssse3.a obj/media/libmedia_asm.a obj/media/libmedia_mmx.a obj/media/libmedia_sse.a obj/media/libmedia_sse2.a obj/gpu/libgles2_c_lib.a obj/gpu/libgles2_implementation.a obj/gpu/libgl_in_process_context.a obj/gpu/skia_bindings/libgpu_skia_bindings.a obj/mojo/libmojo_environment_chromium.a obj/mojo/libmojo_common_lib.a obj/mojo/libmojo_system_impl.a obj/mojo/libmojo_environment_chromium_impl.a obj/third_party/WebKit/Source/platform/libblink_platform.a obj/third_party/WebKit/Source/wtf/libwtf.a obj/third_party/WebKit/Source/platform/libblink_common.a obj/third_party/WebKit/Source/platform/libblink_heap_asm_stubs.a obj/third_party/ots/libots.a obj/third_party/brotli/libbrotli.a obj/third_party/qcms/libqcms.a obj/v8/tools/gyp/libv8_base.ia32.a obj/v8/tools/gyp/libv8_snapshot.a obj/third_party/iccjpeg/libiccjpeg.a obj/third_party/WebKit/Source/web/libblink_web.a obj/third_party/WebKit/Source/core/libwebcore_dom.a obj/third_party/sqlite/libsqlite3.a obj/third_party/WebKit/Source/core/libwebcore_html.a obj/third_party/WebKit/Source/core/libwebcore_remaining.a obj/third_party/WebKit/Source/core/libwebcore_rendering.a obj/third_party/WebKit/Source/core/libwebcore_svg.a obj/third_party/WebKit/Source/core/libwebcore_generated.a obj/gin/libgin.a obj/third_party/WebKit/Source/modules/libmodules.a obj/webkit/common/gpu/libwebkit_gpu.a obj/webkit/common/libwebkit_common.a obj/webkit/libwebkit_storage_browser.a obj/sql/libsql.a obj/third_party/leveldatabase/libleveldatabase.a obj/webkit/libwebkit_storage_common.a obj/ppapi/libppapi_shared.a obj/ui/surface/libsurface.a obj/media/cast/libcast_transport.a obj/media/cast/libcast_base.a obj/media/cast/libcast_logging_proto.a obj/third_party/zlib/google/libzip.a obj/device/bluetooth/libdevice_bluetooth.a obj/device/usb/libdevice_usb.a obj/apps/common/api/libapps_api.a obj/chrome/common/extensions/api/libchrome_api.a obj/content/libcontent_browser.a obj/ui/snapshot/libsnapshot.a obj/content/browser/service_worker/libdatabase_proto.a obj/content/browser/speech/proto/libspeech_proto.a obj/content/libcontent_common_mojo_bindings.a obj/mojo/libmojo_cpp_bindings.a obj/mojo/libmojo_js_bindings.a obj/mojo/libmojo_shell_bindings.a obj/net/libhttp_server.a libyuv.a obj/jingle/libjingle_glue.a obj/ppapi/libppapi_ipc.a obj/dbus/libdbus.a obj/sync/libsync_api.a obj/sync/libsync_internal_api.a obj/sync/libsync_core.a obj/sync/libsync_notifier.a obj/jingle/libnotifier.a obj/third_party/cacheinvalidation/libcacheinvalidation.a obj/third_party/cacheinvalidation/libcacheinvalidation_proto_cpp.a obj/sync/libsync_proto.a obj/components/libautofill_core_common.a obj/components/libautofill_content_common.a obj/components/libpassword_manager_core_common.a obj/components/libsignin_core_common.a obj/components/libtranslate_content_common.a obj/components/libtranslate_language_detection.a obj/third_party/cld_2/libcld_2.a obj/components/libnacl_common.a obj/components/libvisitedlink_common.a obj/extensions/common/api/libextensions_api.a obj/extensions/libextensions_common.a obj/components/liburl_matcher.a obj/remoting/libremoting_client_plugin.a obj/ppapi/libppapi_cpp_objects.a obj/third_party/webrtc/modules/libdesktop_capture.a obj/third_party/webrtc/system_wrappers/source/libsystem_wrappers.a obj/third_party/webrtc/modules/libdesktop_capture_differ_sse2.a obj/remoting/libremoting_base.a obj/remoting/proto/libchromotocol_proto_lib.a obj/remoting/libremoting_client.a obj/remoting/libremoting_protocol.a obj/third_party/libwebm/libwebm.a obj/chrome/browser/search_engines/libprepopulated_engines.a obj/chrome/libbrowser_ui.a obj/chrome/libcert_logger_proto.a obj/chrome/libbrowser_ui_views.a obj/chrome/libin_memory_url_index_cache_proto.a obj/chrome/libsafe_browsing_proto.a obj/chrome/libsafe_browsing_report_proto.a obj/components/libauto_login_parser.a obj/components/libdom_distiller_core.a obj/components/libdistilled_page_proto.a obj/components/libdom_distiller_webui.a obj/components/libfeedback_proto.a obj/components/libonc_component.a obj/components/libpassword_manager_core_browser.a obj/components/libos_crypt.a obj/ui/message_center/libmessage_center.a obj/ui/views/libviews.a obj/ui/wm/libwm.a obj/ui/native_theme/libnative_theme.a obj/ui/display/libdisplay_util.a obj/chrome/libbrowser_extensions.a obj/chrome/libcast_channel_proto.a obj/chrome/libsync_file_system_proto.a obj/device/hid/libdevice_hid.a obj/device/serial/libdevice_serial.a obj/extensions/libextensions_browser.a obj/components/libkeyed_service_content.a obj/components/libkeyed_service_core.a obj/components/libuser_prefs.a obj/components/libusb_service.a obj/ui/keyboard/libkeyboard.a obj/chrome/browser/performance_monitor/libperformance_monitor.a obj/components/libautofill_content_risk_proto.a obj/device/nfc/libdevice_nfc.a obj/net/libnet_with_v8.a obj/third_party/hunspell/libhunspell.a obj/ui/web_dialogs/libweb_dialogs.a obj/chrome/browser/ui/libgtk2ui/libgtk2ui.a obj/ui/views/controls/webview/libwebview.a obj/ui/app_list/libapp_list.a obj/third_party/libaddressinput/libaddressinput.a obj/chrome/libprobe_message_proto.a obj/chrome/libsuggestions_proto.a obj/components/libautofill_core_browser.a obj/third_party/libphonenumber/libphonenumber.a obj/third_party/libphonenumber/libphonenumber_without_metadata.a obj/components/libwebdata_common.a obj/components/libbookmarks_core_browser.a obj/components/libfavicon_base.a obj/components/libquery_parser.a obj/components/libcaptive_portal.a obj/components/libdata_reduction_proxy_browser.a obj/components/libdata_reduction_proxy_common.a obj/components/libdomain_reliability.a obj/components/libfeedback_component.a obj/components/libinfobars_core.a obj/components/libinvalidation.a obj/components/libnavigation_metrics.a obj/components/libpolicy_component_browser.a obj/components/libprecache_core.a obj/components/libprecache_core_proto.a obj/components/librappor.a obj/components/libsearch_provider_logos.a obj/components/libsignin_core_browser.a obj/components/libsync_driver.a obj/components/libtranslate_core_browser.a obj/components/liblanguage_usage_metrics.a obj/courgette/libcourgette_lib.a obj/third_party/lzma_sdk/liblzma_sdk.a obj/google_apis/gcm/libgcm.a obj/chrome/libapps.a obj/chrome/libsync_file_system_drive_proto.a obj/components/libautofill_content_browser.a obj/components/libdom_distiller_content.a obj/components/libnavigation_interception.a obj/components/libpassword_manager_content_browser.a obj/components/libprecache_content.a obj/components/libsessions.a obj/components/libstorage_monitor.a obj/components/libtranslate_content_browser.a obj/components/libvisitedlink_browser.a obj/components/libweb_modal.a obj/testing/perf/libperf_test.a obj/chrome/libpolicy_path_parser.a obj/build/linux/libspeechd.a obj/ppapi/libppapi_proxy.a obj/content/libcontent_plugin.a obj/content/libcontent_child.a obj/webkit/child/libwebkit_child.a obj/components/libautofill_content_renderer.a obj/content/libcontent_renderer.a obj/mojo/libmojo_js_bindings_lib.a obj/webkit/renderer/compositor_bindings/libwebkit_compositor_bindings.a obj/webkit/renderer/compositor_bindings/libwebkit_compositor_support.a obj/third_party/libjingle/libjingle_webrtc.a obj/third_party/libjingle/libjingle_webrtc_common.a obj/third_party/libsrtp/libsrtp.a obj/third_party/webrtc/modules/libmedia_file.a obj/third_party/webrtc/modules/libvideo_capture_module.a obj/third_party/webrtc/modules/libwebrtc_utility.a obj/third_party/webrtc/modules/libaudio_coding_module.a obj/third_party/webrtc/modules/libCNG.a obj/third_party/webrtc/common_audio/libcommon_audio.a obj/third_party/webrtc/common_audio/libcommon_audio_sse2.a obj/third_party/webrtc/modules/libG711.a obj/third_party/webrtc/modules/libG722.a obj/third_party/webrtc/modules/libiLBC.a obj/third_party/webrtc/modules/libiSAC.a obj/third_party/webrtc/modules/libiSACFix.a obj/third_party/webrtc/modules/libPCM16B.a obj/third_party/webrtc/modules/libwebrtc_opus.a obj/third_party/webrtc/modules/libNetEq4.a obj/third_party/webrtc/modules/libwebrtc_video_coding.a obj/third_party/webrtc/modules/libwebrtc_i420.a obj/third_party/webrtc/common_video/libcommon_video.a obj/third_party/webrtc/modules/video_coding/utility/libvideo_coding_utility.a obj/third_party/webrtc/modules/video_coding/codecs/vp8/libwebrtc_vp8.a obj/third_party/webrtc/modules/libvideo_render_module.a obj/third_party/libjingle/libpeerconnection.a obj/third_party/webrtc/video_engine/libvideo_engine_core.a obj/third_party/webrtc/modules/librtp_rtcp.a obj/third_party/webrtc/modules/libpaced_sender.a obj/third_party/webrtc/modules/libremote_bitrate_estimator.a obj/third_party/webrtc/modules/remote_bitrate_estimator/librbe_components.a obj/third_party/webrtc/modules/libbitrate_controller.a obj/third_party/webrtc/modules/libvideo_processing.a obj/third_party/webrtc/modules/libvideo_processing_sse2.a obj/third_party/webrtc/voice_engine/libvoice_engine.a obj/third_party/webrtc/modules/libaudio_conference_mixer.a obj/third_party/webrtc/modules/libaudio_processing.a obj/third_party/webrtc/modules/libaudioproc_debug_proto.a obj/third_party/webrtc/modules/libaudio_processing_sse2.a obj/third_party/webrtc/modules/libaudio_device.a obj/components/libcdm_renderer.a obj/components/libcdm_common.a obj/components/libplugins_renderer.a obj/components/libvisitedlink_renderer.a obj/extensions/libextensions_renderer.a obj/media/cast/libcast_sender.a obj/media/cast/libcast_rtcp.a obj/third_party/smhasher/libmurmurhash3.a obj/content/libcontent_utility.a obj/mojo/libmojo_service_manager.a  -Wl,--end-group -L/usr/local/lib -lexecinfo -lkvm -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lintl -levent -L/usr/local/lib -lexecinfo -lnss3 -lsmime3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -licui18n -licuuc -licudata -lz -lgconf-2 -lgio-2.0 -lprotobuf -lpthread -lre2 -lxml2 -lfontconfig -lfreetype -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpango-1.0 -lm -lexpat -lpng15 -ljpeg -lX11 -lXi -lXcursor -lXext -lXfixes -lXrender -lXcomposite -lpci -lasound -lXdamage -lXtst -lXrandr -lwebp -lwebpdemux -lharfbuzz-icu -lharfbuzz -lxslt -lsnappy -lminizip -lcups -lssl -lcrypto -pthread -lcrypt -lgcrypt -lgpg-error -lFLAC -lspeex -ldbus-1 -lspeechd -lusb -lgtk-x11-2.0 -lgdk-x11-2.0 -lXinerama -latk-1.0 -lgdk_pixbuf-2.0 -lXss
/usr/local/bin/ld: warning: libssl.so.7, needed by /usr/local/lib/libcups.so, may conflict with libssl.so.8
obj/chrome/libbrowser.a(browser.url_ind): In function `history::URLIndexPrivateData::SaveToFile(base::FilePath const&)':
url_index_private_data.cc:(.text._ZN7history19URLIndexPrivateData10SaveToFileERKN4base8FilePathE+0x72): undefined reference to `google::protobuf::MessageLite::SerializeToString(std::string*) const'
obj/chrome/libbrowser.a(browser.chrome_): In function `chrome_browser_net::ChromeFraudulentCertificateReporter::SendReport(std::string const&, net::SSLInfo const&, bool) [clone .part.40]':
chrome_fraudulent_certificate_reporter.cc:(.text._ZN18chrome_browser_net35ChromeFraudulentCertificateReporter10SendReportERKSsRKN3net7SSLInfoEb.part.40+0x15f): undefined reference to `google::protobuf::MessageLite::SerializeToString(std::string*) const'
obj/chrome/libbrowser.a(browser.probe_m): In function `chrome_browser_net::ProbeMessage::ParseInput(std::string const&, chrome_browser_net::ProbePacket*) const':
probe_message.cc:(.text._ZNK18chrome_browser_net12ProbeMessage10ParseInputERKSsPNS_11ProbePacketE+0x45): undefined reference to `google::protobuf::MessageLite::ParseFromString(std::string const&)'
obj/chrome/libbrowser.a(browser.probe_m): In function `chrome_browser_net::ProbeMessage::MakeEncodedPacket(chrome_browser_net::ProbePacket const&) const':
probe_message.cc:(.text._ZNK18chrome_browser_net12ProbeMessage17MakeEncodedPacketERKNS_11ProbePacketE+0x3f): undefined reference to `google::protobuf::MessageLite::SerializeToString(std::string*) const'
obj/chrome/libbrowser.a(browser.suggest): In function `suggestions::SuggestionsService::OnURLFetchComplete(net::URLFetcher const*)':
suggestions_service.cc:(.text._ZN11suggestions18SuggestionsService18OnURLFetchCompleteEPKN3net10URLFetcherE+0x210): undefined reference to `google::protobuf::MessageLite::ParseFromString(std::string const&)'
obj/chrome/libbrowser.a(browser.metrics): In function `MetricsLog::RecordEnvironment(std::vector<content::WebPluginInfo, std::allocator<content::WebPluginInfo> > const&, GoogleUpdateMetrics const&, std::vector<chrome_variations::ActiveGroupId, std::allocator<chrome_variations::ActiveGroupId> > const&)':
metrics_log.cc:(.text._ZN10MetricsLog17RecordEnvironmentERKSt6vectorIN7content13WebPluginInfoESaIS2_EERK19GoogleUpdateMetricsRKS0_IN17chrome_variations13ActiveGroupIdESaISB_EE+0x5aa): undefined reference to `google::protobuf::MessageLite::SerializeToString(std::string*) const'
obj/chrome/libbrowser.a(browser.metrics): In function `MetricsLog::LoadSavedEnvironmentFromPrefs()':
metrics_log.cc:(.text._ZN10MetricsLog29LoadSavedEnvironmentFromPrefsEv+0x1e5): undefined reference to `google::protobuf::MessageLite::ParseFromString(std::string const&)'
obj/chrome/libbrowser.a(browser.variati): In function `chrome_variations::VariationsHttpHeaderProvider::UpdateVariationIDsHeaderValue()':
...
1500 lines of errors about unresolved symbols in google::protobuf

Thank you
Comment 8 Robert Cina 2014-08-18 18:49:16 UTC
Tried the patch referred to above as well here and it built properly up until the link step and then it failed the linker step on my system and failed to compile.
Comment 9 Rene Ladan freebsd_committer freebsd_triage 2014-08-18 19:20:32 UTC
If this is build outside of poudriere/tinderbox then it will be hard to support.
Chromium is just too complex to support every live system out there. Supporting every custom system will also steal time from porting future versions of Chromium.

Pre-built packages for FreeBSD 8.4-10.0 should be available this week.
Comment 10 Robert Cina 2014-08-18 19:42:59 UTC
Is poudriere/tinderbox the new way to build ports on Freebsd then? When did this change happen?
Comment 11 Rene Ladan freebsd_committer freebsd_triage 2014-08-18 19:44:29 UTC
No, but as I said I just cannot suport every possible combination of live systems out there.
Comment 12 oleg.nauman 2014-08-20 17:52:06 UTC
ok I was able to compile/link chromium with patch from Carlos but it is require recompilation of devel/protobuf and devel/re2 with USE_GCC=4.7 as well as recompilation of print/cups-client with GNUTLS support instead of OpenSSL
Unfortunately resulting 'chrome' binary segfaults immediately
So.. next release possibly, back to my Seamonkey
Comment 13 Carlos J Puga Medina 2014-08-24 11:46:23 UTC
Created attachment 146210 [details]
fix conflicting typedef in GL/glext.h and GLES2/gl2.h

> In file included from ../../gpu/command_buffer/service/buffer_manager.cc:10:
> In file included from ../../gpu/command_buffer/service/context_state.h:14:
> In file included from ../../gpu/command_buffer/service/query_manager.h:16:
> In file included from ../../gpu/command_buffer/service/feature_info.h:14:
> In file included from ../../gpu/command_buffer/service/gles2_cmd_validation.h:13:
> ../../gpu/command_buffer/common/gles2_cmd_format.h:41:26: error: typedef redefinition with different types ('khronos_intptr_t' (aka 'long') vs 'ptrdiff_t' (aka 'int'))
> typedef khronos_intptr_t GLintptr;
>                          ^
> /usr/local/include/GL/glext.h:6152:19: note: previous definition is here
> typedef ptrdiff_t GLintptr;
>                   ^
> In file included from ../../gpu/command_buffer/service/buffer_manager.cc:10:
> In file included from ../../gpu/command_buffer/service/context_state.h:14:
> In file included from ../../gpu/command_buffer/service/query_manager.h:16:
> In file included from ../../gpu/command_buffer/service/feature_info.h:14:
> In file included from ../../gpu/command_buffer/service/gles2_cmd_validation.h:13:
> ../../gpu/command_buffer/common/gles2_cmd_format.h:42:26: error: typedef redefinition with different types ('khronos_ssize_t' (aka 'long') vs 'ptrdiff_t' (aka 'int'))
> typedef khronos_ssize_t  GLsizeiptr;
>                          ^
> /usr/local/include/GL/glext.h:6153:19: note: previous definition is here
> typedef ptrdiff_t GLsizeiptr;
>                   ^
> 2 errors generated.
> [5619/13757] CXX obj/gpu/command_buffer/service/command_buffer_service.command_buffer_service.o
> ninja: build stopped: subcommand failed.
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
> the maintainer.
> *** Error code 1
> 
> Stop.
> make[1]: stopped in /usr/ports/www/chromium
> *** Error code 1
> 
> Stop.
> make: stopped in /usr/ports/www/chromium

I attached some patches to fix those errors in chromium 37.0.2062.94 (beta), so this will work with the previous release as well.
Comment 14 oleg.nauman 2014-08-24 14:07:11 UTC
It seems that patch failed to apply correctly:


===>   Applying FreeBSD patch /usr/ports/www/chromium/files/patch-chromium-gles2
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- ./gpu/command_buffer/common/gles2_cmd_format.h.orig        2014-08-20 21:02:37.000000000 +0200^M
|+++ ./gpu/command_buffer/common/gles2_cmd_format.h     2014-08-24 00:50:27.000000000 +0200^M
--------------------------
Patching file ./gpu/command_buffer/common/gles2_cmd_format.h using Plan A...
Hunk #1 failed at 39.
1 out of 1 hunks failed--saving rejects to ./gpu/command_buffer/common/gles2_cmd_format.h.rej
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|^M
|--- ./third_party/khronos/GLES2/gl2.h.orig     2014-08-20 21:03:05.000000000 +0200^M
|+++ ./third_party/khronos/GLES2/gl2.h  2014-08-24 11:39:22.000000000 +0200^M
--------------------------
Patching file ./third_party/khronos/GLES2/gl2.h using Plan A...
Hunk #1 failed at 38.
Hunk #2 failed at 68.
2 out of 2 hunks failed--saving rejects to ./third_party/khronos/GLES2/gl2.h.rej
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|^M
|--- ./third_party/mesa/src/include/GLES2/gl2.h.orig    2014-08-20 21:03:54.000000000 +0200^M
|+++ ./third_party/mesa/src/include/GLES2/gl2.h 2014-08-24 01:13:41.000000000 +0200^M
--------------------------
Patching file ./third_party/mesa/src/include/GLES2/gl2.h using Plan A...
Hunk #1 failed at 4.
Hunk #2 failed at 36.
2 out of 2 hunks failed--saving rejects to ./third_party/mesa/src/include/GLES2/gl2.h.rej
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|^M
|--- ./gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc.orig    2014-08-24 12:26:40.000000000 +0200^M
|+++ ./gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc 2014-08-24 12:33:01.000000000 +0200^M
--------------------------
Patching file ./gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc using Plan A...
Hunk #1 failed at 31.
Hunk #2 failed at 74.
2 out of 2 hunks failed--saving rejects to ./gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc.rej
done
=> Patch patch-chromium-gles2 failed to apply cleanly.
Comment 15 Carlos J Puga Medina 2014-08-24 14:14:30 UTC
You need to regenerate patches to apply it cleanly.

Use 'diff -urN file.orig file' to do it.
Comment 16 oleg.nauman 2014-08-24 14:48:13 UTC
Created attachment 146217 [details]
Patch for chromium 36.0.1985.143

Patch file regenerated for www/chromium 36.0.1985.143
Comment 17 Carlos J Puga Medina 2014-08-24 15:07:42 UTC
(In reply to oleg.nauman from comment #16)
> Created attachment 146217 [details]
> Patch for chromium 36.0.1985.143
> 
> Patch file regenerated for www/chromium 36.0.1985.143

Note that these patches fix chromium build with Clang.
Comment 18 oleg.nauman 2014-08-24 15:16:15 UTC
Yes it was clear
Build in progress, but unfortunately my desktop is old so it may take a while.

Thank you
Comment 19 oleg.nauman 2014-08-24 18:33:39 UTC
Created attachment 146222 [details]
Updated patch for www/chromium

Please notice difference in typedef's
Comment 20 oleg.nauman 2014-08-24 18:36:43 UTC
Unfortunately compilation fails on 9488th target even with updated patch:


CXX obj/ppapi/shared_impl/ppapi_shared.ppb_opengles2_shared.o
FAILED: c++ -MMD -MF obj/ppapi/shared_impl/ppapi_shared.ppb_opengles2_shared.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=206824 -DTOOLKIT_VIEWS=1 -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' -DGL_GLEXT_PROTOTYPES -DSK_ENABLE_INST_COUNT=0 -DSK_SUPPORT_GPU=1 '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' -DSK_ENABLE_LEGACY_API_ALIASING=1 -DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1 -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT -DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1 -DSK_SUPPORT_LEGACY_GETTOPDEVICE -DSK_SUPPORT_LEGACY_N32_NAME -DSK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE -DSK_SUPPORT_LEGACY_GETTOTALCLIP -DSK_USE_POSIX_THREADS -DSK_DEFERRED_CANVAS_USES_FACTORIES=1 -DU_USING_ICU_NAMESPACE=0 -DENABLE_WEBP -DUSE_SYSTEM_LIBJPEG -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DPPAPI_SHARED_IMPLEMENTATION -DPPAPI_THUNK_IMPLEMENTATION -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen/shim_headers/libpng/target -Igen/shim_headers/zlib/target -Igen/shim_headers/icuuc/target -Igen/shim_headers/icui18n/target -Igen/shim_headers/libevent/target -I../../third_party/khronos -I../../gpu -I/usr/local/include -I../.. -I../../skia/config -I../../third_party/WebKit/Source -I../../third_party/skia/src/core -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -I../../third_party/WebKit -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../v8/include -I../../third_party/ots/include -I../../third_party/qcms/src -I../../third_party/iccjpeg -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -Wno-absolute-value -momit-leaf-frame-pointer -fcolor-diagnostics -fPIC -fvisibility=hidden -pthread -I/usr/local/include/glib-2.0 -I/usr/local/include -I/usr/local/include -I/usr/local/include/libpng15 -I/usr/local/include -I/usr/local/include/freetype2 -msse2 -mmmx -m32 -O2 -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -march=core2 -fno-stack-protector -Wno-unknown-warning-option -fno-strict-aliasing -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../ppapi/shared_impl/ppb_opengles2_shared.cc -o obj/ppapi/shared_impl/ppapi_shared.ppb_opengles2_shared.o
In file included from ../../ppapi/shared_impl/ppb_opengles2_shared.cc:14:
In file included from ../../gpu/command_buffer/client/gles2_implementation.h:8:
../../third_party/khronos/GLES2/gl2.h:70:21: error: typedef redefinition with different types ('__ptrdiff_t' (aka 'int') vs 'long')
typedef __ptrdiff_t GLsizeiptr;
                    ^
../../ppapi/c/ppb_opengles2.h:38:18: note: previous definition is here
typedef long int GLsizeiptr;
                 ^
In file included from ../../ppapi/shared_impl/ppb_opengles2_shared.cc:14:
In file included from ../../gpu/command_buffer/client/gles2_implementation.h:8:
../../third_party/khronos/GLES2/gl2.h:71:21: error: typedef redefinition with different types ('__ptrdiff_t' (aka 'int') vs 'long')
typedef __ptrdiff_t GLintptr;
                    ^
../../ppapi/c/ppb_opengles2.h:37:18: note: previous definition is here
typedef long int GLintptr;
                 ^
In file included from ../../ppapi/shared_impl/ppb_opengles2_shared.cc:14:
In file included from ../../gpu/command_buffer/client/gles2_implementation.h:20:
In file included from ../../gpu/command_buffer/client/buffer_tracker.h:13:
../../gpu/command_buffer/common/gles2_cmd_format.h:41:21: error: typedef redefinition with different types ('__ptrdiff_t' (aka 'int') vs 'long')
typedef __ptrdiff_t GLintptr;
                    ^
../../ppapi/c/ppb_opengles2.h:37:18: note: previous definition is here
typedef long int GLintptr;
                 ^
In file included from ../../ppapi/shared_impl/ppb_opengles2_shared.cc:14:
In file included from ../../gpu/command_buffer/client/gles2_implementation.h:20:
In file included from ../../gpu/command_buffer/client/buffer_tracker.h:13:
../../gpu/command_buffer/common/gles2_cmd_format.h:42:21: error: typedef redefinition with different types ('__ptrdiff_t' (aka 'int') vs 'long')
typedef __ptrdiff_t GLsizeiptr;
                    ^
../../ppapi/c/ppb_opengles2.h:38:18: note: previous definition is here
typedef long int GLsizeiptr;
                 ^
4 errors generated.
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Comment 21 Carlos J Puga Medina 2014-08-24 18:49:38 UTC
Show previous error(s) before you change typedefs. I'm sure that chromium 36.0.1985.143 should build with typedef ptrdiff_t.
Comment 22 oleg.nauman 2014-08-24 18:57:14 UTC
clang was complaining about unknown type of ptrdiff_t and suggested to use __ptrdiff_t instead
Tomorrow I will provide you with exact error message.
Comment 23 Carlos J Puga Medina 2014-08-24 19:45:48 UTC
Created attachment 146224 [details]
patches reworked

Ok, I fixed these also. Attached patches, please regenerates it again for chromioum 36.0.1985.143.

Simply replace it (affected patches below)

- files/patch-gpu__command_buffer__common__gles2_cmd_format.h
- files/patch-third_party__khronos__GLES2__gl2.h
Comment 24 Robert Cina 2014-08-24 23:01:37 UTC
Since I initially reported this, I just want to confirm that chromium now builds and installs properly on my 10-stable system as of right now.
Comment 25 oleg.nauman 2014-08-25 06:40:24 UTC
Hello Carlos,

Unfortunately it fails to compile with your latest patch:

[5896/13757] CXX obj/gpu/command_buffer/client/gles2_implementation.client_context_state.o
FAILED: c++ -MMD -MF obj/gpu/command_buffer/client/gles2_implementation.client_context_state.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=206824 -DTOOLKIT_VIEWS=1 -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' -DGLES2_IMPL_IMPLEMENTATION -DGL_GLEXT_PROTOTYPES -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen/shim_headers/libpng/target -Igen/shim_headers/icui18n/target -Igen/shim_headers/icuuc/target -Igen/shim_headers/zlib/target -Igen/shim_headers/libevent/target -I../../third_party/khronos -I../../gpu -I/usr/local/include -I../.. -I../../skia/config -Igen/ui/gl -I../../third_party/mesa/src/include -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -Wno-absolute-value -momit-leaf-frame-pointer -fcolor-diagnostics -pthread -I/usr/local/include/glib-2.0 -I/usr/local/include -msse2 -mmmx -m32 -O2 -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -march=core2 -fno-stack-protector -Wno-unknown-warning-option -fno-strict-aliasing -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../gpu/command_buffer/client/client_context_state.cc -o obj/gpu/command_buffer/client/gles2_implementation.client_context_state.o
In file included from ../../gpu/command_buffer/client/client_context_state.cc:5:
In file included from ../../gpu/command_buffer/client/client_context_state.h:10:
../../third_party/khronos/GLES2/gl2.h:71:9: error: unknown type name 'ptrdiff_t'; did you mean '__ptrdiff_t'?
typedef ptrdiff_t GLsizeiptr;
        ^~~~~~~~~
        __ptrdiff_t                                                                                              
/usr/include/x86/_types.h:110:19: note: '__ptrdiff_t' declared here
typedef __int32_t       __ptrdiff_t;
                        ^
In file included from ../../gpu/command_buffer/client/client_context_state.cc:5:
In file included from ../../gpu/command_buffer/client/client_context_state.h:10:
../../third_party/khronos/GLES2/gl2.h:72:9: error: unknown type name 'ptrdiff_t'; did you mean '__ptrdiff_t'?
typedef ptrdiff_t GLintptr;
        ^~~~~~~~~
        __ptrdiff_t                                                                                              
/usr/include/x86/_types.h:110:19: note: '__ptrdiff_t' declared here
typedef __int32_t       __ptrdiff_t;
                        ^
2 errors generated.
[5896/13757] CXX obj/gpu/command_buffer/client/gles2_implementation.buffer_tracker.o
FAILED: c++ -MMD -MF obj/gpu/command_buffer/client/gles2_implementation.buffer_tracker.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=206824 -DTOOLKIT_VIEWS=1 -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' -DGLES2_IMPL_IMPLEMENTATION -DGL_GLEXT_PROTOTYPES -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen/shim_headers/libpng/target -Igen/shim_headers/icui18n/target -Igen/shim_headers/icuuc/target -Igen/shim_headers/zlib/target -Igen/shim_headers/libevent/target -I../../third_party/khronos -I../../gpu -I/usr/local/include -I../.. -I../../skia/config -Igen/ui/gl -I../../third_party/mesa/src/include -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -Wno-absolute-value -momit-leaf-frame-pointer -fcolor-diagnostics -pthread -I/usr/local/include/glib-2.0 -I/usr/local/include -msse2 -mmmx -m32 -O2 -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -march=core2 -fno-stack-protector -Wno-unknown-warning-option -fno-strict-aliasing -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../gpu/command_buffer/client/buffer_tracker.cc -o obj/gpu/command_buffer/client/gles2_implementation.buffer_tracker.o
In file included from ../../gpu/command_buffer/client/buffer_tracker.cc:5:
In file included from ../../gpu/command_buffer/client/buffer_tracker.h:8:
../../third_party/khronos/GLES2/gl2.h:71:9: error: unknown type name 'ptrdiff_t'; did you mean '__ptrdiff_t'?
typedef ptrdiff_t GLsizeiptr;
        ^~~~~~~~~
        __ptrdiff_t
/usr/include/x86/_types.h:110:19: note: '__ptrdiff_t' declared here
typedef __int32_t       __ptrdiff_t;
                        ^
In file included from ../../gpu/command_buffer/client/buffer_tracker.cc:5:
In file included from ../../gpu/command_buffer/client/buffer_tracker.h:8:
../../third_party/khronos/GLES2/gl2.h:72:9: error: unknown type name 'ptrdiff_t'; did you mean '__ptrdiff_t'?
typedef ptrdiff_t GLintptr;
        ^~~~~~~~~
        __ptrdiff_t
/usr/include/x86/_types.h:110:19: note: '__ptrdiff_t' declared here
typedef __int32_t       __ptrdiff_t;
                        ^
2 errors generated.
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to


Thank you
Comment 26 Carlos J Puga Medina 2014-08-26 13:13:08 UTC
Created attachment 146307 [details]
fix conflicting typedefs

Tested with chromium 37.0.2062.94.

I'm writting this from it :)
Comment 27 oleg.nauman 2014-08-27 09:24:08 UTC
I was able to build chromium 37.0.2062.94 ( from ports tree without additional patches ) on 10-STABLE machine.

Thank you for your hard work Carlos!
Comment 28 Carlos J Puga Medina 2014-08-27 17:51:06 UTC
(In reply to oleg.nauman from comment #27)
> I was able to build chromium 37.0.2062.94 ( from ports tree without
> additional patches ) on 10-STABLE machine.
> 
> Thank you for your hard work Carlos!

You're welcome :)

The patches were included in chromium/files/patch-manual-build
Comment 29 bkarp 2014-08-31 21:43:07 UTC
I'm running 10.0-RELEASE, updated with freebsd-update to p7:

FreeBSD x.y.z 10.0-RELEASE-p7 FreeBSD 10.0-RELEASE-p7 #0: Tue Jul  8 06:37:44 UTC 2014     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

When I try to build Chromium 37.0.2062.94 using the latest revision of the port (at this writing) and clang 33 (default 10.0-RELEASE compiler), I get the same compilation errors that Robert Cina initially reported with an earlier revision of the port. In particular, the first compilation error I encounter is:

[7399/14924] CXX obj/third_party/WebKi...ebcore_generated.V8ArrayBufferCustom.o
FAILED: clang++35 -MMD -MF obj/third_party/WebKit/Source/bindings/v8/custom/webcore_generated.V8ArrayBufferCustom.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=209387 -DTOOLKIT_VIEWS=1 -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' '-DDATA_REDUCTION_DEV_HOST="http://proxy-dev.googlezip.net:80/"' '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' -DGL_GLEXT_PROTOTYPES -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DUSE_SYSTEM_ZLIB -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_SVG_FONTS=1 -DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1 -DENABLE_INPUT_MULTIPLE_FIELDS_UI=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_WEB_AUDIO=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DENABLE_OPENTYPE_VERTICAL=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DSK_ENABLE_INST_COUNT=0 -DSK_SUPPORT_GPU=1 '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' -DSK_ENABLE_LEGACY_API_ALIASING=1 -DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1 -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT -DSK_SUPPORT_LEGACY_GETTOPDEVICE -DSK_SUPPORT_LEGACY_BITMAP_CONFIG -DSK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUE -DSK_SUPPORT_LEGACY_N32_NAME -DSK_SUPPORT_LEGACY_SETCONFIG -DSK_IGNORE_ETC1_SUPPORT -DSK_IGNORE_GPU_DITHER -DSK_SUPPORT_LEGACY_GETTOTALCLIP -DSK_USE_POSIX_THREADS -DSK_DEFERRED_CANVAS_USES_FACTORIES=1 -DENABLE_WEBP -DUSE_SYSTEM_LIBXML -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen/shim_headers/libpng/target -Igen/shim_headers/harfbuzz-ng/target -Igen/shim_headers/libevent/target -Igen/shim_headers/zlib/target -Igen/shim_headers/icuuc/target -Igen/shim_headers/icui18n/target -Igen -I../../third_party/WebKit/Source -Igen/blink/core -Igen/blink/modules -Igen/blink/bindings/core/v8 -Igen/blink/bindings/modules/v8 -Igen/blink -I../.. -I../../skia/config -I../../third_party/khronos -I../../gpu -I/usr/local/include -I../../third_party/angle/include -I../../third_party/ffmpeg -I../../third_party/WebKit -I../../third_party/ots/include -I../../third_party/skia/src/core -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -I../../third_party/iccjpeg -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../third_party/qcms/src -I../../third_party/sqlite -I../../v8/include -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -fcolor-diagnostics -fno-strict-aliasing -Wglobal-constructors -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include -pthread -I/usr/local/include/glib-2.0 -I/usr/local/include -I/usr/local/include/libpng15 -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/libxml2 -Wexit-time-destructors -m64 -march=x86-64 -O2 -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -fno-stack-protector -Wno-unknown-warning-option -fno-strict-aliasing -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../third_party/WebKit/Source/bindings/v8/custom/V8ArrayBufferCustom.cpp -o obj/third_party/WebKit/Source/bindings/v8/custom/webcore_generated.V8ArrayBufferCustom.o
In file included from ../../third_party/WebKit/Source/bindings/v8/custom/V8ArrayBufferCustom.cpp:32:
In file included from ../../third_party/WebKit/Source/bindings/v8/custom/V8ArrayBufferCustom.h:29:
In file included from ../../third_party/WebKit/Source/bindings/v8/V8Binding.h:35:
In file included from ../../third_party/WebKit/Source/bindings/v8/DOMWrapperWorld.h:34:
In file included from ../../third_party/WebKit/Source/bindings/v8/ScriptState.h:8:
../../third_party/WebKit/Source/bindings/v8/ScopedPersistent.h:61:60: error: no type named 'WeakCallbackData' in namespace 'v8'
    void setWeak(P* parameters, void (*callback)(const v8::WeakCallbackData<T, P>&))
                                                       ~~~~^
../../third_party/WebKit/Source/bindings/v8/ScopedPersistent.h:61:76: error: expected ')'
    void setWeak(P* parameters, void (*callback)(const v8::WeakCallbackData<T, P>&))
                                                                           ^
../../third_party/WebKit/Source/bindings/v8/ScopedPersistent.h:61:49: note: to match this '('
    void setWeak(P* parameters, void (*callback)(const v8::WeakCallbackData<T, P>&))

[and the others continue as in Robert's original report...]

Note that none of these compilation errors have to do with GL-related types (which others seemed to have trouble with later in the comment history). Rather, they seem to do with clang not finding type definitions in the v8 namespace while attempting to compile WebKit.

My initial thought was that this might be some sort of bug in clang 33 tickled by the Chromium source. So apart from "stock" clang (33), I then tried building with lang/clang34 and lang/clang35 (by using portupgrade with -M "CC=clang34 CXX=clang++34"). Alas, I get the same compilation errors with each. And I've verified with ps that I'm successfully causing the build to use these various versions of clang.

Robert: did you make any changes to your build other than updating to the latest revision of the port? Did you manually modify the Makefile to build with gcc47? Or did you have success building with the stock 10.0-RELEASE clang (33)?

Anyone else seeing the compilation errors that Robert first did and I still am?
Comment 30 Robert Cina 2014-08-31 22:33:44 UTC
I had issues with the Chromium 36 build on my 10-stable system.  Tried building using the suggestions in this bug report of changing the makefile to use gcc47 but that didn't solve my issues.  However, in the interim, while doing something unrelated I messed my system up and had to reinstall from scratch.  After reinstalling, and updating to a 10-stable system I was able to get the stock chromium port to build for version 36 and version 37 without alterations.  So chrome works for me now. I really don't know what the cause of my error was or how to track it down since I literally rebuilt my system.  Sorry I can't be more helpful.
Comment 31 bkarp 2014-09-01 01:41:44 UTC
Problem with missing type names in the v8 namespace solved.

To the maintainers:

The chromium port incorrectly picks up the include files in /usr/local/include from any v8 package installation present on the system during build. At the moment, the version of v8 installed by the FreeBSD port/package is different than (older than, one presumes?) the version of v8 included in the chromium 37 sources.

After removing my v8 package, I was able to do a "stock" build of the current chromium 37 port on my 10.0-RELEASE p7 box.

The fix would seem to be to tweak the -I arguments to the chromium port build to prefer the v8 include files within the chromium build tree to those installed in /usr/local (and analogous changes for libraries?).

FWIW, I'd imagine this build breakage may affect others who have v8 installed. So a fix might save others from needing to build chromium in poudriere...
Comment 32 Jan Beich freebsd_committer freebsd_triage 2014-09-01 15:29:27 UTC
Could you perhaps try with the patch from bug 193187? It was based on a similar issue I had with gecko: www/firefox vs. old version of standalone JS engine in lang/spidermonkey*.
Comment 33 bkarp 2014-09-01 23:05:55 UTC
I can confirm that modifying the Makefile for www/chromium to add -isystem to CFLAGS with:

CFLAGS+=        -fno-stack-protector -isystem${LOCALBASE}/include

allows my build of www/chromium to complete successfully on 10.0-RELEASE-p7, despite the prior installation of v8 in /usr/local.

This change (also mentioned in bug 193187) would appear to fix the poisoning of the www/chromium build by include files from an installed v8 port in /usr/local/include .

Thanks, Jan!

(In reply to Jan Beich from comment #32)
> Could you perhaps try with the patch from bug 193187? It was based on a
> similar issue I had with gecko: www/firefox vs. old version of standalone JS
> engine in lang/spidermonkey*.
Comment 34 Rene Ladan freebsd_committer freebsd_triage 2014-09-02 06:19:33 UTC
Fixed in r366965