A week ago I could compile and link my project (C++) with no issues. However, after doing a sudo apt-get dist-upgrade
earlier this week, I can no longer link my program.
The error I get is like so:
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.
Thing is, I built the boost log library on this same machine, and it worked fine until I did a dist-upgrade
.
I had several other problems with include files before this, and I fixed it by reinstalling gcc-4.7
and gcc-4.7-base
. I tried reinstalling libc
as well, with: sudo aptitude reinstall libc6 libc6-dbg libc6-dev
, but it didn't fix anything.
I also tried reinstalling a whole slew of packages that had glib
in the name:
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
I also tried reinstalling build-essentials
, gcc
, and g++
, to no effect.
Anyone have any ideas what is going on here?
You need to recompile the Boost log library against the upgraded glibc. The .so file you have now was compiled against a previous version.