Fwd: Use of _LIBCPP_TRIVIAL_PAIR_COPY_CTOR in www/chromium

René Ladan rene at freebsd.org
Sun Oct 16 18:40:21 UTC 2016


Forwarding a compilation failure with clang 3.9.0 which is currently
being tested in FreeeBSD 12.

René

---------- Forwarded message ----------
From: Dimitry Andric <dim at freebsd.org>
Date: 2016-10-16 20:05 GMT+02:00
Subject: Use of _LIBCPP_TRIVIAL_PAIR_COPY_CTOR in www/chromium
To: Christoph Moench-Tegeder <cmt at freebsd.org>
Cc: Martin Wilke <miwi at freebsd.org>, René Ladan <rene at freebsd.org>,
Antoine Brodin <antoine at freebsd.org>


Hi,

For PR 212343, which did an exp-run with clang and libc++ 3.9.0, I am
having a look at www/chromium, which failed to build [1] in the
following manner:

c++ -MMD -MF obj/v8/src/base/v8_libbase.cpu.o.d
-DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC
-DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=269902-1
-DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1
-DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1
-DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_WEBRTC=1
-DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS
-DENABLE_NOTIFICATIONS -DENABLE_TOPCHROME_MD=1
-DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1
-DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGINS=1
-DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_PRINTING=1
-DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1
-DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1
-DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1
-DENABLE_SERVICE_DISCOVERY=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD
-DSAFE_BROWSING_DB_LOCAL -DV8_TARGET_ARCH_IA32 -DV8_I18N_SUPPORT
-DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DNDEBUG -DNVALGRIND
-DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../v8 -Igen -fstack-protector
--param=ssp-buffer-size=4  -pthread -fno-strict-aliasing -Wall
-Wno-unused-parameter -Wno-missing-field-initializers
-fvisibility=hidden -pipe -fPIC -momit-leaf-frame-pointer
-mstack-alignment=16 -mstackrealign -fcolor-diagnostics
-Wheader-hygiene -Wno-char-subscripts
-Wno-unneeded-internal-declaration -Wno-covered-switch-default
-Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register
-Wno-inconsistent-missing-override -Wno-shift-negative-value
-Wno-undefined-var-template -Wno-unused-variable -msse2 -mfpmath=sse
-mmmx -I/usr/local/include -msse2 -mfpmath=sse -mmmx -m32 -m32
-fno-ident -fdata-sections -ffunction-sections -funwind-tables
-fdata-sections -ffunction-sections -O3 -O2 -pipe
-isystem/usr/local/include -I/usr/local/include/atk-1.0
-Wno-unknown-warning-option -D_LIBCPP_TRIVIAL_PAIR_COPY_CTOR=1
-fstack-protector -fno-strict-aliasing -fno-exceptions -fno-rtti
-fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11
-Wno-deprecated  -c ../../v8/src/base/cpu.cc -o
obj/v8/src/base/v8_libbase.cpu.o
In file included from ../../v8/src/base/cpu.cc:5:
In file included from ../../v8/src/base/cpu.h:16:
In file included from ../../v8/src/base/macros.h:9:
In file included from ../../v8/src/base/format-macros.h:24:
In file included from /usr/include/c++/v1/stddef.h:40:
/usr/include/c++/v1/__config:58:2: error:
"_LIBCPP_TRIVIAL_PAIR_COPY_CTOR" is no longer supported.        use
_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR instead
#error "_LIBCPP_TRIVIAL_PAIR_COPY_CTOR" is no longer supported. \
 ^
1 error generated.

This is because upstream libc++ has replaced the
_LIBCPP_TRIVIAL_PAIR_COPY_CTOR define with
_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR, together with
some other restructuring around std::pair's copy constructors.

I see the -D_LIBCPP_TRIVIAL_PAIR_COPY_CTOR flag was added in ports
r412135 [2], as part of updating chromium to 49.0.2623.110.  Apparently
some port of chromium relied on std::pair's copy constructor being
trivial, but I am unsure if it is still needed with chromium
52.0.2743.116?  For me, the latest port compiles just fine when I
deleted the define.

-Dimitry

[1] http://package18.nyi.freebsd.org/data/headi386PR212343-default/2016-09-11_07h04m19s/logs/errors/chromium-52.0.2743.116.log
[2] https://svnweb.freebsd.org/ports?view=revision&revision=412135



-- 
https://rene-ladan.nl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 201 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-chromium/attachments/20161016/66f642f3/attachment.sig>


More information about the freebsd-chromium mailing list