자체적인 사용자 정의 애플리케이션이 있습니다.libstdc++.so.6소요된다cap_net_admin그리고cap_net_raw제대로 작동하려면.
파일 기능을 설정하기 전에는 문제 없이 시작되었지만 설정한 후에는 다음과 같습니다.
/sbin/setcap cap_net_admin,cap_net_raw+pie /path/to/customapp
다음과 같은 오류가 발생합니다.
./customapp: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ./customapp)
이렇게 하면 readelf -d
올바른 위치에서 라이브러리를 찾고 있음이 표시됩니다.
0x0000000f (RPATH) Library rpath: [$ORIGIN/lib]
그리고 ldd ./customapp
같은 내용을 표시합니다:
libstdc++.so.6 => /path/to/./lib/libstdc++.so.6 (0xb75ed000)
나는 주어진 조언을 따랐다.여기새 공유 라이브러리 경로를 다음에 추가하십시오 ld.so(1)
.
echo "/path/to/lib" > /etc/ld.so.conf.d/customapp.conf && ldconfig
Ubuntu 14.04에서 시도했는데 잘 작동했는데 왜 Debian에서는 작동하지 않습니까?
운영 체제: Debian GNU/Linux 7.6(gasp)
uname -a
: Linux debsrv 3.2.0-4-686-pae #1 SMP Debian 3.2.60-1+deb7u3 i686 GNU/Linux