Linking Error building Cef from Source

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Linking Error building Cef from Source

Postby rubicscube » Wed Aug 30, 2017 7:52 am

Hi,
I'm working on a virtual machine, Ubuntu 16.04 LTS 64bit and i'm trying to build CEF/Chromium from source. I followed the instructions from https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart and everything worked fine up to step 8. I'm trying to build a 32bit distribution on a 64bit system, so i looked at https://bitbucket.org/chromiumembedded/cef/wiki/AutomatedBuildSetup.md#markdown-header-linux-configuration for the correct Linux configuration.
There occur no errors until it starts with SOLINK ./libcef.so
So here is the output:

Code: Select all
~/code/chromium_git/chromium/src$ ninja -C out/Release_GN_x86 -j4 cefsimple chrome_sandbox
ninja: Entering directory `out/Release_GN_x86'
[16502/16503] SOLINK ./libcef.so
FAILED: python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="nm" --sofile="./libcef.so" --tocfile="./libcef.so.TOC" --output="./libcef.so"  -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,--version-script=/home/cef/code/chromium_git/chromium/src/cef/libcef_dll/libcef.lst -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed -fuse-ld=gold -B../../third_party/binutils/Linux_x64/Release/bin -Wl,--threads -Wl,--thread-count=4 -Wl,--icf=all -nodefaultlibs -m32 -Werror -Wl,-O1 -Wl,--gc-sections --sysroot=../../build/linux/debian_jessie_i386-sysroot -L../../build/linux/debian_jessie_i386-sysroot/lib/i386-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/lib/i386-linux-gnu -L../../build/linux/debian_jessie_i386-sysroot/usr/lib/i386-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/usr/lib/i386-linux-gnu -L../../build/linux/debian_jessie_i386-sysroot/lib/i586-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/lib/i586-linux-gnu -L../../build/linux/debian_jessie_i386-sysroot/usr/lib/i586-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/usr/lib/i586-linux-gnu -Wl,--export-dynamic -o "./libcef.so" -Wl,-soname="libcef.so" @"./libcef.so.rsp"
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: internal error in get_section_contents, at icf.cc:467
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.


I already tried different builds (Debug and Release for x86 as well as for x64). I always got the same error. I read that a x86 build on a x64 host only works for release builds, so i continued with release builds. I also tried without -j4, didn't change the result.

If anybody knows this issue, it would be great if you can help me out.
rubicscube
Newbie
 
Posts: 5
Joined: Thu Jun 29, 2017 5:38 am

Re: Linking Error building Cef from Source

Postby rubicscube » Mon Sep 04, 2017 10:34 am

Hi,
so i started a new try today. As i described before i'm following the instructions from https://bitbucket.org/chromiumembedded/ ... inux-setup
I read that a --force-update flag could solve my problem (http://magpcss.org/ceforum/viewtopic.php?f=6&t=15051), so i added this flag and --force-clean in my update.sh script. When i started the new build the following error occured:

Code: Select all
~/code/chromium_git/chromium/src$ ninja -C out/Release_GN_x64 -j4 cefsimple chrome_sandbox
ninja: Entering directory `out/Release_GN_x64'
[15588/29822] ACTION //cef:make_pack_header_strings(//build/toolchain/linux:clang_x64)
File includes/include/cef_pack_strings.h updated.
[15591/29822] ACTION //cef:make_pack_header_resources(//build/toolchain/linux:clang_x64)
File includes/include/cef_pack_resources.h updated.
[18522/29822] CXX obj/content/browser/browser/browser_accessibility_auralinux.o
FAILED: obj/content/browser/browser/browser_accessibility_auralinux.o
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/content/browser/browser/browser_accessibility_auralinux.o.d -DENABLE_SCREEN_CAPTURE=1 -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DDISABLE_NACL -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"307486-1\" -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 -DCONTENT_IMPLEMENTATION -DV8_USE_EXTERNAL_STARTUP_DATA -DATK_LIB_DIR=\"/usr/lib/x86_64-linux-gnu\" -DUSE_GCONF -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DENABLE_IPC_FUZZER -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_SUPPORT_GPU=1 -DLEVELDB_PLATFORM_CHROMIUM=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 -DFEATURE_ENABLE_VOICEMAIL -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH -DNO_SOUND_SYSTEM -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DNO_MAIN_THREAD_WRAPPING -DFLAC__NO_DLL -I../.. -Igen -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gconf/2 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I../../third_party/libwebp/src -I../../third_party/khronos -I../../gpu -I../../third_party/protobuf/src -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/third_party/vulkan -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/protobuf/src -Igen/protoc_out -Igen/components/metrics/proto -I../../third_party/boringssl/src/include -I/usr/include/nss -I/usr/include/nspr -I../../third_party/libwebm/source -Igen -I../../third_party/WebKit -Igen/third_party/WebKit -I../../v8/include -Igen/v8/include -I../../third_party/mesa/src/include -I../../third_party/WebKit/Source -I../../third_party/WebKit -Igen/blink -Igen/third_party/WebKit -I../../third_party/angle/src/common/third_party/base -Igen/angle -I../../third_party/brotli/include -I../../third_party/libyuv/include -I../../third_party/re2/src -I../../third_party/zlib -I../../third_party/webrtc_overrides -I../../testing/gtest/include -I../../third_party -I../../third_party/webrtc_overrides -I../../third_party -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -m64 -march=x86-64 -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -O2 -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wno-unused-local-typedef -Wno-unused-function -Wno-header-guard -std=gnu++11 -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -c ../../content/browser/accessibility/browser_accessibility_auralinux.cc -o obj/content/browser/browser/browser_accessibility_auralinux.o
../../content/browser/accessibility/browser_accessibility_auralinux.cc:574:31: error: use of undeclared identifier 'atk_state_set'; did you mean 'state_set'?
      atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
                              ^~~~~~~~~~~~~
                              state_set
../../content/browser/accessibility/browser_accessibility_auralinux.cc:556:16: note: 'state_set' declared here
  AtkStateSet* state_set = ATK_OBJECT_CLASS(browser_accessibility_parent_class)
               ^
1 error generated.
[18525/29822] CXX obj/content/browser/browser/host_zoom_map_impl.o
ninja: build stopped: subcommand failed.


As you can see i'm trying a 64 bit build, so i don't know if this is important.

So has anybody of you seen this error before? If somebody could help me out this would be great!
thanks.
rubicscube
Newbie
 
Posts: 5
Joined: Thu Jun 29, 2017 5:38 am

Re: Linking Error building Cef from Source

Postby rubicscube » Tue Sep 05, 2017 8:51 am

UPDATE:
So i changed atk_state_set to state_set, as recommended by the compiler. I don't know what went wrong here, but now the 64 bit Release build is working.
I think the problem in the first place was the missing --force-update flag. Just wanted to let you know.
Best regards!
rubicscube
Newbie
 
Posts: 5
Joined: Thu Jun 29, 2017 5:38 am

Re: Linking Error building Cef from Source

Postby magreenblatt » Mon Sep 11, 2017 2:20 pm

I can reproduce this error with 3163 branch. Filed as https://bitbucket.org/chromiumembedded/cef/issues/2256
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 51 guests