GLIBC_2.14 not found on Debian 7

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.

Re: GLIBC_2.14 not found on Debian 7

Postby magreenblatt » Tue Nov 11, 2014 3:27 pm

Mayhew wrote:Maybe I should clarify, building it on Debian 7 may make it work.

Right, it should work if built on Debian 7.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: GLIBC_2.14 not found on Debian 7

Postby Mayhew » Tue Nov 11, 2014 4:55 pm

I can confirm that the cefclient built from cefbuilds.com does not launch on Debian 7. It complains about GLIBC-2.15 not being found.
Mayhew
Expert
 
Posts: 303
Joined: Mon Apr 18, 2011 8:02 pm

Re: GLIBC_2.14 not found on Debian 7

Postby Mayhew » Thu Nov 13, 2014 4:08 pm

I'm still trying to get the automated build to compile on Debian 7. The install-build-deps.sh script doesn't run so I'm having to figure out all the required packages manually which is taking a while.

When you build on Debian do you need to add the macros below to the preprocessor defines to ensure that the fdelt_chk calls are not compiled?
-U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=0
Mayhew
Expert
 
Posts: 303
Joined: Mon Apr 18, 2011 8:02 pm

Re: GLIBC_2.14 not found on Debian 7

Postby Mayhew » Fri Nov 14, 2014 5:04 pm

I finally got to the linking stage and keep getting
obj/third_party/WebKit/Source/core/svg/webcore_svg.SVGMaskElement.o: could not read symbols: Memory exhausted
Details from the console are below.
The VM has plenty of ram available (16GB total) and hard disk space.

Any ideas?

-------- Running "ninja -v -Cout/Debug cefclient chrome_sandbox" in "/home/jmayhew/src/cef/chromium/src"...
ninja: Entering directory `out/Debug'
ninja: warning: multiple rules generate files/osr_test.html. builds involving this target will not be correct; continuing anyway
[1/44] cd ../../cef; python tools/repack_locales.py -g ../out/Debug/gen/cef -s ../out/Debug/gen -x ../out/Debug/locales am ar bg bn ca cs da de el en-GB en-US es-419 es et fa fi fil fr gu he hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk vi zh-CN zh-TW
[2/42] if [ ! -e lib/libcef.so -o ! -e lib/libcef.so.TOC ]; then c++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -m32 -Wl,--no-as-needed -o lib/libcef.so -Wl,-soname=libcef.so @lib/libcef.so.rsp && { readelf -d lib/libcef.so | grep SONAME ; nm -gD -f p lib/libcef.so | cut -f1-2 -d' '; } > lib/libcef.so.TOC; else c++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -m32 -Wl,--no-as-needed -o lib/libcef.so -Wl,-soname=libcef.so @lib/libcef.so.rsp && { readelf -d lib/libcef.so | grep SONAME ; nm -gD -f p lib/libcef.so | cut -f1-2 -d' '; } > lib/libcef.so.tmp && if ! cmp -s lib/libcef.so.tmp lib/libcef.so.TOC; then mv lib/libcef.so.tmp lib/libcef.so.TOC ; fi; fi
FAILED: if [ ! -e lib/libcef.so -o ! -e lib/libcef.so.TOC ]; then c++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -m32 -Wl,--no-as-needed -o lib/libcef.so -Wl,-soname=libcef.so @lib/libcef.so.rsp && { readelf -d lib/libcef.so | grep SONAME ; nm -gD -f p lib/libcef.so | cut -f1-2 -d' '; } > lib/libcef.so.TOC; else c++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -m32 -Wl,--no-as-needed -o lib/libcef.so -Wl,-soname=libcef.so @lib/libcef.so.rsp && { readelf -d lib/libcef.so | grep SONAME ; nm -gD -f p lib/libcef.so | cut -f1-2 -d' '; } > lib/libcef.so.tmp && if ! cmp -s lib/libcef.so.tmp lib/libcef.so.TOC; then mv lib/libcef.so.tmp lib/libcef.so.TOC ; fi; fi
obj/third_party/WebKit/Source/core/svg/webcore_svg.SVGMaskElement.o: could not read symbols: Memory exhausted
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/jmayhew/src/cef/automate-git.py", line 898, in <module>
if options.buildlogfile else None)
File "/home/jmayhew/src/cef/automate-git.py", line 74, in run
shell=(sys.platform == 'win32'))
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-v', '-Cout/Debug', 'cefclient', 'chrome_sandbox']' returned non-zero exit status 1
Mayhew
Expert
 
Posts: 303
Joined: Mon Apr 18, 2011 8:02 pm

Re: GLIBC_2.14 not found on Debian 7

Postby magreenblatt » Fri Nov 14, 2014 6:12 pm

Are you perhaps building with a 32-bit toolchain? The process memory limit could explain the error message.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: GLIBC_2.14 not found on Debian 7

Postby Mayhew » Fri Nov 14, 2014 6:59 pm

Yes, I'm trying to build the 32-bit binaries in a 32-bit Debian VM. Should I be building both 32 and 64-bit on a 64-bit VM?

https://code.google.com/p/chromium/wiki ... uild32On64 (linked from the CEF Branches and Building WIKI pages states)
"OBSOLETE: Building 32-bit Chromium on 64-bit Linux is no longer officially supported. The "32-bit compatibility libs" instructions probably won't work. The chroot instructions are your best bet, but it is not actively tested or maintained."
Mayhew
Expert
 
Posts: 303
Joined: Mon Apr 18, 2011 8:02 pm

Re: GLIBC_2.14 not found on Debian 7

Postby Mayhew » Mon Nov 17, 2014 1:32 pm

Finally got a response from Adobe and since August they no longer build the Linux binaries on Debian 7. They are now built in Ubuntu. So anyone trying to release a CEF based product for multiple Linux distros including Debian will have to build CEF themselves.

Any info on how to get a 32-bit linux build working would be helpful. I am not able to get a build to link on a 32-bit Debian VM and building the 32-bit version on a 64-bit machine seems unsupported.
Mayhew
Expert
 
Posts: 303
Joined: Mon Apr 18, 2011 8:02 pm

Re: GLIBC_2.14 not found on Debian 7

Postby magreenblatt » Mon Nov 17, 2014 1:40 pm

Mayhew wrote:Any info on how to get a 32-bit linux build working would be helpful. I am not able to get a build to link on a 32-bit Debian VM and building the 32-bit version on a 64-bit machine seems unsupported.

It may be unsupported, but I think it's the only way.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: GLIBC_2.14 not found on Debian 7

Postby Mayhew » Mon Nov 17, 2014 7:51 pm

Okay, it looks like the chroot path is the way to go. I am trying that.

I got 64-bit binaries to build in my Debian 7 VM. FWIW, the following packages were required to build the 64-bit binaries successfully on Debian using the automated build script

build-essential
linux-headers-$(uname -r)
pkg-config libc6-dev
libgtk2.0-dev
libgtkglext1-dev
libpulse-dev
libxtst-dev
libxss-dev
libdrm-dev
libgconf2-dev
libgnome-keyring-dev
libpci-dev
libnss3-dev
libudev-dev
libcap-dev
gperf
libexif-dev
bison
libasound2-dev
git
libexpat1-dev
libfreetype6-dev
libbz2-dev
libcups2-dev
libssl-dev
Mayhew
Expert
 
Posts: 303
Joined: Mon Apr 18, 2011 8:02 pm

Re: GLIBC_2.14 not found on Debian 7

Postby Mayhew » Tue Nov 18, 2014 3:09 pm

I see the following linker error when attempting to build the 32 bit binaries in a 32-bit wheezy chroot

[11365/11405] SOLINK lib/libcef.so
FAILED: if [ ! -e lib/libcef.so -o ! -e lib/libcef.so.TOC ]; then c++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -m32 -Wl,--no-as-needed -o lib/libcef.so -Wl,-soname=libcef.so @lib/libcef.so.rsp && { readelf -d lib/libcef.so | grep SONAME ; nm -gD -f p lib/libcef.so | cut -f1-2 -d' '; } > lib/libcef.so.TOC; else c++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -m32 -Wl,--no-as-needed -o lib/libcef.so -Wl,-soname=libcef.so @lib/libcef.so.rsp && { readelf -d lib/libcef.so | grep SONAME ; nm -gD -f p lib/libcef.so | cut -f1-2 -d' '; } > lib/libcef.so.tmp && if ! cmp -s lib/libcef.so.tmp lib/libcef.so.TOC; then mv lib/libcef.so.tmp lib/libcef.so.TOC ; fi; fi
obj/third_party/webrtc/modules/librtp_rtcp.a: member obj/third_party/webrtc/modules/rtp_rtcp/source/rtp_rtcp.rtp_sender_video.o in archive is not an object
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "./automate-git.py", line 898, in <module>
if options.buildlogfile else None)
File "./automate-git.py", line 74, in run
shell=(sys.platform == 'win32'))
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', 'out/Debug', 'cefclient', 'chrome_sandbox']' returned non-zero exit status 1

Any clues as to what is happening here?
Mayhew
Expert
 
Posts: 303
Joined: Mon Apr 18, 2011 8:02 pm

PreviousNext

Return to Support Forum

Who is online

Users browsing this forum: delta42, Majestic-12 [Bot] and 96 guests