and end up with the following compile error:
- Code: Select all
/opt/secondlife/3p/llceflib/3p-llceflib/chromium_git/chromium/src>ninja -C out/Debug_GN_x64 cef
ninja: Entering directory `out/Debug_GN_x64'
[3/9978] CXX obj/cef/cefclient/root_window.o
FAILED: obj/cef/cefclient/root_window.o
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/cef/cefclient/root_window.o.d -DV8_DEPRECATION_WARNINGS -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DDISABLE_NACL -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DOFFICIAL_BUILD -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"296320-1\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DCFI_ENFORCEMENT -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DTOOLKIT_VIEWS=1 -I../.. -Igen -I../../build/linux/debian_wheezy_amd64-sysroot/usr/include/glib-2.0 -I../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../third_party/khronos -I../../gpu -I../../third_party/libwebp -I../../cef -Iincludes -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -fcolor-diagnostics -flto -fwhole-program-vtables -m64 -march=x86-64 -pthread -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-block-capture-autoreleasing -Wno-unused-lambda-capture -Wno-user-defined-warnings -O2 -fno-ident -fdata-sections -ffunction-sections -g1 --sysroot=../../build/linux/debian_wheezy_amd64-sysroot -fsanitize=cfi-vcall -fsanitize-blacklist=../../tools/cfi/blacklist.txt -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -c ../../cef/tests/cefclient/browser/root_window.cc -o obj/cef/cefclient/root_window.o
In file included from ../../cef/tests/cefclient/browser/root_window.cc:5:
In file included from ../../cef/tests/cefclient/browser/root_window.h:13:
../../cef/tests/cefclient/browser/client_types.h:12:10: fatal error: 'gtk/gtk.h' file not found
#include <gtk/gtk.h>
^~~~~~~~~~~
1 error generated.
when trying to build on a linux 64bit machine.
Following instructions on AutomatedBuildSetup, I'm using the following environment variables:
- Code: Select all
export BASE="/opt/secondlife/3p/llceflib/3p-llceflib"
export BRANCH=3029
export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox
export CEF_USE_GN=1
export GN_DEFINES="is_official_build=true use_sysroot=true use_allocator=none symbol_level=1"
export GYP_DEFINES="disable_nacl=1 use_sysroot=1 buildtype=Official use_allocator=none"
export CEF_ARCHIVE_FORMAT=tar.bz2
while my PATH is "$BASE/depot_tools:$OLDPATH"
Following the instructions on BranchesAndBuilding for "Manual Downloading", I installed
chromium as follows:
- Code: Select all
cd $BASE
curl 'https://chromium.googlesource.com/chromium/src/+/master/build/install-build-deps.sh?format=TEXT' | base64 -d > install-build-deps.sh
chmod 755 install-build-deps.sh
sudo ./install-build-deps.sh --no-syms --no-arm --no-chromeos-fonts --no-nacl
sudo apt install libgtkglext1-dev
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
mkdir -p $BASE/chromium_git/chromium
cd $BASE/chromium_git/chromium
fetch --nohooks chromium
cd src
gclient sync --nohooks --with_branch_heads
git fetch
git fetch --tags
and CEF with:
- Code: Select all
cd $BASE/chromium_git/chromium/src
git clone https://bitbucket.org/chromiumembedded/cef.git
cd cef
git checkout -t origin/$BRANCH
Then checked out the correct chromium release version and updated the third-party dependencies as follows
(this is reversed from BranchesAndBuilding because really I read the refs/tags/58.0.3029.33 from
cef/CHROMIUM_BUILD_COMPATIBILITY.txt that was just checkout out):
- Code: Select all
cd $BASE/chromium_git/chromium/src
git checkout refs/tags/58.0.3029.33
gclient sync --jobs 16
Then, as found on MasterBuildQuickStart, I created the project files by running
- Code: Select all
cd $BASE/chromium_git/chromium/src/cef
./cef_create_projects.sh
Note that CEF_USE_GN=1 is already set in my environment.
Also not in the order as given on the wiki, but this works and
why not get it out of the way, then I did:
- Code: Select all
cd $BASE/chromium_git/chromium/src
sudo rm -f "$CHROME_DEVEL_SANDBOX"
ninja -C out/Release_GN_x64 chrome_sandbox
BUILDTYPE=Release_GN_x64 ./build/update-linux-sandbox.sh
Note that the wiki has this wrong; it tells you to run './build/update-linux-sandbox.sh BUILDTYPE=Release_GN_x64' which can't and doesn't work.
And finally attempt to build everything else by running:
- Code: Select all
cd $BASE/chromium_git/chromium/src
ninja -C out/Debug_GN_x64 cef
which then ends with the above error.
Any help would be greatly appreciated.