[Interest] QWE 5.9.3/Linux: chromium/crypto build trips over headers from the installed system openssl

René J.V. Bertin rjvbertin at gmail.com
Thu Dec 21 19:35:20 CET 2017


Hi,

As mentioned in another post, I'm running into a build failure due to a conflict between WE's boringssl and the installed openssl headers: see the build log extract below.

I do not see any obvious configuration options to use either boringssl or the system openssl; google suggests that this could be done through patching but before the "move to gn". 

I don't remember having this issue while building QWE 5.8.0 a couple of months ago. 

Any ideas?
Thanks,
R.

Configure log:

[SNIP]
WARNING: /opt/local/share/qt5/mkspecs/features/qt_configure.prf:1265: Unescaped backslashes are deprecated
WARNING: /opt/local/share/qt5/mkspecs/features/qt_configure.prf:1266: Unescaped backslashes are deprecated

Running configuration tests...
Checking for ALSA... yes
Checking for embedded... no
Checking for PulseAudio >= 0.9.10... yes
Checking for Python 2... /opt/local/bin/python2
Checking for libavcodec libavformat libavutil... yes
Checking for opus... yes
Checking for libwebp and libwebpdemux... yes
Checking for system ninja... yes
Checking for re2... no
Done running configuration tests.

Configure summary:

Qt WebEngine:
  Embedded build ......................... no
  Pepper Plugins ......................... yes
  Printing and PDF ....................... yes
  Proprietary Codecs ..................... yes
  Spellchecker ........................... yes
  WebRTC ................................. yes
  Using system ninja ..................... yes
  ALSA ................................... yes
  PulseAudio ............................. yes
  System libraries:
    re2 .................................. no
    ICU .................................. no
    libwebp and libwebpdemux ............. yes
    Opus ................................. yes
    ffmpeg ............................... yes
[SNIP]
Running configure tests
Checking for alsa... yes
Checking for khr... yes
Checking for libvpx... no
Checking for re2... no
Checking for snappy... yes
Checking for winversion... no
System libxml2 is not configured with ICU. Using Chromium's copy.
System libevent not found. Using Chromium's copy.
Compatible system libvpx not found. Using Chromium's copy.
System library dependencies:
  Optional system libraries used ..... snappy ffmpeg opus libwebp opus ffmpeg minizip zlib jsoncpp protobuf snappy
  Optional bundled libraries used .... icu libevent libvpx
Configurable features:
  Geolocation ........................ Enabled
  Certificate handling ............... Using system NSS

Build log:
[SNIP]

[3320/18423] CXX obj/crypto/crypto/rsa_private_key.o
FAILED: obj/crypto/crypto/rsa_private_key.o 
/usr/bin/c++ -MMD -MF obj/crypto/crypto/rsa_private_key.o.d -DCRYPTO_IMPLEMENTATION -DV8_DEPRECATION_WARNINGS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -Igen -I../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/boringssl/src/include -I/usr/include/nss -I/usr/include/nspr -I../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/icu/source/common -I../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Os -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-delete-null-pointer-checks -Wno-narrowing -fno-rtti -fno-exceptions -c ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/crypto/rsa_private_key.cc -o obj/crypto/crypto/rsa_private_key.o
In file included from /opt/local/include/openssl/bn.h:129:0,
                 from /opt/local/include/openssl/engine.h:75,
                 from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/boringssl/src/include/openssl/rsa.h:62,
                 from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/crypto/rsa_private_key.cc:18:
/opt/local/include/openssl/e_os2.h:276:0: warning: "OPENSSL_EXPORT" redefined
 #  define OPENSSL_EXPORT extern

In file included from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/crypto/rsa_private_key.h:17:0,
                 from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/crypto/rsa_private_key.cc:5:
../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/boringssl/src/include/openssl/base.h:164:0: note: this is the location of the previous definition
 #define OPENSSL_EXPORT
[SNIP]
In file included from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/crypto/rsa_private_key.cc:17:0:
../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/boringssl/src/include/openssl/mem.h:80:0: note: this is the location of the previous definition
 #define OPENSSL_free free

In file included from /opt/local/include/openssl/bn.h:134:0,
                 from /opt/local/include/openssl/engine.h:75,
                 from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/boringssl/src/include/openssl/rsa.h:62,
                 from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/crypto/rsa_private_key.cc:18:
/opt/local/include/openssl/crypto.h:534:56: error: macro "OPENSSL_malloc" passed 3 arguments, but takes just 1
 void *CRYPTO_malloc(int num, const char *file, int line);
                                                        ^           
/opt/local/include/openssl/crypto.h:537:69: error: macro "OPENSSL_realloc" passed 4 arguments, but takes just 2
 void *CRYPTO_realloc(void *addr, int num, const char *file, int line);
                                                                     ^           
In file included from /opt/local/include/openssl/engine.h:75:0,
                 from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/third_party/boringssl/src/include/openssl/rsa.h:62,
                 from ../../../../qt-everywhere-opensource-src-5.9.3/qtwebengine/src/3rdparty/chromium/crypto/rsa_private_key.cc:18:




More information about the Interest mailing list