c++ - 升级至Debian 7.5;现在 'memcpy@GLIBC_2.14' 未定义

标签 c++ gcc debian glibc

一周前,我可以毫无问题地编译和链接我的项目(C++)。但是,在本周早些时候执行 sudo apt-get dist-upgrade 后,我无法再链接我的程序。

我得到的错误是这样的:

Compiling CEF Client
scons: Reading SConscript files ...
Compiling cef_client
Build type: release-with-debug
scons: done reading SConscript files.
scons: Building targets ...
Compiling ==> 'AttributeBinding.cpp'
Compiling ==> 'ClientApp.cpp'
Compiling ==> 'DuplicateAttributeException.cpp'
Compiling ==> 'DuplicateFunctionException.cpp'
Compiling ==> 'FunctionBinding.cpp'
Compiling ==> 'Main.cpp'
Compiling ==> 'ObjectBinding.cpp'
Compiling ==> 'Logger.cpp'
Linking program ==> 'cef3_client'
/home/jarrett/projects/icebreakers/glr/deps/boost/lib/libboost_log.so: undefined reference to `memcpy@GLIBC_2.14'
collect2: error: ld returned 1 exit status
scons: *** [build/cef3_client] Error 1
scons: building terminated because of errors.

事实是,我在同一台机器上构建了 boost 日志库,并且在我进行dist-upgrade 之前它工作得很好。

在此之前,我还遇到了包含文件方面的其他问题,我通过重新安装 gcc-4.7gcc-4.7-base 修复了该问题。我也尝试使用以下命令重新安装 libc:sudo aptitude reinstall libc6 libc6-dbg libc6-dev,但它没有修复任何问题。

我还尝试重新安装大量名称中包含 glib 的软件包:

sudo aptitude reinstall gir1.2-glib-2.0 gir1.2-telepathyglib-0.12 gir1.2-upowerglib-1.0 glib-networking glib-networking-common glib-networking-services libavahi-glib1 libcglib-java libdbus-glib-1-2 libdbus-glib-1-dev libdbus-glib1.0-cil libgeocode-glib0 libghc-glib-dev libglib-perl libglib2.0-0 libglib2.0-bin libglib2.0-cil libglib2.0-cil-dev libglib2.0-data libglib2.0-dev libglibmm-2.4-1c2a libglibmm-2.4-dev libjson-glib-1.0-0 libnm-glib-vpn1 libnm-glib4 libpackagekit-glib2-14 libpoppler-glib8 libpulse-mainloop-glib0 libsofia-sip-ua-glib3 libtelepathy-glib0 libupower-glib1

我还尝试重新安装 build-essentialsgccg++,但没有效果。

有人知道这里发生了什么吗?

最佳答案

您需要针对升级后的glibc重新编译Boost日志库。您现在拥有的 .so 文件是针对以前的版本编译的。

关于c++ - 升级至Debian 7.5;现在 'memcpy@GLIBC_2.14' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347227/

相关文章:

c++ - 如何在 Qt 5 中使用 LibVLC

linux - 如何链接到 GCC 中特定版本的共享库

angularjs - 运行 grunt "concurrent:test"由于警告而中止

debian - 如何使用 "Unix networking programming book"库编译 C 代码?

docker - 如何在 docker debian :jessie 上安装 oracle-java8-installer

c++ - 错误 : no match for 'operator[]' in. .. <接近匹配>

c++ - 无法在 Visual Studio 2012 中编译项目

c++ - 对 Makefile.win 中函数的 undefined reference

c++ - "this"指针只是编译时的东西吗?

c++ - 来自 std 的 unordered_set