mudflap 라이브러리가 설치되어 있지 않고 다른 glibc 버전이있는 다른 Linux 배포판에서 프로그램을 실행해야합니다. 나는 -static 내 프로그램을 컴파일 시도했지만 그것은 불가능하다 :gcc -nostdlib 및 mudflap
warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
그래서, 내가 -nostdlib을 시도하고 수동으로 libs와 연결 만 얻을 이러한 오류 :
[email protected]:~/Desktop$ gcc -nostdlib -Wl,-dynamic-linker,/home/myuser/Desktop/ld-linux-x86-64.so.2,-rpath,/home/myuser/Desktop /home/myuser/Desktop/libc.so.6 -fmudflap /home/myuser/Desktop/libmudflap.so.0 /home/myuser/Desktop/libdl.so.2 simple.c [email protected]:~/Desktop$ ./a.out mf: dlsym("mmap") = NULL Aborted (core dumped) [email protected]:~/Desktop$ ldd a.out linux-vdso.so.1 => (0x00007fff2bad2000) libc.so.6 => /home/myuser/Desktop/libc.so.6 (0x00007fddfd521000) libmudflap.so.0 => /home/myuser/Desktop/libmudflap.so.0 (0x00007fddfd175000) libdl.so.2 => /home/myuser/Desktop/libdl.so.2 (0x00007fddfcf70000) /home/myuser/Desktop/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007fddfd884000) [email protected]:~/Desktop$
- 어느 게 정말 쓰이고 있니? 내 바탕 화면이나/lib64에있는 파일?
- 올바르게 컴파일하려면 어떤 다른 플래그가 포함되어야합니까?
다른 컴퓨터에 배포하는 프로그램에서 mudflap을 사용하는 이유가 있습니까? 그것은 디버깅 도구입니다 ... –