升级到Debian 7.5;现在'memcpy@GLIBC_2.14'未定义

时间:2014-06-22 00:57:08

标签: 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.

事情是,我在同一台机器上构建了升级日志库,它运行正常,直到我做了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++,但没效果。

任何人都有任何想法在这里发生了什么?

1 个答案:

答案 0 :(得分:3)

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