title: undefined symbol: memset, version GLIBC_2.2.5
body: <p>I am getting this:</p>
  
  <p>./ListBench: symbol lookup error: /usr/lib/libfoo.so: undefined symbol: memset, version GLIBC_2.2.5</p>
  
  <p>Why is memset undefined in libc.so? </p>
  
  <pre><code># ldd /usr/lib/foo.so
  linux-vdso.so.1 =&gt;  (0x00007fff167ff000)
  libc.so.6 =&gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2f907eb000)
  librt.so.1 =&gt; /lib/x86_64-linux-gnu/librt.so.1 (0x00007f2f905e3000)
  libpthread.so.0 =&gt; /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2f903c6000)
  /lib64/ld-linux-x86-64.so.2 (0x00007f2f90d86000)
  
  # nm /lib/x86_64-linux-gnu/libc.so.6 | grep memset
  nm: /lib/x86_64-linux-gnu/libc.so.6: no symbols
  
  # objdump -T /lib/x86_64-linux-gnu/libc.so.6 | grep memset
  00000000000904e0 g    DF .text  0000000000000066  GLIBC_2.2.5 wmemset
  00000000000f0620 g    DF .text  0000000000000017  GLIBC_2.4   __wmemset_chk
  0000000000083690 g   iD  .text  0000000000000029  GLIBC_2.2.5 memset
  00000000000ecec0 g   iD  .text  0000000000000029  GLIBC_2.3.4 __memset_chk
  
  # ldd --version
  ldd (Debian EGLIBC 2.13-38) 2.13
  </code></pre>
  
  <p>foo.so is compiled using</p>
  
  <pre><code>gcc -shared -g -std=gnu99 -pedantic -fPIC -Wall -Wno-unused -fno-strict-aliasing  -o libfoo.so sync.o ksnap.o time_util.o bitmap.o -lc -pthread -lrt;
  </code></pre>