Eu tenho um aplicativo personalizado que vem com o seu próprio libstdc ++. so.6 e requer que cap_net_admin e cap_net_raw funcionem corretamente. br> Antes de definir os recursos de arquivo, ele começa sem problemas, mas quando eu configuro:
/sbin/setcap cap_net_admin,cap_net_raw+pie /path/to/customapp
apresenta o seguinte erro:
./customapp: /usr/lib/i386-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found (required by ./customapp)
Quando eu faço readelf -d
, ele mostra que está procurando por bibliotecas no local correto:
0x0000000f (RPATH) Library rpath: [$ORIGIN/lib]
e ldd ./customapp
mostram o mesmo:
libstdc++.so.6 => /path/to/./lib/libstdc++.so.6 (0xb75ed000)
Eu segui o conselho dado aqui e incluiu o novo caminho da biblioteca compartilhada em ld.so(1)
:
echo "/path/to/lib" > /etc/ld.so.conf.d/customapp.conf && ldconfig
Eu tentei isso no Ubuntu 14.04 e ele funciona bem lá então porque ele não funciona no Debian?
OS: Debian GNU / Linux 7.6 (wheezy)
uname -a
: Linux debsrv 3.2.0-4-686-pae # 1 SMP Debian 3.2.60-1 + deb7u3 i686 GNU / Linux